private void TreeControl_NodeExpandedChanged(object sender, TreeControl.NodeEventArgs e)
        {
            var treeView = TreeView.As <FilteredTreeView>();

            // early exit
            if (m_updating || !m_searching || e.Node.Tag == null ||
                treeView == null)
            {
                return;
            }

            if (m_toExpand != null)
            {
                var node = m_toExpand;
                m_toExpand = null;
                try
                {
                    m_updating = true;
                    TreeControlAdapter.Expand(node.Tag);
                    treeView.RestoreExpansion(e.Node, TreeControlAdapter);
                }
                finally
                {
                    m_updating = false;
                }
            }
            else if (e.Node.Expanded && RestoreSubExpansion)
            {
                treeView.RestoreExpansion(e.Node, TreeControlAdapter);
            }
        }
Esempio n. 2
0
 private void treeControl_NodeSelectedChanged(object sender, TreeControl.NodeEventArgs e)
 {
     if (e.Node.Selected)
     {
         ShowProperties(m_settingsService.GetProperties((Tree <object>)e.Node.Tag));
     }
 }
Esempio n. 3
0
        private void treeControl_NodeSelectedChanged(object sender, TreeControl.NodeEventArgs e)
        {
            if (e.Node.Selected)
            {
                object item = e.Node.Tag;
                {
                    DomNode node = item as DomNode;
                    if (node != null)
                    {
                        // Build property descriptors for node's attributes
                        List <PropertyDescriptor> descriptors = new List <PropertyDescriptor>();
                        foreach (AttributeInfo attributeInfo in node.Type.Attributes)
                        {
                            descriptors.Add(
                                new AttributePropertyDescriptor(
                                    attributeInfo.Name,
                                    attributeInfo,
                                    "Attributes",
                                    null,
                                    true));
                        }

                        // use property collection wrapper to expose the descriptors to the property grid
                        m_propertyGrid.Bind(new PropertyCollectionWrapper(descriptors.ToArray(), node));
                    }
                    else // for NodeAdapters
                    {
                        // Treat NodeAdapters like normal .NET objects and expose directly to the property grid
                        DomNodeAdapter adapter = item as DomNodeAdapter;
                        m_propertyGrid.Bind(adapter);
                    }
                }
            }
        }
Esempio n. 4
0
 private void treeControl_NodeSelectedChanged(object sender, TreeControl.NodeEventArgs e)
 {
     if (e.Node.Selected)
     {
         object item = e.Node.Tag;
         {
             DomNode node = item as DomNode;
             if (node != null)
             {
                 NodeEditingContext nodeEditCtx = Root.Cast <NodeEditingContext>();
                 nodeEditCtx.Set(node);
                 ContextRegistry.ActiveContext = nodeEditCtx;
                 PropertyEditor.PropertyGrid.Bind(node);
             }
             else
             {
                 PropertyEditor.PropertyGrid.Bind(null);
             }
         }
     }
     else
     {
         PropertyEditor.PropertyGrid.Bind(null);
     }
 }
Esempio n. 5
0
 void tree_NodeExpandedChanged(object sender, TreeControl.NodeEventArgs e)
 {
     if (e.Node.Expanded)
     {
         Fill(e.Node.Tag as string, e.Node);
         Invalidate();
     }
     else
     {
         e.Node.Clear();
     }
 }
Esempio n. 6
0
        void treeList_NodeLabelEdited(object sender, TreeControl.NodeEventArgs e)
        {
            int index = cached.IndexOf(e.Node.Tag as string);

            cached[index]         = e.Node.Label;
            e.Node.Tag            = e.Node.Label;
            e.Node.AllowLabelEdit = true;
            INotableDocument doc = DocumentManager.GetInst().ActiveDocument as INotableDocument;

            if (doc != null)
            {
                doc.NoteUpdated(e.Node.Parent.Children.IndexOf(e.Node), e.Node.Label);
            }
        }
Esempio n. 7
0
        /// <summary>
        /// Called on label edited event
        /// </summary>
        /// <param name="e">Event args</param>
        protected virtual void OnNodeLabelEdited(TreeControl.NodeEventArgs e)
        {
            INameable nameable = e.Node.Tag.As <INameable>();

            if (nameable != null)
            {
                ITransactionContext transactionContext = Adapters.As <ITransactionContext>(m_treeControlAdapter.TreeView);
                transactionContext.DoTransaction(
                    delegate
                {
                    nameable.Name = e.Node.Label;
                },
                    Localizer.Localize("Edit Label"));
            }
        }
Esempio n. 8
0
        /// <summary>
        /// Called when the underlying tree control raises the NodeLabelEdited event</summary>
        /// <param name="e">Event args from the underlying tree control's NodeLabelEdited event</param>
        protected virtual void OnNodeLabelEdited(TreeControl.NodeEventArgs e)
        {
            ITreeView treeView = m_treeControlAdapter.TreeView;

            foreach (INamingContext namingContext in treeView.AsAll <INamingContext>())
            {
                if (namingContext.CanSetName(e.Node.Tag))
                {
                    ITransactionContext transactionContext = treeView.As <ITransactionContext>();
                    transactionContext.DoTransaction(
                        () => namingContext.SetName(e.Node.Tag, e.Node.Label),
                        "Edit Label".Localize());
                    break;
                }
            }
        }
Esempio n. 9
0
        /// <summary>
        /// Performs custom actions after changing a node's Expanded property</summary>
        /// <param name="sender">Sender</param>
        /// <param name="e">Event args</param>
        void treeControl_NodeExpandedChanged(object sender, TreeControl.NodeEventArgs e)
        {
            if (!m_searching)
            {
                return;
            }
            var filteredTreeView = TreeView as FilteredTreeView;

            if (m_nodeToExpand != null)
            {
                TreeControl.Node nodeToExpand = m_nodeToExpand;
                m_autoExpanding = true;
                TreeControlAdapter.Expand(m_nodeToExpand.Tag);
                filteredTreeView.RestoreExpansion(TreeControlAdapter, nodeToExpand);
                m_nodeToExpand  = null;
                m_autoExpanding = false;
            }
            else if (e.Node.Expanded && RestoreSubExpansion)
            {
                filteredTreeView.RestoreExpansion(TreeControlAdapter, e.Node);
            }
        }
Esempio n. 10
0
        private void treeControl_NodeSelectedChanged(object sender, TreeControl.NodeEventArgs e)
        {
            if (m_selectionContext != null && !m_synchronizingSelection)
            {
                try
                {
                    m_synchronizingSelection = true;

                    Path <object> path = MakePath(e.Node);
                    if (e.Node.Selected)
                    {
                        m_selectionContext.AddRange(path);
                    }
                    else
                    {
                        m_selectionContext.RemoveRange(path);
                    }
                }
                finally
                {
                    m_synchronizingSelection = false;
                }
            }
        }
Esempio n. 11
0
 private void TreeControlNodeLabelEdited(object sender, TreeControl.NodeEventArgs e)
 {
     OnNodeLabelEdited(e);
 }
Esempio n. 12
0
 private void treeControl_NodeCheckStateEdited(object sender, TreeControl.NodeEventArgs e)
 {
     ShowLayer(e.Node.Tag, e.Node.CheckState == CheckState.Checked);
 }
Esempio n. 13
0
 private void treeControl_NodeExpandedChanged(object sender, TreeControl.NodeEventArgs e)
 {
     UpdateNode(e.Node);
     SetChildren(e.Node);
 }