From d6f6211306708d22ddcbe4e350f906c63220d7a4 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Fri, 29 Jun 2012 16:21:42 +0200 Subject: More graph gui components. Selection moved from GraphModel to GraphPanel --- .../controller/MultiSelectionDragController.java | 51 ++++++++++++---------- 1 file changed, 27 insertions(+), 24 deletions(-) (limited to 'src/main/java/com/c2kernel/gui/graph/controller/MultiSelectionDragController.java') diff --git a/src/main/java/com/c2kernel/gui/graph/controller/MultiSelectionDragController.java b/src/main/java/com/c2kernel/gui/graph/controller/MultiSelectionDragController.java index 2d77996..498f3d9 100644 --- a/src/main/java/com/c2kernel/gui/graph/controller/MultiSelectionDragController.java +++ b/src/main/java/com/c2kernel/gui/graph/controller/MultiSelectionDragController.java @@ -8,20 +8,20 @@ import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import com.c2kernel.graph.model.DirectedEdge; -import com.c2kernel.graph.model.ElasticBand; import com.c2kernel.graph.model.GraphModelManager; import com.c2kernel.graph.model.GraphPoint; import com.c2kernel.graph.model.GraphableVertex; -import com.c2kernel.graph.model.Selection; import com.c2kernel.graph.model.Vertex; import com.c2kernel.gui.graph.view.EditorModeListener; +import com.c2kernel.gui.graph.view.GraphPanel; public class MultiSelectionDragController extends MouseAdapter implements EditorModeListener, KeyListener { - private class ResizeInf + + private class ResizeInf { public int mMousePressedX = 0; public int mMousePressedY = 0; @@ -49,6 +49,7 @@ implements EditorModeListener, KeyListener } protected GraphModelManager mGraphModelManager = null; + private GraphPanel mGraphPanel = null; /**********/ @@ -97,7 +98,7 @@ implements EditorModeListener, KeyListener mResizeInf.mMousePressedX = mousePoint.x; mResizeInf.mMousePressedY = mousePoint.y; - mResizeInf.mSelectedVertex = mGraphModelManager.getModel().getSelection().mVertices[0]; + mResizeInf.mSelectedVertex = mGraphPanel.getSelection().mVertices[0]; mResizeInf.mOldOutline = mResizeInf.mSelectedVertex.getOutlinePoints(); centre = mResizeInf.mSelectedVertex.getCentrePoint(); mResizeInf.mCentreX = centre.x; @@ -192,7 +193,7 @@ implements EditorModeListener, KeyListener { Selection selection = new Selection((DirectedEdge)data, null, 0, 0, 0, 0); - mGraphModelManager.getModel().setSelection(selection); + mGraphPanel.setSelection(selection); } }; @@ -211,7 +212,7 @@ implements EditorModeListener, KeyListener centrePoint.x, centrePoint.y); - mGraphModelManager.getModel().setSelection(selection); + mGraphPanel.setSelection(selection); mDispForSelection = new DispForSelection(); mDispForSelection.mXDisp = vertexAndDisp.mXDisp; mDispForSelection.mYDisp = vertexAndDisp.mYDisp; @@ -236,13 +237,13 @@ implements EditorModeListener, KeyListener { Vertex vertex = (Vertex)data; - if(mGraphModelManager.getModel().inSelection(vertex)) + if(mGraphPanel.inSelection(vertex)) { - mGraphModelManager.getModel().removeFromSelection(vertex); + mGraphPanel.removeFromSelection(vertex); } else { - mGraphModelManager.getModel().addToSelection(vertex); + mGraphPanel.addToSelection(vertex); } } }; @@ -253,7 +254,7 @@ implements EditorModeListener, KeyListener @Override public void doIt(Object data) { - mGraphModelManager.getModel().selectAll(); + mGraphPanel.selectAll(); } }; @@ -263,9 +264,10 @@ implements EditorModeListener, KeyListener @Override public void doIt(Object data) { - Point fixedCorner = (Point)data; + Point mouse = (Point)data; + GraphPoint fixedCorner = new GraphPoint(mouse.x, mouse.y); - mGraphModelManager.getModel().setElasticBand(new ElasticBand(fixedCorner, fixedCorner)); + mGraphPanel.setElasticBand(new ElasticBand(fixedCorner, fixedCorner)); } }; @@ -279,7 +281,7 @@ implements EditorModeListener, KeyListener int topLeftX = mousePoint.x - mDispForSelection.mXDisp; int topLeftY = mousePoint.y - mDispForSelection.mYDisp; if (mGraphModelManager.isEditable()) { - mGraphModelManager.getModel().moveAbsoluteSelection(topLeftX, topLeftY); + mGraphPanel.moveAbsoluteSelection(topLeftX, topLeftY); } } }; @@ -290,7 +292,8 @@ implements EditorModeListener, KeyListener @Override public void doIt(Object data) { - mGraphModelManager.getModel().resizeElasticBand((Point)data); + Point mouse = (Point)data; + mGraphPanel.resizeElasticBand(new GraphPoint(mouse.x, mouse.y)); } }; @@ -300,7 +303,7 @@ implements EditorModeListener, KeyListener @Override public void doIt(Object data) { - mGraphModelManager.getModel().selectContentsOfElasticBand(); + mGraphPanel.selectContentsOfElasticBand(); } }; @@ -344,8 +347,7 @@ implements EditorModeListener, KeyListener private Integer mState = kWaiting; - - /**************************/ + /**************************/ /* Event processing logic */ /**************************/ @@ -377,11 +379,12 @@ implements EditorModeListener, KeyListener /* Public interface */ /********************/ - public void setGraphModelManager(GraphModelManager graphModelManager) - { - mGraphModelManager = graphModelManager; - } + public MultiSelectionDragController(GraphModelManager graphModelManager, + GraphPanel graphPanel) { + mGraphModelManager = graphModelManager; + mGraphPanel = graphPanel; + } @Override public void editorModeChanged(String idOfNewMode) @@ -448,9 +451,9 @@ implements EditorModeListener, KeyListener } else if(vertex != null) { - if(mGraphModelManager.getModel().inSelection(vertex)) + if(mGraphPanel.inSelection(vertex)) { - selection = mGraphModelManager.getModel().getSelection(); + selection = mGraphPanel.getSelection(); dispForSelection = new DispForSelection(); dispForSelection.mXDisp = mousePoint.x - selection.mTopLeftX; dispForSelection.mYDisp = mousePoint.y - selection.mTopLeftY; @@ -486,7 +489,7 @@ implements EditorModeListener, KeyListener private boolean onResizePad(GraphPoint mouseGPoint) { - Selection selection = mGraphModelManager.getModel().getSelection(); + Selection selection = mGraphPanel.getSelection(); GraphPoint vertexCentre = null; int bottomRightX = 0; int bottomRightY = 0; -- cgit v1.2.3