Esempio 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;
        }
        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 DynamicChildren_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            int  i         = 1;
            bool canDelete = false;

            if (DynamicChildren.Count() > 3)
            {
                canDelete = true;
            }
            foreach (DynamicChildNodViewModel item in DynamicChildren)
            {
                item.ShowNumber = i++;
                item.CanDelete  = canDelete;
            }
            ShowType = DyncWidget.NavigationType;
        }
        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);
        }
Esempio 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;
        }
Esempio 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;
        }
Esempio n. 8
0
 private bool CanExecuteMoveDown(object obj)
 {
     return(DynamicChildren.IndexOf(selectValue) < DynamicChildren.Count - 1 && selectValue != null);
 }
Esempio n. 9
0
 public bool CanExecuteMoveUp(object obj)
 {
     return(DynamicChildren.IndexOf(selectValue) > 0 && selectValue != null);
 }