public void Redo() { if (redoStack.Count <= 0) { return; } string model; if (redoStack.TryPop(out model)) { string current = TextSerializer.Serialize(this.Elements); undoStack.Push(current); Clear(); TextSerializer.Deserialize(model, this.Elements); UpdateNextId(); RedrawCanvas(); } }
protected override void OnCreate(Bundle savedInstanceState) { //RequestWindowFeature(WindowFeatures.NoTitle); base.OnCreate(savedInstanceState); _repository = new Repository( System.IO.Path.Combine( System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "diagrams.db")); // create drawing canvas _canvasView = new CanvasView(this); RegisterForContextMenu(_canvasView); // get diagram from repository int diagramId = Intent.GetIntExtra("DiagramId", 0); if (diagramId > 0) { _currentDiagram = _repository.Get(diagramId); } else { _currentDiagram = new Diagram(); } // create diagram TextSerializer.Deserialize(_currentDiagram.Model, _canvasView.Model.Elements); _canvasView.Model.UpdateNextId(); _canvasView.Model.CurrentModel = TextSerializer.Serialize(_canvasView.Model.Elements); // set content view to drawing canvas SetContentView(_canvasView); //ActivityCompat.InvalidateOptionsMenu (this); Console.WriteLine("DiagramEditor OnCreate"); }