public QuiverEditorMvc( Form parent, Canvas canvas, Label centerOfCanvasLabel, Label mousePointerOnCanvasLocationLabel, ListView vertexListView, Label vertexCountLabel, ListView arrowListView, Label arrowCountLabel, IReadOnlyDictionary <QuiverEditorTool, Button> toolButtons, IReadOnlyDictionary <QuiverEditorTool, IEnumerable <Control> > toolSettingsControlsDictionary, NumericUpDown vertexToAddNud, ToolStripMenuItem undoMenuItem, ToolStripMenuItem redoMenuItem, ToolStripMenuItem relabelVerticesMenuItem, ToolStripMenuItem rotateVerticesMenuItem, IReadOnlyDictionary <PredefinedQuiver, ToolStripMenuItem> predefinedQuiverMenuItems, ToolStripMenuItem importFromMutationAppFileToolStripMenuItem, OpenFileDialog importFromMutationAppFileOpenFileDialog, ToolStripMenuItem exportAsMutationAppFileMenuItem, SaveFileDialog exportAsMutationAppFileSaveFileDialog) { Model = new QuiverEditorModel(new QuiverInPlane <int>()); View = new QuiverEditorView( Model, parent, canvas, centerOfCanvasLabel, mousePointerOnCanvasLocationLabel, vertexListView, vertexCountLabel, arrowListView, arrowCountLabel, toolButtons, toolSettingsControlsDictionary, vertexToAddNud, undoMenuItem, redoMenuItem, relabelVerticesMenuItem, rotateVerticesMenuItem, predefinedQuiverMenuItems, importFromMutationAppFileToolStripMenuItem, importFromMutationAppFileOpenFileDialog, exportAsMutationAppFileMenuItem, exportAsMutationAppFileSaveFileDialog); Controller = new QuiverEditorController(Model, View); }
public QuiverEditorController(QuiverEditorModel model, QuiverEditorView view) { this.model = model ?? throw new ArgumentNullException(nameof(model)); this.view = view ?? throw new ArgumentNullException(nameof(view)); view.KeyDown += View_KeyDown; view.VertexListViewKeyDown += View_VertexListViewKeyDown; view.ArrowListViewKeyDown += View_ArrowListViewKeyDown; view.SelectToolKeyDown += View_SelectToolKeyDown; view.VertexMouseDown += View_VertexMouseDown; view.ArrowMouseDown += View_ArrowMouseDown; view.CanvasClicked += View_CanvasClicked; view.VertexSelectedInListView += View_VertexSelectedInListView; view.ArrowSelectedInListView += View_ArrowSelectedInListView; view.ToolButtonClicked += View_ToolButtonClicked; view.VertexToAddChanged += View_VertexToAddNudValueChanged; view.UndoMenuItemClicked += View_UndoMenuItemClicked; view.RedoMenuItemClicked += View_RedoMenuItemClicked; view.RelabelVerticesMenuItemClicked += View_RelabelVerticesMenuItemClicked; view.RotateVerticesMenuItemClicked += View_RotateVerticesMenuItemClicked; view.PredefinedQuiverDialogAccepted += View_PredefinedQuiverDialogAccepted; view.ImportQuiverFromMutationAppFileDialogAccepted += View_ImportQuiverFromMutationAppFileDialogAccepted; view.ExportQuiverAsMutationAppFileDialogAccepted += View_ExportQuiverAsMutationAppFileDialogAccepted; }