Skip to content

Commit faf7f81

Browse files
committed
[GEF] Remove deprecated TreeEditPart
With this our "Design" and "Root" tree edit-part now extends the `AbstractTreeEditPart` directly. Note that refresh doesn't recursively refresh its children, unlike our edit-parts.
1 parent 749b524 commit faf7f81

File tree

5 files changed

+42
-204
lines changed

5 files changed

+42
-204
lines changed

org.eclipse.wb.core/src-gef/org/eclipse/wb/gef/tree/DesignTreeEditPart.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,14 @@
1414

1515
import org.eclipse.wb.gef.core.RequestProcessor;
1616
import org.eclipse.wb.gef.core.policies.IRequestEditPolicy;
17+
import org.eclipse.wb.internal.gef.tree.tools.DoubleClickEditPartTracker;
1718

19+
import org.eclipse.gef.DragTracker;
1820
import org.eclipse.gef.EditPart;
1921
import org.eclipse.gef.EditPolicy;
2022
import org.eclipse.gef.Request;
2123
import org.eclipse.gef.commands.Command;
24+
import org.eclipse.gef.editparts.AbstractTreeEditPart;
2225

2326
import java.util.ArrayList;
2427
import java.util.List;
@@ -28,8 +31,7 @@
2831
*
2932
* @see {@link RequestProcessor}
3033
*/
31-
@SuppressWarnings("removal")
32-
public abstract class DesignTreeEditPart extends TreeEditPart {
34+
public abstract class DesignTreeEditPart extends AbstractTreeEditPart {
3335

3436
////////////////////////////////////////////////////////////////////////////
3537
//
@@ -125,4 +127,15 @@ public void showTargetFeedback(Request request) {
125127
public void eraseTargetFeedback(Request request) {
126128
super.eraseTargetFeedback(processRequestProcessors(request));
127129
}
130+
131+
////////////////////////////////////////////////////////////////////////////
132+
//
133+
// DragTracking
134+
//
135+
////////////////////////////////////////////////////////////////////////////
136+
@Override
137+
public DragTracker getDragTracker(Request request) {
138+
return new DoubleClickEditPartTracker(this);
139+
}
140+
128141
}

org.eclipse.wb.core/src-gef/org/eclipse/wb/gef/tree/TreeEditPart.java

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

org.eclipse.wb.core/src-gef/org/eclipse/wb/internal/gef/tree/RootEditPart.java

Lines changed: 7 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,8 @@
1212
*******************************************************************************/
1313
package org.eclipse.wb.internal.gef.tree;
1414

15-
import org.eclipse.wb.gef.core.IEditPartViewer;
16-
import org.eclipse.wb.gef.tree.DesignTreeEditPart;
17-
18-
import org.eclipse.gef.EditPart;
19-
import org.eclipse.gef.EditPartViewer;
2015
import org.eclipse.gef.TreeEditPart;
16+
import org.eclipse.gef.editparts.RootTreeEditPart;
2117
import org.eclipse.swt.SWT;
2218
import org.eclipse.swt.widgets.Tree;
2319
import org.eclipse.swt.widgets.TreeItem;
@@ -27,66 +23,18 @@
2723
* @author lobas_av
2824
* @coverage gef.tree
2925
*/
30-
public class RootEditPart extends DesignTreeEditPart implements org.eclipse.gef.RootEditPart {
31-
private IEditPartViewer m_viewer;
32-
private TreeEditPart m_contentEditPart;
33-
34-
////////////////////////////////////////////////////////////////////////////
35-
//
36-
// EditPart
37-
//
38-
////////////////////////////////////////////////////////////////////////////
39-
/**
40-
* Returns the root's {@link EditPartViewer}.
41-
*/
42-
@Override
43-
public IEditPartViewer getViewer() {
44-
return m_viewer;
45-
}
46-
47-
@Override
48-
public void setViewer(EditPartViewer viewer) {
49-
m_viewer = (IEditPartViewer) viewer;
50-
}
51-
26+
public class RootEditPart extends RootTreeEditPart {
5227
@Override
5328
protected void addChildVisual(org.eclipse.gef.EditPart childPart, int index) {
54-
m_contentEditPart.setWidget(new TreeItem(getTreeControl(), SWT.NONE));
55-
}
56-
57-
private Tree getTreeControl() {
58-
return (Tree) m_viewer.getControl();
29+
getContents().setWidget(new TreeItem(getWidget(), SWT.NONE));
5930
}
60-
61-
////////////////////////////////////////////////////////////////////////////
62-
//
63-
// IRootEditPart
64-
//
65-
////////////////////////////////////////////////////////////////////////////
66-
67-
/**
68-
* Returns the <i>content</i> {@link EditPart}.
69-
*/
7031
@Override
71-
public EditPart getContents() {
72-
return m_contentEditPart;
32+
public Tree getWidget() {
33+
return (Tree) getViewer().getControl();
7334
}
7435

75-
/**
76-
* Sets the <i>content</i> {@link EditPart}. A IRootEditPart only has a single child, called its
77-
* <i>contents</i>.
78-
*/
7936
@Override
80-
public void setContents(org.eclipse.gef.EditPart contentEditPart) {
81-
if (m_contentEditPart != null) {
82-
// remove content
83-
removeChild(m_contentEditPart);
84-
}
85-
//
86-
m_contentEditPart = (TreeEditPart) contentEditPart;
87-
//
88-
if (m_contentEditPart != null) {
89-
addChild(m_contentEditPart, -1);
90-
}
37+
public TreeEditPart getContents() {
38+
return (TreeEditPart) super.getContents();
9139
}
9240
}

org.eclipse.wb.core/src/org/eclipse/wb/core/gefTree/part/ObjectEditPart.java

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import org.eclipse.swt.widgets.Event;
3434
import org.eclipse.swt.widgets.Listener;
3535
import org.eclipse.swt.widgets.Tree;
36+
import org.eclipse.swt.widgets.TreeItem;
3637

3738
import java.util.ArrayList;
3839
import java.util.Collections;
@@ -92,7 +93,7 @@ public void refreshed() throws Exception {
9293
// do in setRedraw(false) to avoid flashing after component moving
9394
tree.setRedraw(false);
9495
try {
95-
refresh();
96+
refresh(ObjectEditPart.this);
9697
{
9798
setSelectionIfAllEditParts(m_delayedSelectionObjects);
9899
m_delayedSelectionObjects = null;
@@ -103,6 +104,13 @@ public void refreshed() throws Exception {
103104
}
104105
}
105106

107+
private void refresh(EditPart editPart) {
108+
editPart.refresh();
109+
for (EditPart child : editPart.getChildren()) {
110+
refresh(child);
111+
}
112+
}
113+
106114
@Override
107115
public void select(List<? extends ObjectInfo> objects) throws Exception {
108116
m_delayedSelectionObjects = null;
@@ -173,26 +181,27 @@ private void update() {
173181
}
174182

175183
private void update0() {
184+
if (getWidget() instanceof Tree) {
185+
return;
186+
}
187+
TreeItem treeItem = (TreeItem) getWidget();
188+
176189
ImageDescriptor imageDescriptor = ObjectInfo.getImageDescriptor(m_object);
177190
String text = ObjectInfo.getText(m_object);
178191
if (imageDescriptor != null) {
179192
Image image = imageDescriptor.createImage();
180-
getWidget().addDisposeListener(event -> image.dispose());
181-
getWidget().setImage(image);
193+
treeItem.addDisposeListener(event -> image.dispose());
194+
treeItem.setImage(image);
182195
}
183196
//Obtain the preference specifying the root object name. If no name is specified then the default is used
184197
String rootObjectName =
185198
InstanceScope.INSTANCE.getNode(IEditorPreferenceConstants.WB_BASIC_UI_PREFERENCE_NODE).get(
186199
IEditorPreferenceConstants.WB_ROOT_OBJ_NAME,
187200
null);
188-
if (getWidget().getParentItem() == null) {
189-
if (rootObjectName == null) {
190-
getWidget().setText(text);
191-
} else {
192-
getWidget().setText(rootObjectName);
193-
}
201+
if (treeItem.getParentItem() == null && rootObjectName != null) {
202+
treeItem.setText(rootObjectName);
194203
} else {
195-
getWidget().setText(text);
204+
treeItem.setText(text);
196205
}
197206
}
198207

org.eclipse.wb.tests/src/org/eclipse/wb/tests/gef/TreeToolTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ public void performRequest(Request request) {
255255

256256
@Override
257257
protected void refreshVisuals() {
258-
getWidget().setText(m_name);
258+
((TreeItem) getWidget()).setText(m_name);
259259
}
260260

261261
@Override

0 commit comments

Comments
 (0)