Author: dazarov
Date: 2008-05-28 07:32:38 -0400 (Wed, 28 May 2008)
New Revision: 8397
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui.pages/src/org/jboss/tools/seam/ui/pages/editor/edit/PageEditPart.java
trunk/seam/plugins/org.jboss.tools.seam.ui.pages/src/org/jboss/tools/seam/ui/pages/editor/edit/PagesXYLayoutEditPolicy.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1189
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui.pages/src/org/jboss/tools/seam/ui/pages/editor/edit/PageEditPart.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui.pages/src/org/jboss/tools/seam/ui/pages/editor/edit/PageEditPart.java 2008-05-28
10:49:45 UTC (rev 8396)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui.pages/src/org/jboss/tools/seam/ui/pages/editor/edit/PageEditPart.java 2008-05-28
11:32:38 UTC (rev 8397)
@@ -19,6 +19,9 @@
import org.eclipse.draw2d.geometry.Dimension;
import org.eclipse.draw2d.geometry.Point;
import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
import org.jboss.tools.common.model.ui.dnd.DnDUtil;
import org.eclipse.gef.*;
import org.eclipse.gef.requests.DropRequest;
@@ -32,7 +35,7 @@
import org.jboss.tools.seam.ui.pages.editor.ecore.pages.Page;
import org.jboss.tools.seam.ui.pages.editor.figures.PageFigure;
-public class PageEditPart extends PagesEditPart implements PropertyChangeListener,
EditPartListener {
+public class PageEditPart extends PagesEditPart implements PropertyChangeListener,
EditPartListener, Adapter {
private PageFigure fig = null;
private boolean single = true;
@@ -149,7 +152,7 @@
protected void refreshVisuals() {
Point loc = getPageModel().getLocation();
- size = new Dimension(49, 40);
+ size = new Dimension(50, 40);
loc.x -= loc.x % 8;
loc.y -= loc.y % 8;
@@ -199,5 +202,44 @@
}
}
+
+ /**
+ * @see org.eclipse.gef.EditPart#activate()
+ */
+ public void activate() {
+ if (isActive())
+ return;
+ ((Notifier) getModel()).eAdapters().add(this);
+ super.activate();
+ }
+
+ /**
+ * @see
org.eclipse.emf.common.notify.Adapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
+ */
+ public void notifyChanged(Notification notification) {
+ refresh();
+ refreshVisuals();
+ }
+ /**
+ * )
+ *
+ * @see org.eclipse.emf.common.notify.Adapter#getTarget()
+ */
+ public Notifier getTarget() {
+ return null;
+ }
+
+ /**
+ * @see org.eclipse.emf.common.notify.Adapter#isAdapterForType(java.lang.Object)
+ */
+ public boolean isAdapterForType(Object type) {
+ return false;
+ }
+
+ /**
+ * @see
org.eclipse.emf.common.notify.Adapter#setTarget(org.eclipse.emf.common.notify.Notifier)
+ */
+ public void setTarget(Notifier newTarget) {
+ }
}
Modified:
trunk/seam/plugins/org.jboss.tools.seam.ui.pages/src/org/jboss/tools/seam/ui/pages/editor/edit/PagesXYLayoutEditPolicy.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.ui.pages/src/org/jboss/tools/seam/ui/pages/editor/edit/PagesXYLayoutEditPolicy.java 2008-05-28
10:49:45 UTC (rev 8396)
+++
trunk/seam/plugins/org.jboss.tools.seam.ui.pages/src/org/jboss/tools/seam/ui/pages/editor/edit/PagesXYLayoutEditPolicy.java 2008-05-28
11:32:38 UTC (rev 8397)
@@ -15,6 +15,7 @@
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.PositionConstants;
+import org.eclipse.draw2d.RectangleFigure;
import org.eclipse.draw2d.geometry.Rectangle;
import org.eclipse.gef.EditPart;
import org.eclipse.gef.EditPolicy;
@@ -29,7 +30,10 @@
import org.eclipse.gef.handles.ResizeHandle;
import org.eclipse.gef.requests.CreateRequest;
import org.jboss.tools.seam.ui.pages.editor.commands.SetConstraintCommand;
+import org.jboss.tools.seam.ui.pages.editor.ecore.pages.Page;
import org.jboss.tools.seam.ui.pages.editor.ecore.pages.PagesElement;
+import org.jboss.tools.seam.ui.pages.editor.figures.NodeFigure;
+import org.jboss.tools.seam.ui.pages.editor.figures.PageFeedbackFigure;
/**
*
@@ -76,43 +80,43 @@
}
class CustomPolicy extends NonResizableEditPolicy {
-// protected IFigure createDragSourceFeedbackFigure() {
-// GroupEditPart part = (GroupEditPart) getHost();
-// IFigure child = getCustomFeedbackFigure(part.getModel());
-// addFeedback(child);
-// Rectangle childBounds = part.getFigure().getBounds().getCopy();
-// IFigure walker = part.getFigure().getParent();
-//
-// while (walker != ((GraphicalEditPart) part.getParent()).getFigure()) {
-// walker.translateToParent(childBounds);
-// walker = walker.getParent();
-// }
-//
-// child.setBounds(childBounds);
-//
-// return child;
-// }
+ protected IFigure createDragSourceFeedbackFigure() {
+ PagesEditPart part = (PagesEditPart) getHost();
+ IFigure child = getCustomFeedbackFigure(part.getModel());
+ addFeedback(child);
+ Rectangle childBounds = part.getFigure().getBounds().getCopy();
+ IFigure walker = part.getFigure().getParent();
+ while (walker != ((GraphicalEditPart) part.getParent()).getFigure()) {
+ walker.translateToParent(childBounds);
+ walker = walker.getParent();
+ }
+
+ child.setBounds(childBounds);
+
+ return child;
+ }
+
protected IFigure getFeedbackLayer() {
return getLayer(LayerConstants.SCALED_FEEDBACK_LAYER);
}
-// protected IFigure getCustomFeedbackFigure(Object modelPart) {
-// IFigure figure;
-//
-// if (modelPart instanceof IGroup)
-// figure = new GroupFeedbackFigure();
-// else {
-// figure = new RectangleFigure();
-// ((RectangleFigure) figure).setXOR(true);
-// ((RectangleFigure) figure).setFill(true);
-// figure.setBackgroundColor(NodeFigure.ghostFillColor);
-// figure.setForegroundColor(NodeFigure.whiteColor);
-// }
-//
-// return figure;
-// }
+ protected IFigure getCustomFeedbackFigure(Object modelPart) {
+ IFigure figure;
+ if (modelPart instanceof Page)
+ figure = new PageFeedbackFigure();
+ else {
+ figure = new RectangleFigure();
+ ((RectangleFigure) figure).setXOR(true);
+ ((RectangleFigure) figure).setFill(true);
+ figure.setBackgroundColor(NodeFigure.ghostFillColor);
+ figure.setForegroundColor(NodeFigure.whiteColor);
+ }
+
+ return figure;
+ }
+
protected List createSelectionHandles() {
List<Handle> list = new ArrayList<Handle>();
list.add(createHandle((GraphicalEditPart) getHost(),