Esempio n. 1
0
        public static void Redo(ICanvas canvas, IDiagramCreator creator, bool pushUndo)
        {
            var history = Get(canvas);
            var undo    = history.Undo;
            var redo    = history.Redo;

            if (redo.Count <= 0)
            {
                return;
            }

            // save current model
            if (pushUndo == true)
            {
                var current = ModelEditor.GenerateDiagram(canvas, null, canvas.GetProperties());
                undo.Push(current);
            }

            // restore previous model
            var model = redo.Pop();

            ModelEditor.Clear(canvas);
            ModelEditor.Parse(model,
                              canvas, creator,
                              0, 0,
                              false, true, false, true);

            NotifyCanvasHistoryChanged(new CanvasHistoryChangedEventArgs()
            {
                Canvas = canvas,
                Undo   = undo,
                Redo   = redo
            });
        }
Esempio n. 2
0
        public void OpenDiagram(string fileName, ICanvas canvas)
        {
            string diagram = ModelEditor.Open(fileName);

            Snapshot(canvas, true);

            ModelEditor.Clear(canvas);
            ModelEditor.Parse(diagram,
                              canvas, Context.DiagramCreator,
                              0, 0,
                              false, true, false, true);
        }
Esempio n. 3
0
 public void ClearCanvas()
 {
     Snapshot(Context.CurrentCanvas, true);
     ModelEditor.Clear(Context.CurrentCanvas);
 }