package com.c2kernel.graph.controller; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import com.c2kernel.graph.model.GraphModelManager; import com.c2kernel.graph.view.EditorModeListener; import com.c2kernel.graph.view.EditorToolBar; public class VertexConstructionController extends MouseAdapter implements EditorModeListener { private GraphModelManager mGraphModelManager = null; private EditorToolBar mEditorToolBar = null; private boolean mCreatingVertices = false; public void setGraphModelManager(GraphModelManager graphModelManager) { mGraphModelManager = graphModelManager; } public void setEditorToolBar(EditorToolBar editorToolBar) { mEditorToolBar = editorToolBar; mEditorToolBar.addEditorModeListener(this); } public void editorModeChanged(String idOfNewMode) { mCreatingVertices = idOfNewMode.equals("Vertex"); } public void mouseClicked(MouseEvent me) { if(mCreatingVertices && (mGraphModelManager != null) && (mEditorToolBar != null) && mGraphModelManager.isEditable()) { mGraphModelManager.getModel().createVertex(me.getPoint(), mEditorToolBar.getSelectedVertexType()); mEditorToolBar.enterSelectMode(); } } }