public bool SetElement(IConfigurationItemViewModel element, bool isUp) { if (ChildStructItemViewModels.Contains(element)) { int moveIndexFrom = ChildStructItemViewModels.IndexOf(element as IEditorConfigurationItemViewModel); int moveIndexTo; bool valid = false; if (isUp) { moveIndexTo = moveIndexFrom - 1; valid = (moveIndexTo >= 0) && (moveIndexFrom > 0); } else { moveIndexTo = moveIndexFrom + 1; valid = moveIndexFrom < ChildStructItemViewModels.Count - 1; } if (valid) { element.Checked?.Invoke(false); ChildStructItemViewModels.Move(moveIndexFrom, moveIndexTo); //} this.Checked?.Invoke(false); this.Checked?.Invoke(true); return(true); } else { throw new Exception("invalid data input"); } } return(false); }
public IConfigurationItemViewModel AddMatrix() { IEditorConfigurationItemViewModel newConfigurationItemViewModel = ConfigurationItemEditorViewModelFactory.Create().WithParent(this).VisitMatrix(null); ChildStructItemViewModels.Add(newConfigurationItemViewModel); return(newConfigurationItemViewModel); }
public void PasteAsChild(object itemToPaste) { if (itemToPaste is IEditorConfigurationItemViewModel editorConfigurationItemViewModel) { ChildStructItemViewModels.Add(editorConfigurationItemViewModel); editorConfigurationItemViewModel.Parent = this; } }
public bool GetIsSetElementPossible(IConfigurationItemViewModel element, bool isUp) { if (ChildStructItemViewModels.Contains(element)) { int startIndex = ChildStructItemViewModels.IndexOf(element as IEditorConfigurationItemViewModel); return(isUp ? startIndex > 0 : ChildStructItemViewModels.Count - 1 > startIndex); } return(false); }
public void TryTransformToTable() { if (!IsTableView) { return; } if (ChildStructItemViewModels.All(model => model is RuntimeItemGroupViewModel)) { var wasTransponed = TableConfigurationViewModel?.IsTransponed; TableConfigurationViewModel = new TableConfigurationViewModel(ChildStructItemViewModels.ToList(), FilterViewModels, wasTransponed); } }
public override object Clone() { ConfigurationGroupEditorViewModel cloneEditorViewModel = new ConfigurationGroupEditorViewModel() { IsMain = IsMain, IsTableViewAllowed = IsTableViewAllowed, Header = Header }; cloneEditorViewModel.SetIsGroupWithReiteration(IsGroupWithReiteration); cloneEditorViewModel.ReiterationStep = ReiterationStep; cloneEditorViewModel.SubGroupNames.AddCollection(SubGroupNames.Select(wrapper => new StringWrapper(wrapper.StringValue)).ToList()); ChildStructItemViewModels.ForEach(model => { var child = (model as ICloneable).Clone() as IConfigurationItemViewModel; child.Parent = cloneEditorViewModel; cloneEditorViewModel.IsCheckable = true; cloneEditorViewModel.ChildStructItemViewModels.Add( child); }); cloneEditorViewModel.FilterViewModels.AddCollection(this.FilterViewModels.Select(model => model.Clone())); return(cloneEditorViewModel); }
public bool GetIsSetElementPossible(IConfigurationItemViewModel element, bool isUp) { if (ChildStructItemViewModels.Contains(element)) { if (isUp) { if (ChildStructItemViewModels.IndexOf(element as IEditorConfigurationItemViewModel) > 0) { return(true); } } else { if (ChildStructItemViewModels.IndexOf(element as IEditorConfigurationItemViewModel) < ChildStructItemViewModels.Count - 1) { return(true); } } } return(false); }