/// <summary> /// 現在のノードの親とノードの間にノードを挿入 /// </summary> public Node InsertParent() { if (Parent == null) { return(null); } var node = new Node(Parent); node.children.Add((Node)this); var old_value = Parent.children; var new_value = new List <Node>(Parent.children); for (int i = 0; i < new_value.Count; i++) { if (new_value[i] == this) { new_value[i] = node; break; } } var parent = Parent; var _this = this; var cmd = new Command.DelegateCommand( () => { parent.children = new_value; _this.Parent = node; if (parent.OnAfterRemoveNode != null) { parent.OnAfterRemoveNode(parent, new ChangedValueEventArgs(_this, ChangedValueType.Execute)); } if (parent.OnAfterAddNode != null) { parent.OnAfterAddNode(parent, new ChangedValueEventArgs(node, ChangedValueType.Execute)); } }, () => { parent.children = old_value; _this.Parent = parent; if (parent.OnAfterAddNode != null) { parent.OnAfterAddNode(this, new ChangedValueEventArgs(_this, ChangedValueType.Unexecute)); } if (parent.OnAfterRemoveNode != null) { parent.OnAfterRemoveNode(parent, new ChangedValueEventArgs(node, ChangedValueType.Unexecute)); } }); Command.CommandManager.Execute(cmd); return(node); }
public bool Add() { if (values.Count >= 16) { return(false); } var old_value = values; var new_value = new List <DynamicEquation>(values); new_value.Add(new DynamicEquation(DynamicEquation.DefaultName, this)); var cmd = new Command.DelegateCommand( () => { values = new_value; if (OnChanged != null) { OnChanged(this, null); } }, () => { values = old_value; if (OnChanged != null) { OnChanged(this, null); } }); Command.CommandManager.Execute(cmd); return(true); }
public void SetColorSpace(ColorSpace colorSpace, bool isCombined = false) { ColorSpace oldval = ColorSpace; ColorSpace newval = colorSpace; if (oldval == newval) { return; } var cmd = new Command.DelegateCommand( () => { _colorSpace = newval; CallChangedColorSpace(false, ChangedValueType.Execute); }, () => { _colorSpace = oldval; CallChangedColorSpace(false, ChangedValueType.Unexecute); }, this, isCombined); Command.CommandManager.Execute(cmd); }
public ReactionVM() { enableUpdate = true; Stages = new ObservableCollection <StageVM>(); Stages.CollectionChanged += Stages_CollectionChanged; DeleteStage = new Command.DelegateCommand(this.RemoveStage); }
public bool Delete(DynamicEquation o) { if (o == null) { return(false); } var old_value = values; var new_value = new List <DynamicEquation>(values); new_value.Remove(o); var cmd = new Command.DelegateCommand( () => { values = new_value; if (OnChanged != null) { OnChanged(this, null); } }, () => { values = old_value; if (OnChanged != null) { OnChanged(this, null); } }); Command.CommandManager.Execute(cmd); return(true); }
public void SetValue(int value, bool isCombined = false) { value = value.Clipping(_max, _min); if (value == _value) return; int old_value = _value; int new_value = value; bool old_IsValueAssigned = IsValueAssigned; var cmd = new Command.DelegateCommand( () => { _value = new_value; IsValueAssigned = true; CallChanged(new_value, ChangedValueType.Execute); }, () => { _value = old_value; IsValueAssigned = old_IsValueAssigned; CallChanged(old_value, ChangedValueType.Unexecute); }, this, isCombined); Command.CommandManager.Execute(cmd); }
/// <summary> /// 子ノードの追加 /// </summary> /// <returns></returns> public Node AddChild() { var node = new Node(this); var old_value = children; var new_value = new List <Node>(children); new_value.Add(node); var cmd = new Command.DelegateCommand( () => { children = new_value; if (OnAfterAddNode != null) { OnAfterAddNode(this, new ChangedValueEventArgs(node, ChangedValueType.Execute)); } }, () => { children = old_value; if (OnAfterRemoveNode != null) { OnAfterRemoveNode(this, new ChangedValueEventArgs(node, ChangedValueType.Unexecute)); } }); Command.CommandManager.Execute(cmd); return(node); }
public PopupVM() { TanChemicalVMList = new ObservableCollection <TanChemicalVM>(); SearchSites = new ObservableCollection <SearchSite>() { new SearchSite { Code = "CAS", Url = @"http://www.commonchemistry.org/search.aspx?terms=" }, new SearchSite { Code = "WIKI", Url = @"https://en.wikipedia.org/wiki/" } }; S8000Metas = new ObservableCollection <S8000MetaVM>(); SelectedChemicalType = ChemicalType.NUM; SelectedSite = SearchSites.First(); DisableAdd(); (App.Current.MainWindow as MainWindow).PublishNUMAssign += PopupViewModel_PublishNUMAssign; (App.Current.MainWindow as MainWindow).SerializedTanLoaded += PopupViewModel_TANLoaded; //mainViewModelParticipantTypeChanged EditChemical = new Command.DelegateCommand(this.EditTanChemical); DeleteChemical = new Command.DelegateCommand(this.DeleteTanChemical); AddS8000Chemical = new Command.DelegateCommand(this.Add8000SeriesChemical); OpenEditViewCommand = new Command.DelegateCommand(this.OpenEditView); AddChemical = new Command.DelegateCommand(this.AddParticipant); AddAsParticipant = true; SelectedTabIndex = 0; }
public void SetDynamicEquation(DynamicEquation param) { if (param == DynamicEquation) { return; } var old_value = DynamicEquation; var new_value = param; var cmd = new Command.DelegateCommand( () => { DynamicEquation = new_value; if (OnChanged != null) { OnChanged(this, new ChangedValueEventArgs(new_value, ChangedValueType.Execute)); } }, () => { DynamicEquation = old_value; if (OnChanged != null) { OnChanged(this, new ChangedValueEventArgs(old_value, ChangedValueType.Unexecute)); } }); Command.CommandManager.Execute(cmd); }
public void SetAbsolutePath(string abspath) { if (abspath == _abspath) { return; } var old_value = _abspath; var new_value = abspath; var cmd = new Command.DelegateCommand( () => { _abspath = new_value; if (OnChanged != null) { OnChanged(this, new ChangedValueEventArgs(new_value, ChangedValueType.Execute)); } }, () => { _abspath = old_value; if (OnChanged != null) { OnChanged(this, new ChangedValueEventArgs(old_value, ChangedValueType.Unexecute)); } }); Command.CommandManager.Execute(cmd); }
public void Add() { var old_value = values; var new_value = new List <DynamicInput>(values); new_value.Add(new DynamicInput()); var cmd = new Command.DelegateCommand( () => { values = new_value; if (OnChanged != null) { OnChanged(this, null); } }, () => { values = old_value; if (OnChanged != null) { OnChanged(this, null); } }); Command.CommandManager.Execute(cmd); }
public void SetValue(float value, bool isCombined = false) { value = value.Clipping(_max, _min); if (value == _value) { return; } float old_value = _value; float new_value = value; var cmd = new Command.DelegateCommand( () => { _value = new_value; CallChanged(new_value, ChangedValueType.Execute); }, () => { _value = old_value; CallChanged(old_value, ChangedValueType.Unexecute); }, this, isCombined); Command.CommandManager.Execute(cmd); }
public void SetValue(string value) { if (value == _value) { return; } string old_value = _value; string new_value = value; var cmd = new Command.DelegateCommand( () => { _value = new_value; if (OnChanged != null) { OnChanged(this, new ChangedValueEventArgs(new_value, ChangedValueType.Execute)); } }, () => { _value = old_value; if (OnChanged != null) { OnChanged(this, new ChangedValueEventArgs(old_value, ChangedValueType.Unexecute)); } }); Command.CommandManager.Execute(cmd); }
public void Clear() { var old_values = values; var old_selected = selected; var new_values = new List <ObjectHolder <T> >(); var cmd = new Command.DelegateCommand( () => { values = new_values; AssignIndexes(values); selected = null; if (OnChanged != null) { OnChanged(this, null); } }, () => { values = old_values; AssignIndexes(values); selected = old_selected; if (OnChanged != null) { OnChanged(this, null); } }); Command.CommandManager.Execute(cmd); }
public void SetColorSpace(ColorSpace colorSpace, bool isColorConverted, bool isCombined) { ColorSpace oldval = ColorSpace; ColorSpace newval = colorSpace; if (oldval == newval) { return; } int old_r = R.Value; int old_g = G.Value; int old_b = B.Value; int old_a = A.Value; Utl.RGBHSVColor color; color.RH = old_r; color.GS = old_g; color.BV = old_b; if (isColorConverted) { if (newval == ColorSpace.HSVA) { color = Utl.RGBHSVColor.RGBToHSV(color); } else { color = Utl.RGBHSVColor.HSVToRGB(color); } } var cmd = new Command.DelegateCommand( () => { _colorSpace = newval; R.SetValueDirectly(color.RH); G.SetValueDirectly(color.GS); B.SetValueDirectly(color.BV); CallChangedColorSpace(false, ChangedValueType.Execute); }, () => { R.SetValueDirectly(old_r); G.SetValueDirectly(old_g); B.SetValueDirectly(old_b); _colorSpace = oldval; CallChangedColorSpace(false, ChangedValueType.Unexecute); }, this, isCombined); Command.CommandManager.Execute(cmd); }
public bool Delete(T o) { if (o == null) { return(false); } var removing_holder = values.FirstOrDefault(_ => _.Value == o); var old_index = values.FindIndex(_ => _.Value == o); var old_values = values; var new_values = new List <ObjectHolder <T> >(values); new_values.Remove(removing_holder); var cmd = new Command.DelegateCommand( () => { values = new_values; AssignIndexes(values); removing_holder.Index = -1; if (old_index < values.Count) { selected = new_values[old_index].Value; } else if (old_index > 0 && values.Count > 0) { selected = new_values[old_index - 1].Value; } else { selected = null; } if (OnChanged != null) { OnChanged(this, null); } }, () => { values = old_values; AssignIndexes(values); selected = o; if (OnChanged != null) { OnChanged(this, null); } }); Command.CommandManager.Execute(cmd); return(true); }
public ValidationVM() { ValidationErrors = new ObservableCollection <ViewModels.ValidationError>(); ValidationWarnings = new ObservableCollection <ViewModels.ValidationError>(); ErrorsInfo = "Errors"; WarningInfo = "Warnings"; SwitchToSelectedError = new Command.DelegateCommand(this.GoToSelectedReaction); SwitchToSelectedWarning = new Command.DelegateCommand(this.GoToSelectedReaction); }
public TaskSheetVM() { RefreshClick = new Command.DelegateCommand(this.LoadTasks); GetTasks = new DelegateCommand(this.PullTasks); MouseDoubleClickCommand = new DelegateCommand(this.GetSelectedRow); ButtonEnable = true; ProgressBarVisibility = Visibility.Hidden; LoadTasks(U.RoleId, false).ContinueWith(r => { }); }
/// <summary> /// Add child /// </summary> /// <param name="node">Added node (if null, generated automatically)</param> /// <param name="index">inserted position</param> /// <returns></returns> public Node AddChild(Node node = null, int index = int.MaxValue) { if (node == null) { node = new Node(this); } var old_parent = node.Parent; var new_parent = this; var old_value = children; var new_value = new List <Node>(children); if (index == int.MaxValue) { new_value.Add(node); } else { if (index >= children.Count) { new_value.Add(node); } else { new_value.Insert(index, node); } } var cmd = new Command.DelegateCommand( () => { children = new_value; node.Parent = new_parent; if (OnAfterAddNode != null) { OnAfterAddNode(this, new ChangedValueEventArgs(node, ChangedValueType.Execute)); } }, () => { children = old_value; node.Parent = old_parent; if (OnAfterRemoveNode != null) { OnAfterRemoveNode(this, new ChangedValueEventArgs(node, ChangedValueType.Unexecute)); } }); Command.CommandManager.Execute(cmd); return(node); }
public void SetMax(int r, int g, int b, int a = -1, bool isCombined = false) { if ( r == R.GetMax() && g == G.GetMax() && b == B.GetMax() && a == A.GetMax()) { return; } int old_r = R.GetMax(); int new_r = r; int old_g = G.GetMax(); int new_g = g; int old_b = B.GetMax(); int new_b = b; int old_a = A.GetMax(); int new_a = a; var cmd = new Command.DelegateCommand( () => { R.SetMaxDirectly(new_r); G.SetMaxDirectly(new_g); B.SetMaxDirectly(new_b); A.SetMaxDirectly(new_a); R.CallChanged(new_r, ChangedValueType.Execute); G.CallChanged(new_g, ChangedValueType.Execute); B.CallChanged(new_b, ChangedValueType.Execute); A.CallChanged(new_a, ChangedValueType.Execute); }, () => { R.SetMaxDirectly(old_r); G.SetMaxDirectly(old_g); B.SetMaxDirectly(old_b); A.SetMaxDirectly(old_a); R.CallChanged(old_r, ChangedValueType.Unexecute); G.CallChanged(old_g, ChangedValueType.Unexecute); B.CallChanged(old_b, ChangedValueType.Unexecute); A.CallChanged(old_a, ChangedValueType.Unexecute); }, this, isCombined); Command.CommandManager.Execute(cmd); }
/// <summary> /// Exchange children each other /// </summary> /// <param name="node1"></param> /// <param name="node2"></param> /// <returns></returns> public bool ExchangeChildren(Node node1, Node node2) { if (node1 == node2) { return(false); } if (!children.Contains(node1)) { return(false); } if (!children.Contains(node2)) { return(false); } var old_value = children; var new_value = new List <Node>(children); var ind1 = new_value.FindIndex((n) => { return(n == node1); }); var ind2 = new_value.FindIndex((n) => { return(n == node2); }); new_value[ind1] = node2; new_value[ind2] = node1; var cmd = new Command.DelegateCommand( () => { Tuple <Node, Node> nodes = new Tuple <Node, Node>(node1, node2); children = new_value; if (OnAfterExchangeNodes != null) { OnAfterExchangeNodes(this, new ChangedValueEventArgs(nodes, ChangedValueType.Execute)); } }, () => { Tuple <Node, Node> nodes = new Tuple <Node, Node>(node2, node1); children = old_value; if (OnAfterExchangeNodes != null) { OnAfterExchangeNodes(this, new ChangedValueEventArgs(nodes, ChangedValueType.Unexecute)); } }); Command.CommandManager.Execute(cmd); return(true); }
public bool Delete(DynamicEquation o) { if (o == null) { return(false); } var old_index = values.IndexOf(o); var old_value = values; var new_value = new List <DynamicEquation>(values); new_value.Remove(o); var cmd = new Command.DelegateCommand( () => { values = new_value; if (old_index < values.Count) { selected = new_value[old_index]; } else if (old_index > 0 && values.Count > 0) { selected = new_value[old_index - 1]; } else { selected = null; } if (OnChanged != null) { OnChanged(this, null); } }, () => { values = old_value; selected = o; if (OnChanged != null) { OnChanged(this, null); } }); Command.CommandManager.Execute(cmd); return(true); }
public bool Add(T value) { if (values.Count >= ElementMax) { return(false); } var old_selected = selected; var old_values = values; var new_values = new List <ObjectHolder <T> >(values); var new_holder = new ObjectHolder <T>(); new_holder.Value = value; new_values.Add(new_holder); var cmd = new Command.DelegateCommand( () => { values = new_values; selected = new_values[new_values.Count - 1].Value; AssignIndexes(values); if (OnChanged != null) { OnChanged(this, null); } }, () => { values = old_values; selected = old_selected; new_holder.Index = -1; AssignIndexes(values); if (OnChanged != null) { OnChanged(this, null); } }); Command.CommandManager.Execute(cmd); return(true); }
public CopyStageVM() { CopyStages = new Command.DelegateCommand(this.CopySelectedStages); Stages = new ObservableCollection <StageVM>(); SelectedStages = new List <ViewModels.StageVM>(); var mainViewModel = ((MainWindow)(App.Current.MainWindow)).DataContext as MainVM; Stages = mainViewModel.TanVM.SelectedReaction.Stages; IsAgentsSelected = true; IsCatalystSelected = true; IsConditionsSelected = true; IsRSNSelected = true; IsSolventsSelected = true; Visible = System.Windows.Visibility.Visible; StagesCountToCopy = 1; }
public TaskAllocationVM() { BatchTans = new ObservableCollection <Delivery.BatchTanVM>(); SelectedTans = new ObservableCollection <object>(); Batches = new ObservableCollection <Delivery.BatchVM>(); Curators = new ObservableCollection <Tasks.UsersVM>(); SelectedBatches = new ObservableCollection <BatchVM>(); Roles = new ObservableCollection <string>(LoadRoles()); SearchTans = new Command.DelegateCommand(DoSearchTans); AssignTans = new Command.DelegateCommand(DoAssignTans); MouseDoubleClickCommand = new Command.DelegateCommand(DoOpenTan); AllowReview = new DelegateCommand(DoAllowReview); ShowCuratorVersion = new DelegateCommand(DoShowCuratorVersion); ShowReviewerVersion = new DelegateCommand(DoShowReviewerVersion); ShowQcVersion = new DelegateCommand(DoShowQcVersion); }
public TanCommentsVM(ObservableCollection <Comments> Comments) { TanComments = new ObservableCollection <Comments>(Comments); EditCommentCommand = new Command.DelegateCommand(this.EditComment); SaveAuthorComment = new DelegateCommand(this.AddAuthorComment); SaveOtherComment = new DelegateCommand(this.AddOtherComment); SaveCASComment = new DelegateCommand(this.AddCASComment); SaveIndexComment = new DelegateCommand(this.AddIndexComment); ClearAllFields = new Command.DelegateCommand(this.ClearVM); DeleteTanComment = new Command.DelegateCommand(this.DeleteComment); string pattern = S.RegularExpressions .Where(re => re.RegulerExpressionFor == ProductTracking.Models.Core.RegulerExpressionFor.FreeText) .Select(re => re.Expression).FirstOrDefault(); CommentRegExp = new Regex(string.IsNullOrEmpty(pattern) ? "" : pattern); TanComments.CollectionChanged += TanComments_CollectionChanged; TanComments.UpdateDisplayOrder(); }
public void SetMin(int r, int g, int b, int a = -1, bool isCombined = false) { if ( r == R.GetMin() && g == G.GetMin() && b == B.GetMin() && a == A.GetMin()) { return; } int old_r = R.GetMin(); int new_r = r; int old_g = G.GetMin(); int new_g = g; int old_b = B.GetMin(); int new_b = b; int old_a = A.GetMin(); int new_a = a; var cmd = new Command.DelegateCommand( () => { R.SetMinDirectly(new_r); G.SetMinDirectly(new_g); B.SetMinDirectly(new_b); A.SetMinDirectly(new_a); }, () => { R.SetMinDirectly(old_r); G.SetMinDirectly(old_g); B.SetMinDirectly(old_b); A.SetMinDirectly(old_a); }, this, isCombined); Command.CommandManager.Execute(cmd); }
public bool Add() { if (values.Count >= 16) { return(false); } var old_selected = selected; var old_value = values; var new_value = new List <DynamicEquation>(values); var value = new DynamicEquation(this); value.Name.SetValue("New Expression"); value.Code.SetValue("@O.x = @In0\[email protected] = @In1"); new_value.Add(value); var cmd = new Command.DelegateCommand( () => { values = new_value; selected = new_value[new_value.Count - 1]; if (OnChanged != null) { OnChanged(this, null); } }, () => { values = old_value; selected = old_selected; if (OnChanged != null) { OnChanged(this, null); } }); Command.CommandManager.Execute(cmd); return(true); }
public void SetCenter(float value, bool isCombined = false) { value = Math.Min(value, _max); value = Math.Max(value, _min); if (value == _value_center) { return; } float a = Amplitude; float old_center = _value_center; float new_center = value; float old_max = _value_max; float new_max = Math.Min(value + a, _max); float old_min = _value_min; float new_min = Math.Max(value - a, _min); var cmd = new Command.DelegateCommand( () => { _value_center = new_center; _value_max = new_max; _value_min = new_min; CallChanged(new_center, ChangedValueType.Execute); }, () => { _value_center = old_center; _value_max = old_max; _value_min = old_min; CallChanged(old_center, ChangedValueType.Unexecute); }, this, isCombined); Command.CommandManager.Execute(cmd); }
/// <summary> /// 子ノードの破棄 /// </summary> /// <param name="node"></param> /// <returns></returns> public bool RemoveChild(Node node) { if (!children.Contains(node)) { return(false); } var old_value = children; var new_value = new List <Node>(children); new_value.Remove(node); var cmd = new Command.DelegateCommand( () => { children = new_value; if (OnAfterRemoveNode != null) { OnAfterRemoveNode(this, new ChangedValueEventArgs(node, ChangedValueType.Execute)); } }, () => { children = old_value; if (OnAfterAddNode != null) { OnAfterAddNode(this, new ChangedValueEventArgs(node, ChangedValueType.Unexecute)); } }); Command.CommandManager.Execute(cmd); if (node == Core.SelectedNode) { Core.SelectedNode = null; } return(true); }
public void SetValue(bool value) { if (value == _value) return; bool old_value = _value; bool new_value = value; var cmd = new Command.DelegateCommand( () => { _value = new_value; if (OnChanged != null) { OnChanged(this, new ChangedValueEventArgs(new_value, ChangedValueType.Execute)); } }, () => { _value = old_value; if (OnChanged != null) { OnChanged(this, new ChangedValueEventArgs(old_value, ChangedValueType.Unexecute)); } }); Command.CommandManager.Execute(cmd); }
public void SetAbsolutePath(string abspath) { if (abspath == _abspath) return; var old_value = _abspath; var new_value = abspath; var cmd = new Command.DelegateCommand( () => { _abspath = new_value; if (OnChanged != null) { OnChanged(this, new ChangedValueEventArgs(new_value, ChangedValueType.Execute)); } }, () => { _abspath = old_value; if (OnChanged != null) { OnChanged(this, new ChangedValueEventArgs(old_value, ChangedValueType.Unexecute)); } }); Command.CommandManager.Execute(cmd); }
/// <summary> /// 子同士を交換 /// </summary> /// <param name="node1"></param> /// <param name="node2"></param> /// <returns></returns> public bool ExchangeChildren(Node node1, Node node2) { if (node1 == node2) return false; if (!children.Contains(node1)) return false; if (!children.Contains(node2)) return false; var old_value = children; var new_value = new List<Node>(children); var ind1 = new_value.FindIndex((n) => { return n == node1; }); var ind2 = new_value.FindIndex((n) => { return n == node2; }); new_value[ind1] = node2; new_value[ind2] = node1; var cmd = new Command.DelegateCommand( () => { Tuple<Node, Node> nodes = new Tuple<Node, Node>(node1, node2); children = new_value; if (OnAfterExchangeNodes != null) { OnAfterExchangeNodes(this, new ChangedValueEventArgs(nodes, ChangedValueType.Execute)); } }, () => { Tuple<Node, Node> nodes = new Tuple<Node, Node>(node2, node1); children = old_value; if (OnAfterExchangeNodes != null) { OnAfterExchangeNodes(this, new ChangedValueEventArgs(nodes, ChangedValueType.Unexecute)); } }); Command.CommandManager.Execute(cmd); return true; }
/// <summary> /// 現在のノードの親とノードの間にノードを挿入 /// </summary> public Node InsertParent() { if (Parent == null) return null; var node = new Node(Parent); node.children.Add((Node)this); var old_value = Parent.children; var new_value = new List<Node>(Parent.children); for (int i = 0; i < new_value.Count; i++) { if (new_value[i] == this) { new_value[i] = node; break; } } var parent = Parent; var _this = this; var cmd = new Command.DelegateCommand( () => { parent.children = new_value; _this.Parent = node; if (parent.OnAfterRemoveNode != null) { parent.OnAfterRemoveNode(parent, new ChangedValueEventArgs(_this, ChangedValueType.Execute)); } if (parent.OnAfterAddNode != null) { parent.OnAfterAddNode(parent, new ChangedValueEventArgs(node, ChangedValueType.Execute)); } }, () => { parent.children = old_value; _this.Parent = parent; if (parent.OnAfterAddNode != null) { parent.OnAfterAddNode(this, new ChangedValueEventArgs(_this, ChangedValueType.Unexecute)); } if (parent.OnAfterRemoveNode != null) { parent.OnAfterRemoveNode(parent, new ChangedValueEventArgs(node, ChangedValueType.Unexecute)); } }); Command.CommandManager.Execute(cmd); return node; }
/// <summary> /// 子ノードの破棄 /// </summary> /// <param name="node"></param> /// <returns></returns> public bool RemoveChild(Node node) { if (!children.Contains(node)) return false; var old_value = children; var new_value = new List<Node>(children); new_value.Remove(node); var cmd = new Command.DelegateCommand( () => { children = new_value; if (OnAfterRemoveNode != null) { OnAfterRemoveNode(this, new ChangedValueEventArgs(node, ChangedValueType.Execute)); } }, () => { children = old_value; if (OnAfterAddNode != null) { OnAfterAddNode(this, new ChangedValueEventArgs(node, ChangedValueType.Unexecute)); } }); Command.CommandManager.Execute(cmd); if (node == Core.SelectedNode) { Core.SelectedNode = null; } return true; }
/// <summary> /// 子ノードの追加 /// </summary> /// <returns></returns> public Node AddChild() { var node = new Node(this); var old_value = children; var new_value = new List<Node>(children); new_value.Add(node); var cmd = new Command.DelegateCommand( () => { children = new_value; if (OnAfterAddNode != null) { OnAfterAddNode(this, new ChangedValueEventArgs(node, ChangedValueType.Execute)); } }, () => { children = old_value; if (OnAfterRemoveNode != null) { OnAfterRemoveNode(this, new ChangedValueEventArgs(node, ChangedValueType.Unexecute)); } }); Command.CommandManager.Execute(cmd); return node; }
public void SetValue(float value, bool isCombined = false) { value = value.Clipping(_max, _min); if (value == _value) return; float old_value = _value; float new_value = value; var cmd = new Command.DelegateCommand( () => { _value = new_value; CallChanged(new_value, ChangedValueType.Execute); }, () => { _value = old_value; CallChanged(old_value, ChangedValueType.Unexecute); }, this, isCombined); Command.CommandManager.Execute(cmd); }
public void SetCenter(float value, bool isCombined = false) { value = Math.Min(value, _max); value = Math.Max(value, _min); if (value == _value_center) return; float a = Amplitude; float old_center = _value_center; float new_center = value; float old_max = _value_max; float new_max = Math.Min(value + a, _max ); float old_min = _value_min; float new_min = Math.Max(value - a, _min); var cmd = new Command.DelegateCommand( () => { _value_center = new_center; _value_max = new_max; _value_min = new_min; CallChanged(new_center, ChangedValueType.Execute); }, () => { _value_center = old_center; _value_max = old_max; _value_min = old_min; CallChanged(old_center, ChangedValueType.Unexecute); }, this, isCombined); Command.CommandManager.Execute(cmd); }
public void SetMin(int value, bool isCombined = false) { value = Math.Min(value, _max); value = Math.Max(value, _min); if (value == _value_min) return; int old_max = _value_max; int new_max = Math.Max(value, _value_max); int old_min = _value_min; int new_min = value; int old_center = _value_center; int new_center = (new_max + new_min) / 2; var cmd = new Command.DelegateCommand( () => { _value_center = new_center; _value_max = new_max; _value_min = new_min; CallChanged(new_min, ChangedValueType.Execute); }, () => { _value_center = old_center; _value_max = old_max; _value_min = old_min; CallChanged(old_min, ChangedValueType.Unexecute); }, this, isCombined); Command.CommandManager.Execute(cmd); }
public void SetAmplitude(int value, bool isCombined = false) { value = Math.Abs(value); int old_center = _value_center; int new_center = _value_center; int old_max = _value_max; int new_max = Math.Min(_value_center + value, _max); int old_min = _value_min; int new_min = Math.Max(_value_center - value, _min); if (new_max == old_max && new_min == old_min) return; var cmd = new Command.DelegateCommand( () => { _value_center = new_center; _value_max = new_max; _value_min = new_min; CallChanged(new_min, ChangedValueType.Execute); }, () => { _value_center = old_center; _value_max = old_max; _value_min = old_min; CallChanged(old_min, ChangedValueType.Unexecute); }, this, isCombined); Command.CommandManager.Execute(cmd); }