public void Redo(ScriptViewModel script) { if (_index < Stack.Count - 1) { ++_index; Stack[_index].Undo(script); } }
public void Undo(ScriptViewModel script) { if (_index > 0) { if (_index >= Stack.Count) { Stack.Add(new UndoActionViewModel(script.Script)); } --_index; Stack[_index].Undo(script); } }
public GroupViewModel(ScriptViewModel script, NodeGroup nodeGroup) { Script = script; NodeGroup = nodeGroup; CollapseOrExpandCommand = new ScriptingCommand(CollapseOrExpand); if (nodeGroup.IsCollapsed) { Collapse(); } else { Expand(); } }
public LinkViewModel(ScriptViewModel script, PositionedViewModelBase from, PositionedViewModelBase to, PinWithConnection pin, bool isExecution) { IsExecution = isExecution; Script = script; HostPin = pin; From = from; To = to; IsExecution = isExecution; PropertyChanged += (s, a) => UpdateState(); MenuItems.Add(new MenuItemViewModel { Header = "Delete", Command = DeleteThis }); }
public NodeViewModel(ScriptViewModel script, ScriptNode node) { Script = script; Node = node; _name = node.Name; _value = node.Value; foreach (var pin in node.InputPins) { InputPins.Add(new InputPinViewModel(this, pin)); } foreach (var pin in node.OutputPins) { OutputPins.Add(new OutputPinViewModel(this, pin)); } foreach (var pin in node.EnterPins) { EnterPins.Add(new EnterPinViewModel(this, pin)); } foreach (var pin in node.ExitPins) { ExitPins.Add(new ExitPinViewModel(this, pin)); } MenuItems.Add(new MenuItemViewModel { Header = "Copy", Command = CopyThis }); MenuItems.Add(new MenuItemViewModel { Header = "Duplicate", Command = DuplicateThis }); MenuItems.Add(new MenuItemViewModel { Header = "Cut", Command = CutThis }); MenuItems.Add(new MenuItemViewModel { Header = "Delete", Command = DeleteThis }); //MenuItems.Add(new MenuItemViewModel { Header = "-" }); MenuItems.Add(new MenuItemViewModel { Header = "Group", Command = GroupThis }); MenuItems.Add(new MenuItemViewModel { Header = "Ungroup", Command = UngroupThis }); }
public FactoryViewModel(ScriptViewModel script, INodeFactory factory) { _script = script; _factory = factory; CreateCommand = new ScriptingCommand(() => Create(script.CreateLocation)); }