示例#1
0
        public override void Load(SettingsStorage storage)
        {
            base.Load(storage);

            var compositionType = storage.GetValue <CompositionType>("CompositionType");
            var compositionId   = storage.GetValue <Guid>("CompositionId");

            var registry = ConfigManager.GetService <StrategiesRegistry>();

            var composition = compositionType == CompositionType.Composition
                                                  ? registry.Compositions.FirstOrDefault(c => c.TypeId == compositionId)
                                                  : registry.Strategies.FirstOrDefault(c => c.TypeId == compositionId);

            Composition = new CompositionItem(compositionType, (CompositionDiagramElement)composition);

            var layout = storage.GetValue <string>("Layout");

            if (!layout.IsEmpty())
            {
                _layoutManager.LoadLayout(layout);
            }

            var diagramEditor = storage.GetValue <SettingsStorage>("DiagramEditor");

            if (diagramEditor != null)
            {
                DiagramEditor.Load(diagramEditor);
            }
        }
        public void Save(SettingsStorage storage)
        {
            Debugger.Save(storage);

            storage.SetValue("Layout", _layoutManager.SaveLayout());
            storage.SetValue("DiagramEditor", DiagramEditor.Save());
        }
示例#3
0
        public void ShowProjectDiagrams()
        {
            Editor.GetCurrentModel();

            var diagrams = DiagramEditor.GetCurrentProjectDiagrams(Editor.Context.CurrentTree);

            if (diagrams != null)
            {
                ShowDiagramsWindow(diagrams, "Project Diagrams");
            }
        }
示例#4
0
        public override void Save(SettingsStorage storage)
        {
            base.Save(storage);

            if (Composition != null)
            {
                storage.SetValue("CompositionType", Composition.Type);
                storage.SetValue("CompositionId", Composition.Element.TypeId);
            }

            storage.SetValue("Layout", _layoutManager.SaveLayout());
            storage.SetValue("DiagramEditor", DiagramEditor.Save());
        }
示例#5
0
        //TODO: дописать логику загрузки состояния для DockSite
        void IPersistable.Load(SettingsStorage storage)
        {
            var diagramEditor = storage.GetValue <SettingsStorage>("DiagramEditor");

            if (diagramEditor != null)
            {
                DiagramEditor.Load(diagramEditor);
            }

            var layout = storage.GetValue <string>("Layout");

            //if (layout != null)
            //	DockSite.LoadLayout(layout, true);
        }
示例#6
0
        public void Load(SettingsStorage storage)
        {
            Debugger.Load(storage);

            var layout = storage.GetValue <string>("Layout");

            if (!layout.IsEmpty())
            {
                _layoutManager.LoadLayout(layout);
            }

            var diagramEditor = storage.GetValue <SettingsStorage>("DiagramEditor");

            if (diagramEditor != null)
            {
                DiagramEditor.Load(diagramEditor);
            }
        }
示例#7
0
        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);
        }
示例#8
0
 private void InitializeDiagramControl()
 {
     this.DiagramControl.Editor = this.Editor;
 }
 public void SaveToImage(string fileName)
 {
     DiagramEditor.SaveToImage(fileName);
 }
示例#10
0
 public CompositionDiagramElement GetSelectionCopyElement()
 {
     return(DiagramEditor.GetSelectionCopyElement());
 }
示例#11
0
 void IPersistable.Save(SettingsStorage storage)
 {
     storage.SetValue("DiagramEditor", DiagramEditor.Save());
     storage.SetValue("Layout", DockSite.SaveLayout(true));
 }