Example #1
0
        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();
            }
        }
Example #2
0
        public int CountNumberOfFiducials(MRecipe recipeIn)
        {
            int count = 0;

            MRecipe.BeginGetNodes(
                recipeIn,
                (node) => {
                count += node.Fiducials.Count;
            }
                );

            return(count);
        }
Example #3
0
        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));
            }
        }