Skip to content

Commit 2d82c8e

Browse files
committed
[GEF] Harmonize Source Feedback handling in EditPart with upstream class
This is a continuation of 1ea6950. The `eraseSourceFeedback(Request)` and `showSourceFeedback(Request)` methods inside an `EditPart` should not check whether its `EditPolicy` understands the request; This should instead be done by the edit policies themselves.
1 parent a177ac7 commit 2d82c8e

17 files changed

Lines changed: 98 additions & 79 deletions

File tree

org.eclipse.wb.core.java/src/org/eclipse/wb/core/gef/policy/selection/TopSelectionEditPolicy.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,13 +94,17 @@ public Command getCommand(Request request) {
9494
@Override
9595
//@edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "BC_UNCONFIRMED_CAST")
9696
public void showSourceFeedback(Request request) {
97-
showResizeFeedback((ChangeBoundsRequest) request);
97+
if (REQ_RESIZE.equals(request.getType())) {
98+
showResizeFeedback((ChangeBoundsRequest) request);
99+
}
98100
}
99101

100102
@Override
101103
//@edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "BC_UNCONFIRMED_CAST")
102104
public void eraseSourceFeedback(Request request) {
103-
eraseResizeFeedback((ChangeBoundsRequest) request);
105+
if (REQ_RESIZE.equals(request.getType())) {
106+
eraseResizeFeedback((ChangeBoundsRequest) request);
107+
}
104108
}
105109

106110
////////////////////////////////////////////////////////////////////////////

org.eclipse.wb.core/src-gef/org/eclipse/wb/gef/core/EditPart.java

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -236,38 +236,6 @@ public void performRequest(Request request) {
236236
}
237237
}
238238

239-
////////////////////////////////////////////////////////////////////////////
240-
//
241-
// Source Feedback
242-
//
243-
////////////////////////////////////////////////////////////////////////////
244-
/**
245-
* Shows or updates source feedback for the given request. This method may be called multiple
246-
* times so that the feedback can be updated for changes in the request, such as the mouse
247-
* location changing.
248-
*/
249-
public void showSourceFeedback(Request request) {
250-
if (isActive()) {
251-
for (EditPolicy editPolicy : getUnderstandingPolicies(request)) {
252-
editPolicy.showSourceFeedback(request);
253-
}
254-
}
255-
}
256-
257-
/**
258-
* Erases <i>source</i> feedback for the specified {@link Request}. A {@link Request} is used to
259-
* describe the type of source feedback that should be erased. This method should only be called
260-
* once to erase feedback. It should only be called in conjunction with a prior call to
261-
* {@link #showSourceFeedback(Request)}.
262-
*/
263-
public void eraseSourceFeedback(Request request) {
264-
if (isActive()) {
265-
for (EditPolicy editPolicy : getUnderstandingPolicies(request)) {
266-
editPolicy.eraseSourceFeedback(request);
267-
}
268-
}
269-
}
270-
271239
////////////////////////////////////////////////////////////////////////////
272240
//
273241
// Target Feedback

org.eclipse.wb.core/src/org/eclipse/wb/core/gef/policy/layout/generic/AbstractColumnSelectionEditPolicy.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,13 +106,17 @@ public Command getCommand(Request request) {
106106
@Override
107107
//@edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "BC_UNCONFIRMED_CAST")
108108
public void showSourceFeedback(Request request) {
109-
showResizeFeedback((ChangeBoundsRequest) request);
109+
if (REQ_RESIZE.equals(request.getType())) {
110+
showResizeFeedback((ChangeBoundsRequest) request);
111+
}
110112
}
111113

112114
@Override
113115
//@edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "BC_UNCONFIRMED_CAST")
114116
public void eraseSourceFeedback(Request request) {
115-
eraseResizeFeedback((ChangeBoundsRequest) request);
117+
if (REQ_RESIZE.equals(request.getType())) {
118+
eraseResizeFeedback((ChangeBoundsRequest) request);
119+
}
116120
}
117121

118122
////////////////////////////////////////////////////////////////////////////

org.eclipse.wb.core/src/org/eclipse/wb/core/gef/policy/layout/grid/AbstractGridSelectionEditPolicy.java

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public void refreshed() throws Exception {
101101
/**
102102
* @return the cells {@link Rectangle} occupied by host component.
103103
*/
104-
private Rectangle getComponentCells() throws Exception {
104+
private Rectangle getComponentCells() {
105105
return getGridInfo().getComponentCells(m_component);
106106
}
107107

@@ -304,25 +304,21 @@ public boolean understandsRequest(Request request) {
304304

305305
@Override
306306
public void showSourceFeedback(Request request) {
307-
try {
308-
if (request instanceof ChangeBoundsRequest cbRequest) {
309-
if (REQ_RESIZE_SIZE.equals(request.getType())) {
310-
showSizeFeedback(cbRequest);
311-
}
312-
if (REQ_RESIZE_SPAN.equals(request.getType())) {
313-
showSpanFeedback(cbRequest);
314-
}
315-
}
316-
} catch (Throwable e) {
317-
DesignerPlugin.log(e);
307+
if (REQ_RESIZE_SIZE.equals(request.getType())) {
308+
showSizeFeedback((ChangeBoundsRequest) request);
309+
}
310+
if (REQ_RESIZE_SPAN.equals(request.getType())) {
311+
showSpanFeedback((ChangeBoundsRequest) request);
318312
}
319313
}
320314

321315
@Override
322316
public void eraseSourceFeedback(Request request) {
323-
if (m_lineFeedback != null) {
324-
removeFeedback(m_lineFeedback);
325-
m_lineFeedback = null;
317+
if (REQ_RESIZE_SIZE.equals(request.getType()) || REQ_RESIZE_SPAN.equals(request.getType())) {
318+
if (m_lineFeedback != null) {
319+
removeFeedback(m_lineFeedback);
320+
m_lineFeedback = null;
321+
}
326322
}
327323
}
328324

@@ -368,7 +364,7 @@ protected final Handle createSizeHandle(int direction, Locator locator) {
368364
/**
369365
* Shows feedback and creates command for resize.
370366
*/
371-
private void showSizeFeedback(ChangeBoundsRequest request) throws Exception {
367+
private void showSizeFeedback(ChangeBoundsRequest request) {
372368
// prepare new bounds
373369
Rectangle bounds = m_component.getModelBounds().getCopy();
374370
bounds.performTranslate(request.getMoveDelta());
@@ -449,7 +445,7 @@ protected final Handle createSpanHandle(int direction, Locator locator) {
449445
/**
450446
* Shows feedback and creates command for span.
451447
*/
452-
private void showSpanFeedback(ChangeBoundsRequest request) throws Exception {
448+
private void showSpanFeedback(ChangeBoundsRequest request) {
453449
IGridInfo gridInfo = getGridInfo();
454450
// prepare cells
455451
Rectangle cells = getComponentCells().getCopy();

org.eclipse.wb.layout.group/src/org/eclipse/wb/internal/layout/group/gef/GroupSelectionEditPolicy2.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,14 +188,18 @@ public boolean understandsRequest(Request request) {
188188

189189
@Override
190190
public void showSourceFeedback(Request request) {
191-
showResizeFeedback((ChangeBoundsRequest) request);
191+
if (REQ_RESIZE.equals(request.getType())) {
192+
showResizeFeedback((ChangeBoundsRequest) request);
193+
}
192194
}
193195

194196
@Override
195197
public void eraseSourceFeedback(Request request) {
196-
removeFeedbacks();
197-
m_resizeInProgress = false;
198-
m_movingBounds = null;
198+
if (REQ_RESIZE.equals(request.getType())) {
199+
removeFeedbacks();
200+
m_resizeInProgress = false;
201+
m_movingBounds = null;
202+
}
199203
}
200204

201205
private void showResizeFeedback(ChangeBoundsRequest request) {

org.eclipse.wb.rcp/src/org/eclipse/wb/internal/rcp/gef/policy/forms/layout/ColumnLayoutSelectionEditPolicy.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,16 @@ public Command getCommand(final Request request) {
103103

104104
@Override
105105
public void showSourceFeedback(Request request) {
106-
showResizeFeedback((ChangeBoundsRequest) request);
106+
if (REQ_RESIZE.equals(request.getType())) {
107+
showResizeFeedback((ChangeBoundsRequest) request);
108+
}
107109
}
108110

109111
@Override
110112
public void eraseSourceFeedback(Request request) {
111-
eraseResizeFeedback((ChangeBoundsRequest) request);
113+
if (REQ_RESIZE.equals(request.getType())) {
114+
eraseResizeFeedback((ChangeBoundsRequest) request);
115+
}
112116
}
113117

114118
////////////////////////////////////////////////////////////////////////////

org.eclipse.wb.rcp/src/org/eclipse/wb/internal/rcp/gef/policy/rcp/perspective/AbstractPartSelectionEditPolicy.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,12 +123,16 @@ public Command getCommand(final Request request) {
123123

124124
@Override
125125
public void showSourceFeedback(Request request) {
126-
showResizeFeedback((ChangeBoundsRequest) request);
126+
if (REQ_RESIZE.equals(request.getType())) {
127+
showResizeFeedback((ChangeBoundsRequest) request);
128+
}
127129
}
128130

129131
@Override
130132
public void eraseSourceFeedback(Request request) {
131-
eraseResizeFeedback((ChangeBoundsRequest) request);
133+
if (REQ_RESIZE.equals(request.getType())) {
134+
eraseResizeFeedback((ChangeBoundsRequest) request);
135+
}
132136
}
133137

134138
////////////////////////////////////////////////////////////////////////////

org.eclipse.wb.rcp/src/org/eclipse/wb/internal/rcp/gef/policy/widgets/SashFormSelectionEditPolicy.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,12 +117,16 @@ public Command getCommand(final Request request) {
117117

118118
@Override
119119
public void showSourceFeedback(Request request) {
120-
showResizeFeedback((ChangeBoundsRequest) request);
120+
if (REQ_RESIZE.equals(request.getType())) {
121+
showResizeFeedback((ChangeBoundsRequest) request);
122+
}
121123
}
122124

123125
@Override
124126
public void eraseSourceFeedback(Request request) {
125-
eraseResizeFeedback((ChangeBoundsRequest) request);
127+
if (REQ_RESIZE.equals(request.getType())) {
128+
eraseResizeFeedback((ChangeBoundsRequest) request);
129+
}
126130
}
127131

128132
////////////////////////////////////////////////////////////////////////////

org.eclipse.wb.rcp/src/org/eclipse/wb/internal/rcp/gef/policy/widgets/TreeTreeColumnSelectionEditPolicy.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,16 @@ public Command getCommand(final Request request) {
103103

104104
@Override
105105
public void showSourceFeedback(Request request) {
106-
showResizeFeedback((ChangeBoundsRequest) request);
106+
if (REQ_RESIZE.equals(request.getType())) {
107+
showResizeFeedback((ChangeBoundsRequest) request);
108+
}
107109
}
108110

109111
@Override
110112
public void eraseSourceFeedback(Request request) {
111-
eraseResizeFeedback((ChangeBoundsRequest) request);
113+
if (REQ_RESIZE.equals(request.getType())) {
114+
eraseResizeFeedback((ChangeBoundsRequest) request);
115+
}
112116
}
113117

114118
////////////////////////////////////////////////////////////////////////////

org.eclipse.wb.swing.FormLayout/src/org/eclipse/wb/internal/swing/FormLayout/gef/header/selection/DimensionSelectionEditPolicy.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,9 @@ public void execute() {
162162

163163
@Override
164164
public void showSourceFeedback(Request request) {
165+
if (!understandsRequest(request)) {
166+
return;
167+
}
165168
ChangeBoundsRequest changeBoundsRequest = (ChangeBoundsRequest) request;
166169
m_resizeCommand = null;
167170
// line feedback
@@ -223,6 +226,9 @@ private void updateFeedbackText(Request request, boolean snapToEnabled) {
223226

224227
@Override
225228
public void eraseSourceFeedback(Request request) {
229+
if (!understandsRequest(request)) {
230+
return;
231+
}
226232
removeFeedback(m_lineFeedback);
227233
m_lineFeedback = null;
228234
//

0 commit comments

Comments
 (0)