-package net.mograsim.rcp.parts;
-
-import java.util.Arrays;
-import java.util.List;
-
-import javax.annotation.PostConstruct;
-import javax.inject.Inject;
-
-import org.eclipse.e4.ui.di.Focus;
-import org.eclipse.e4.ui.di.Persist;
-import org.eclipse.e4.ui.model.application.ui.basic.MPart;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-
-public class SamplePart
-{
-
- private TableViewer tableViewer;
-
- @Inject
- private MPart part;
-
- @PostConstruct
- public void createComposite(Composite parent)
- {
- parent.setLayout(new GridLayout(1, false));
-
- Text txtInput = new Text(parent, SWT.BORDER);
- txtInput.setMessage("Enter text to mark part as dirty");
- txtInput.addModifyListener(e -> part.setDirty(true));
- txtInput.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- tableViewer = new TableViewer(parent);
-
- tableViewer.setContentProvider(ArrayContentProvider.getInstance());
- tableViewer.setInput(createInitialDataModel());
- tableViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
- }
-
- @Focus
- public void setFocus()
- {
- tableViewer.getTable().setFocus();
- }
-
- @Persist
- public void save()
- {
- part.setDirty(false);
- }
-
- private static List<String> createInitialDataModel()
- {
- return Arrays.asList("Sample item 1", "Sample item 2", "Sample item 3", "Sample item 4", "Sample item 5");
- }
-}
\ No newline at end of file