Example #1
0
        /// <summary>
        /// Create node for a type (class or interface)
        /// - defer subnodes population to user selection
        /// </summary>
        /// <param name="nodes">In package</param>
        /// <param name="model">Model information</param>
        private void AddModel(TreeNodeCollection nodes, FileModel model)
        {
            if (model.Members != null)
            {
                PluginUI.AddMembers(nodes, model.Members);
            }

            if (model.Classes != null)
            {
                foreach (ClassModel aClass in model.Classes)
                {
                    if (aClass.IndexType == null)
                    {
                        TypeTreeNode node = new TypeTreeNode(aClass);
                        AddExplore(node);
                        allTypes.Add(node);
                        nodes.Add(node);
                    }
                }
            }
        }
Example #2
0
 /// <summary>
 /// Describe types on user selection
 /// </summary>
 /// <param name="node"></param>
 private void outlineTreeView_BeforeExpand(object sender, TreeViewCancelEventArgs e)
 {
     if (e.Node.Nodes.Count == 1 && e.Node.Nodes[0] is ExploreTreeNode)
     {
         outlineTreeView.BeginUpdate();
         try
         {
             e.Node.Nodes.Clear();
             ClassModel theClass = ResolveClass(e.Node);
             if (theClass.IsVoid())
             {
                 return;
             }
             PluginUI.AddMembers(e.Node.Nodes, SelectMembers(theClass.Members, FlagType.Variable));
             PluginUI.AddMembers(e.Node.Nodes, SelectMembers(theClass.Members, FlagType.Getter | FlagType.Setter));
             PluginUI.AddMembers(e.Node.Nodes, SelectMembers(theClass.Members, FlagType.Function));
         }
         finally
         {
             outlineTreeView.EndUpdate();
         }
     }
 }