Skip to content

Commit 51c14d4

Browse files
committed
Updated adapter sample to Java 8, Eclipse 4 and make use of new Java 8
API Change-Id: I4d5ad122783097086c07884590268946189a20a8 Signed-off-by: Simon Scholz <[email protected]>
1 parent 45835db commit 51c14d4

File tree

10 files changed

+81
-154
lines changed

10 files changed

+81
-154
lines changed

de.vogella.databinding.emf.table/src/de/vogella/databinding/emf/table/ExampleTableViewer.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@ public class ExampleTableViewer extends ViewPart {
2121

2222
@Override
2323
public void createPartControl(Composite parent) {
24-
24+
2525
// create a table viewer with visible header
2626
TableViewer viewer = new TableViewer(parent, SWT.FULL_SELECTION);
2727
viewer.getTable().setHeaderVisible(true);
28+
29+
getViewSite().setSelectionProvider(viewer);
2830

2931
// create an example model which will be visualized
3032
Model model = createModel();
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
<?xml version="1.0" encoding="UTF-8"?>
2-
<classpath>
3-
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
4-
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5-
<classpathentry kind="src" path="src"/>
6-
<classpathentry kind="output" path="bin"/>
7-
</classpath>
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<classpath>
3+
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
4+
<classpathentry kind="src" path="src"/>
5+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
6+
<classpathentry kind="output" path="bin"/>
7+
</classpath>
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
#Tue Apr 20 15:32:37 PDT 2010
21
eclipse.preferences.version=1
32
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
4-
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
5-
org.eclipse.jdt.core.compiler.compliance=1.6
3+
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4+
org.eclipse.jdt.core.compiler.compliance=1.8
65
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
76
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
8-
org.eclipse.jdt.core.compiler.source=1.6
7+
org.eclipse.jdt.core.compiler.source=1.8
Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
Manifest-Version: 1.0
22
Bundle-ManifestVersion: 2
33
Bundle-Name: Adapter
4-
Bundle-SymbolicName: de.vogella.plugin.adapter; singleton:=true
4+
Bundle-SymbolicName: de.vogella.plugin.adapter;singleton:=true
55
Bundle-Version: 1.0.0.qualifier
6-
Bundle-Activator: de.vogella.plugin.adapter.Activator
7-
Require-Bundle: org.eclipse.ui,
8-
org.eclipse.core.runtime,
6+
Require-Bundle: org.eclipse.core.runtime,
7+
org.eclipse.e4.ui.model.workbench;bundle-version="1.2.0.v20160229-1459",
8+
org.eclipse.e4.ui.services;bundle-version="1.2.100",
9+
org.eclipse.e4.ui.workbench;bundle-version="1.4.0",
10+
org.eclipse.ui,
911
org.eclipse.ui.views;bundle-version="3.4.1"
1012
Bundle-ActivationPolicy: lazy
11-
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
13+
Bundle-RequiredExecutionEnvironment: JavaSE-1.8

de.vogella.plugin.adapter/contexts.xml

Lines changed: 0 additions & 12 deletions
This file was deleted.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="ASCII"?>
2+
<fragment:ModelFragments xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/descriptor/basic" xmlns:fragment="http://www.eclipse.org/ui/2010/UIModel/fragment" xmi:id="_v2MVMD-JEeajyYChQoCgXA">
3+
<fragments xsi:type="fragment:StringModelFragment" xmi:id="_x1_pwD-JEeajyYChQoCgXA" featurename="descriptors" parentElementId="xpath:/">
4+
<elements xsi:type="basic:PartDescriptor" xmi:id="_0UQb8D-JEeajyYChQoCgXA" elementId="de.vogella.plugin.adapter.partdescriptor.sampleview" label="Sample View" contributionURI="bundleclass://de.vogella.plugin.adapter/de.vogella.plugin.adapter.views.SampleView">
5+
<tags>View</tags>
6+
</elements>
7+
</fragments>
8+
</fragment:ModelFragments>
Lines changed: 22 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,22 @@
1-
<?xml version="1.0" encoding="UTF-8"?>
2-
<?eclipse version="3.4"?>
3-
<plugin>
4-
5-
<extension
6-
point="org.eclipse.ui.views">
7-
<category
8-
name="Sample Category"
9-
id="de.vogella.plugin.adapter">
10-
</category>
11-
<view
12-
name="Sample View"
13-
icon="icons/sample.gif"
14-
category="de.vogella.plugin.adapter"
15-
class="de.vogella.plugin.adapter.views.SampleView"
16-
id="de.vogella.plugin.adapter.views.SampleView">
17-
</view>
18-
</extension>
19-
<extension
20-
point="org.eclipse.ui.perspectiveExtensions">
21-
<perspectiveExtension
22-
targetID="org.eclipse.jdt.ui.JavaPerspective">
23-
<view
24-
ratio="0.5"
25-
relative="org.eclipse.ui.views.TaskList"
26-
relationship="right"
27-
id="de.vogella.plugin.adapter.views.SampleView">
28-
</view>
29-
</perspectiveExtension>
30-
</extension>
31-
<extension
32-
point="org.eclipse.core.runtime.adapters">
33-
<factory
34-
adaptableType="de.vogella.plugin.adapter.model.Todo"
35-
class="de.vogella.plugin.adapter.TodoAdapterFactory">
36-
<adapter
37-
type="org.eclipse.ui.views.properties.IPropertySource">
38-
</adapter>
39-
</factory>
40-
</extension>
41-
42-
</plugin>
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<plugin>
3+
4+
<extension
5+
point="org.eclipse.core.runtime.adapters">
6+
<factory
7+
class="de.vogella.plugin.adapter.TodoAdapterFactory"
8+
adaptableType="de.vogella.plugin.adapter.model.Todo">
9+
<adapter
10+
type="org.eclipse.ui.views.properties.IPropertySource">
11+
</adapter>
12+
</factory>
13+
</extension>
14+
<extension
15+
id="de.vogella.plugin.adapter.fragment"
16+
point="org.eclipse.e4.workbench.model">
17+
<fragment
18+
uri="fragment.e4xmi">
19+
</fragment>
20+
</extension>
21+
22+
</plugin>

de.vogella.plugin.adapter/src/de/vogella/plugin/adapter/Activator.java

Lines changed: 0 additions & 61 deletions
This file was deleted.

de.vogella.plugin.adapter/src/de/vogella/plugin/adapter/model/Todo.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
11
package de.vogella.plugin.adapter.model;
22

33
public class Todo {
4+
45
private String summary;
56
private String description;
7+
68
public String getSummary() {
79
return summary;
810
}
11+
912
public void setSummary(String summary) {
1013
this.summary = summary;
1114
}
15+
1216
public String getDescription() {
1317
return description;
1418
}
19+
1520
public void setDescription(String description) {
1621
this.description = description;
1722
}
Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
11
package de.vogella.plugin.adapter.views;
22

3+
import java.util.ArrayList;
4+
import java.util.List;
5+
6+
import javax.annotation.PostConstruct;
7+
8+
import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
39
import org.eclipse.jface.viewers.ArrayContentProvider;
10+
import org.eclipse.jface.viewers.ISelectionChangedListener;
411
import org.eclipse.jface.viewers.ITableLabelProvider;
512
import org.eclipse.jface.viewers.LabelProvider;
13+
import org.eclipse.jface.viewers.SelectionChangedEvent;
614
import org.eclipse.jface.viewers.TableViewer;
715
import org.eclipse.swt.SWT;
816
import org.eclipse.swt.graphics.Image;
917
import org.eclipse.swt.widgets.Composite;
1018
import org.eclipse.ui.ISharedImages;
1119
import org.eclipse.ui.PlatformUI;
12-
import org.eclipse.ui.part.ViewPart;
1320

1421
import de.vogella.plugin.adapter.model.Todo;
1522

16-
public class SampleView extends ViewPart {
17-
public static final String ID = "de.vogella.plugin.adapter.views.SampleView";
23+
public class SampleView {
1824

1925
private TableViewer viewer;
2026

21-
class ViewLabelProvider extends LabelProvider implements
22-
ITableLabelProvider {
27+
class ViewLabelProvider extends LabelProvider implements ITableLabelProvider {
2328
public String getColumnText(Object obj, int index) {
2429
Todo todo = (Todo) obj;
2530
return todo.getSummary();
@@ -30,43 +35,42 @@ public Image getColumnImage(Object obj, int index) {
3035
}
3136

3237
public Image getImage(Object obj) {
33-
return PlatformUI.getWorkbench().getSharedImages()
34-
.getImage(ISharedImages.IMG_OBJ_ELEMENT);
38+
return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT);
3539
}
3640
}
3741

3842
/**
3943
* This is a callback that will allow us to create the viewer and initialize
4044
* it.
4145
*/
42-
public void createPartControl(Composite parent) {
43-
viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL
44-
| SWT.V_SCROLL);
46+
@PostConstruct
47+
public void createPartControl(Composite parent, ESelectionService selectionService) {
48+
viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
4549
viewer.setContentProvider(new ArrayContentProvider());
4650
viewer.setLabelProvider(new ViewLabelProvider());
47-
getSite().setSelectionProvider(viewer);
48-
viewer.setInput(getElements());
51+
viewer.addSelectionChangedListener(new ISelectionChangedListener() {
4952

50-
}
53+
@Override
54+
public void selectionChanged(SelectionChangedEvent event) {
55+
selectionService.setSelection(event.getSelection());
56+
}
57+
});
5158

52-
/**
53-
* Passing the focus request to the viewer's control.
54-
*/
55-
public void setFocus() {
56-
viewer.getControl().setFocus();
59+
viewer.setInput(getElements());
5760
}
5861

5962
// Build up a simple data model
60-
private Todo[] getElements() {
61-
Todo[] todos = new Todo[2];
63+
private List<Todo> getElements() {
64+
List<Todo> todos = new ArrayList<>();
6265
Todo todo = new Todo();
6366
todo.setSummary("First Todo");
6467
todo.setDescription("A very good description");
65-
todos[0] = todo;
68+
todos.add(todo);
6669
todo = new Todo();
6770
todo.setSummary("Second Todo");
6871
todo.setDescription("Second super description");
69-
todos[1] = todo;
72+
todos.add(todo);
73+
7074
return todos;
7175
}
7276
}

0 commit comments

Comments
 (0)