private void InitializeEditor() { Editor = new DiagramEditor(); Editor.Context = new Context(); Editor.Context.CurrentTree = this.ExplorerControl.SolutionTree; Editor.Context.CurrentCanvas = this.DiagramControl.DiagramCanvas; var counter = new IdCounter(); counter.Set(3); this.DiagramControl.DiagramCanvas.SetCounter(counter); var prop = DiagramProperties.Default; this.DiagramControl.DiagramCanvas.SetProperties(prop); SetProperties(prop); Editor.Context.IsControlPressed = () => Keyboard.Modifiers == ModifierKeys.Control; Editor.Context.UpdateProperties = () => UpdateProperties(Editor.Context.CurrentCanvas.GetProperties()); Editor.Context.SetProperties = (p) => SetProperties(p); Editor.Context.Clipboard = new WindowsClipboard(); // diagram creator Editor.Context.DiagramCreator = GetDiagramCreator(); // set checkbox states EnableInsertLast.IsChecked = Editor.Context.EnableInsertLast; EnableSnap.IsChecked = Editor.Context.EnableSnap; SnapOnRelease.IsChecked = Editor.Context.SnapOnRelease; // explorer control this.ExplorerControl.Editor = Editor; this.ExplorerControl.DiagramView = this.DiagramControl.RootBorder; // tree actions Editor.Context.CreateSolution = () => this.ExplorerControl.CreateTreeSolutionItem(); Editor.Context.CreateProject = () => this.ExplorerControl.CreateTreeProjectItem(); Editor.Context.CreateDiagram = () => this.ExplorerControl.CreateTreeDiagramItem(); // update canvas grid UpdateDiagramGrid(false); }
private void InitializeDiagramControl() { this.DiagramControl.Editor = this.Editor; }