Author: max.andersen(a)jboss.com
Date: 2008-06-10 01:58:36 -0400 (Tue, 10 Jun 2008)
New Revision: 8658
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui.pages/src/org/jboss/tools/seam/ui/pages/editor/edit/LinkEndpointEditPolicy.java
trunk/seam/plugins/org.jboss.tools.seam.ui.pages/src/org/jboss/tools/seam/ui/pages/editor/figures/ConnectionFigure.java
Log:
proper hanlding of selection in seam pagse.xml editor
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui.pages/src/org/jboss/tools/seam/ui/pages/editor/edit/LinkEndpointEditPolicy.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui.pages/src/org/jboss/tools/seam/ui/pages/editor/edit/LinkEndpointEditPolicy.java 2008-06-09
22:49:41 UTC (rev 8657)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui.pages/src/org/jboss/tools/seam/ui/pages/editor/edit/LinkEndpointEditPolicy.java 2008-06-10
05:58:36 UTC (rev 8658)
@@ -7,7 +7,7 @@
*
* Contributors:
* Exadel, Inc. and Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
+ ******************************************************************************/
package org.jboss.tools.seam.ui.pages.editor.edit;
import java.util.ArrayList;
@@ -30,29 +30,30 @@
import org.eclipse.gef.tools.ConnectionEndpointTracker;
import org.jboss.tools.seam.ui.pages.editor.dnd.DndHelper;
import org.jboss.tools.seam.ui.pages.editor.ecore.pages.Link;
+import org.jboss.tools.seam.ui.pages.editor.figures.ConnectionFigure;
import org.jboss.tools.seam.ui.pages.editor.figures.FigureFactory;
public class LinkEndpointEditPolicy
extends org.eclipse.gef.editpolicies.ConnectionEndpointEditPolicy {
- private List JSFhandles = null;
+ private List handles = null;
private void addJSFHandles() {
removeJSFHandles();
- JSFhandles = createJSFHandles();
+ handles = createHandles();
IFigure layer = getLayer(LayerConstants.HANDLE_LAYER);
- for (int i = 0; i < JSFhandles.size(); i++)
- layer.add((IFigure) JSFhandles.get(i));
+ for (int i = 0; i < handles.size(); i++)
+ layer.add((IFigure) handles.get(i));
}
private void removeJSFHandles() {
- if (JSFhandles == null)
+ if (handles == null)
return;
IFigure layer = getLayer(LayerConstants.HANDLE_LAYER);
- for (int i = 0; i < JSFhandles.size(); i++)
- layer.remove((IFigure) JSFhandles.get(i));
- JSFhandles = null;
+ for (int i = 0; i < handles.size(); i++)
+ layer.remove((IFigure) handles.get(i));
+ handles = null;
}
protected void addSelectionHandles() {
@@ -60,17 +61,17 @@
super.addSelectionHandles();
addJSFHandles();
- getConnectionFigure().setForegroundColor(FigureFactory.selectedColor);
+ getConnectionFigure().setSelected(true);
}
- protected PolylineConnection getConnectionFigure() {
- return (PolylineConnection) ((GraphicalEditPart) getHost()).getFigure();
+ protected ConnectionFigure getConnectionFigure() {
+ return (ConnectionFigure) ((GraphicalEditPart) getHost()).getFigure();
}
protected void removeSelectionHandles() {
super.removeSelectionHandles();
removeJSFHandles();
- getConnectionFigure().setForegroundColor(FigureFactory.normalColor);
+ getConnectionFigure().setSelected(false);
}
protected List createSelectionHandles() {
@@ -80,7 +81,7 @@
return list;
}
- protected List createJSFHandles() {
+ protected List createHandles() {
List<AbstractHandle> list = new ArrayList<AbstractHandle>();
PolylineConnection conn = getConnectionFigure();
boolean flag = true;
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui.pages/src/org/jboss/tools/seam/ui/pages/editor/figures/ConnectionFigure.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui.pages/src/org/jboss/tools/seam/ui/pages/editor/figures/ConnectionFigure.java 2008-06-09
22:49:41 UTC (rev 8657)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui.pages/src/org/jboss/tools/seam/ui/pages/editor/figures/ConnectionFigure.java 2008-06-10
05:58:36 UTC (rev 8658)
@@ -7,16 +7,18 @@
*
* Contributors:
* Exadel, Inc. and Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
+ ******************************************************************************/
package org.jboss.tools.seam.ui.pages.editor.figures;
import org.eclipse.draw2d.AnchorListener;
import org.eclipse.draw2d.Connection;
+import org.eclipse.draw2d.Figure;
import org.eclipse.draw2d.Graphics;
import org.eclipse.draw2d.Label;
import org.eclipse.draw2d.PolylineConnection;
import org.eclipse.draw2d.geometry.Point;
import org.eclipse.draw2d.geometry.PointList;
+import org.eclipse.swt.graphics.Color;
import org.jboss.tools.seam.ui.pages.editor.ecore.pages.Link;
import org.jboss.tools.seam.ui.pages.editor.edit.LinkEditPart;
@@ -89,8 +91,21 @@
Point beg = new Point(0, 0), end = new Point(0, 0);
Point corner = new Point(0, 0);
boolean horiz;
+ private boolean selected;
+ @Override
+ public void setForegroundColor(Color fg) {
+ // TODO Auto-generated method stub
+ super.setForegroundColor(fg);
+ }
+
protected void outlineShape(Graphics g) {
+
+ if(selected) {
+ g.setForegroundColor(FigureFactory.selectedColor);
+ } else {
+ g.setForegroundColor(getForegroundColor());
+ }
points = getPoints();
point = points.getPoint(0);
beg.x = point.x;
@@ -162,4 +177,9 @@
}
}
+
+ public void setSelected(boolean selected) {
+ this.selected = selected;
+ repaint();
+ }
}