sample project as-is
[Mograsim.git] / SampleERCP / src / sampleercp / parts / SamplePart.java
diff --git a/SampleERCP/src/sampleercp/parts/SamplePart.java b/SampleERCP/src/sampleercp/parts/SamplePart.java
new file mode 100644 (file)
index 0000000..d31046f
--- /dev/null
@@ -0,0 +1,56 @@
+package sampleercp.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