public void Redo() { if (_undoRedoHelper == null) { return; } lock (_undoRedoHelper) { _undoRedoHelper.Pause(); var data = _undoRedoHelper.Redo(); if (data != default(MRecipe)) { _undoRedoHelper.DisposeSubscriptions(); RecipeItemsSource = data; _undoRedoHelper.SaveStateOnPropertyChange(_mRecipe); MRecipe.BeginGetNodes(_mRecipe, (baseNode) => { _undoRedoHelper.SaveStateOnPropertyChange(baseNode); }); } _undoRedoHelper.Resume(); } }
public int CountNumberOfFiducials(MRecipe recipeIn) { int count = 0; MRecipe.BeginGetNodes( recipeIn, (node) => { count += node.Fiducials.Count; } ); return(count); }
public void UpdateItemsSource() { if (RecipeItemsSource != null) { _lastSelectedNode = null; _mRecipe = RecipeItemsSource; if (_undoRedoHelper?.IsPaused != true) { _undoRedoHelper = new UndoRedoHelper <MRecipe>(ref _mRecipe); MRecipe.BeginGetNodes(_mRecipe, (baseNode) => { _undoRedoHelper.SaveStateOnPropertyChange(baseNode); }); _undoRedoHelper.SaveState(); } NotifyPropertyChanged(nameof(MRecipe)); } }