Renamed mograsim to net.mograsim
[Mograsim.git] / SampleERCP / src / net / mograsim / rcp / parts / SamplePart.java
1 package net.mograsim.rcp.parts;\r
2 \r
3 import java.util.Arrays;\r
4 import java.util.List;\r
5 \r
6 import javax.annotation.PostConstruct;\r
7 import javax.inject.Inject;\r
8 \r
9 import org.eclipse.e4.ui.di.Focus;\r
10 import org.eclipse.e4.ui.di.Persist;\r
11 import org.eclipse.e4.ui.model.application.ui.basic.MPart;\r
12 import org.eclipse.jface.viewers.ArrayContentProvider;\r
13 import org.eclipse.jface.viewers.TableViewer;\r
14 import org.eclipse.swt.SWT;\r
15 import org.eclipse.swt.layout.GridData;\r
16 import org.eclipse.swt.layout.GridLayout;\r
17 import org.eclipse.swt.widgets.Composite;\r
18 import org.eclipse.swt.widgets.Text;\r
19 \r
20 public class SamplePart\r
21 {\r
22 \r
23         private TableViewer tableViewer;\r
24 \r
25         @Inject\r
26         private MPart part;\r
27 \r
28         @PostConstruct\r
29         public void createComposite(Composite parent)\r
30         {\r
31                 parent.setLayout(new GridLayout(1, false));\r
32 \r
33                 Text txtInput = new Text(parent, SWT.BORDER);\r
34                 txtInput.setMessage("Enter text to mark part as dirty");\r
35                 txtInput.addModifyListener(e -> part.setDirty(true));\r
36                 txtInput.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));\r
37 \r
38                 tableViewer = new TableViewer(parent);\r
39 \r
40                 tableViewer.setContentProvider(ArrayContentProvider.getInstance());\r
41                 tableViewer.setInput(createInitialDataModel());\r
42                 tableViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));\r
43         }\r
44 \r
45         @Focus\r
46         public void setFocus()\r
47         {\r
48                 tableViewer.getTable().setFocus();\r
49         }\r
50 \r
51         @Persist\r
52         public void save()\r
53         {\r
54                 part.setDirty(false);\r
55         }\r
56 \r
57         private static List<String> createInitialDataModel()\r
58         {\r
59                 return Arrays.asList("Sample item 1", "Sample item 2", "Sample item 3", "Sample item 4", "Sample item 5");\r
60         }\r
61 }