private void DeleteDeviceExecute(object obj) { DynamicChildNodViewModel node = selectValue; //UI int index = DynamicChildren.IndexOf(node); DynamicChildren.Remove(node); //DOM DyncWidget.PanelStatePages.Remove(node.Page as IPanelStatePage); //Select if (index > 0) { SelectValue = DynamicChildren.ElementAt(--index); } else { SelectValue = DynamicChildren.ElementAt(0); } if (node.IsChecked == true) { SelectValue.IsChecked = true; } _document.IsDirty = true; HasChange = true; }
public CreateDynamicPanelStateCommand(DynamicPageEditorViewModel pageVM, DynamicChildNodViewModel stateVM) { _pageVM = pageVM; _stateVM = stateVM; _index = _pageVM.DynamicChildren.IndexOf(_stateVM); _docService = ServiceLocator.Current.GetInstance <IDocumentService>(); }
private void LoadChildrenNode() { DynamicChildren.Clear(); bool canDelete = false; if (DyncWidget.PanelStatePages.Count() > 3) { canDelete = true; } foreach (IPage item in DyncWidget.PanelStatePages) { DynamicChildNodViewModel childVM = new DynamicChildNodViewModel(item); childVM.CanDelete = canDelete; DynamicChildren.Add(childVM); } }
private void RemoveChildPageExecute(object obj) { DynamicChildNodViewModel node = obj as DynamicChildNodViewModel; // This undo command will save the index of node, so have to create it before // removing it from collection. DeleteDynamicPanelStateCommand cmd = new DeleteDynamicPanelStateCommand(this, node); //UI int index = DynamicChildren.IndexOf(node); DynamicChildren.Remove(node); //DOM //DyncWidget.PanelStatePages.Remove(node.Page as IPanelStatePage); DyncWidget.DeletePanelStatePage(node.Page.Guid); if (DyncWidget.StartPanelStatePage == node.Page) { DyncWidget.StartPanelStatePage = DyncWidget.PanelStatePages[0]; } //Select if (index > 0) { SelectValue = DynamicChildren.ElementAt(--index); } else { SelectValue = DynamicChildren.ElementAt(0); } if (node.IsChecked == true) { SelectValue.IsChecked = true; } //Set Dirty IDocumentService doc = ServiceLocator.Current.GetInstance <IDocumentService>(); doc.Document.IsDirty = true; _undoManager.Push(cmd); }
private void CreateChildPageExecute(object obj) { //Dom int size = DyncWidget.PanelStatePages.Count; string szNumber = DyncWidget.PanelStatePages[size - 1].Name.Substring(6); int nNumber = Convert.ToInt16(szNumber) + 1; string pageName; if (nNumber < 10) { pageName = "Panel 0" + nNumber; } else { pageName = "Panel " + nNumber; } IPage newPage = DyncWidget.CreatePanelStatePage(pageName); if (newPage == null) { return; } //UI DynamicChildNodViewModel childVM = new DynamicChildNodViewModel(newPage); DynamicChildren.Add(childVM); //Select SelectValue = childVM; //SelectValue.IsChecked = true; //Set Dirty IDocumentService doc = ServiceLocator.Current.GetInstance <IDocumentService>(); doc.Document.IsDirty = true; CreateDynamicPanelStateCommand cmd = new CreateDynamicPanelStateCommand(this, childVM); _undoManager.Push(cmd); }
private void AddDeviceExecute(object obj) { //Dom IPage newPage = DyncWidget.CreatePanelStatePage("P." + (DynamicChildren.Count + 1)); if (newPage == null) { return; } //UI DynamicChildNodViewModel childVM = new DynamicChildNodViewModel(newPage); DynamicChildren.Add(childVM); //Select SelectValue = childVM; _document.IsDirty = true; HasChange = true; }
private void MoveDownExecute(object obj) { IPage item = selectValue.Page; DynamicChildNodViewModel node = selectValue; int index = DynamicChildren.IndexOf(node); //delete DyncWidget.PanelStatePages.Remove(item as IPanelStatePage); DynamicChildren.Remove(node); //add index++; DyncWidget.PanelStatePages.Insert(index, item as IPanelStatePage); DynamicChildren.Insert(index, node); //Select SelectValue = node; _document.IsDirty = true; HasChange = true; }
private void ChangeActivedPageExecute(object obj) { DynamicChildNodViewModel NewPageVM = obj as DynamicChildNodViewModel; if (AcitiveCurrentChildPage.Guid == NewPageVM.GID) { return; } if (NewPageVM.IsChecked == true) { foreach (IPage item in DyncWidget.PanelStatePages) { if (item.Guid == NewPageVM.GID) { AcitiveCurrentChildPage = item; break; } } } }
public DynamicChildNodViewModelUndo(DynamicChildNodViewModel vm, int index) { NodeViewModel = vm; Name = vm.Name; Index = index; }