Exemplo n.º 1
0
        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>();
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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;
        }
Exemplo n.º 7
0
        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;
        }
Exemplo n.º 8
0
        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;
 }