Example #1
0
        /// <summary>
        /// 初始化树数据
        /// </summary>
        public void LoadTreeData()
        {
            this.BeginUpdate();

            ///只有右侧树才会加载_dicNodeIndexs
            if (TreeMode == TreeMode.General)
            {
                _dicNodeIndexs.Clear();
            }

            SdsiteXmlDocument sdsiteDoc = Service.Sdsite.CurrentDocument;

            ///添加TreeView的根节点:SiteManagerNode
            if (this.TreeMode == TreeMode.General)
            {
                SiteManagerNode = new SiteManagerNode(Path.GetDirectoryName(SdsiteFilePath));
                AddRootNodeToTree(SiteManagerNode);
                SiteManagerNode.LoadData();
                SiteManagerNode.Expand();

                this.ContextMenuStrip = TreeContextMenuStrip.CreateForTreeView(this);
            }
            else
            {
                SelectTreeRootChanNode = new RootChannelNode(Service.Sdsite.CurrentDocument.RootChannel);
                this.Nodes.Clear();
                this.Nodes.Add(SelectTreeRootChanNode);
                SelectTreeRootChanNode.LoadData();
            }
            this.EndUpdate();
        }
Example #2
0
        static public TreeContextMenuStrip CreateForTreeView(MyTreeView treeView)
        {
            ///创建一个TreeContextMenuStrip
            TreeContextMenuStrip menuStrip = new TreeContextMenuStrip();
            NewMenuItem          newItem   = new NewMenuItem(treeView);

            menuStrip.Items.AddRange(new ToolStripItem[] {
                newItem,
                new ClearPublishInfoMenuItem(treeView),
                new ClearFavoriteMenuItem(treeView),
                new OpenMenuItem(treeView),
                new GotoTargetNode(treeView),
                new ToolStripSeparator(),

                new AddToFavoriteMenuItem(treeView),
                new RemoveFromFavoriteMenuItem(treeView),
                new ToolStripSeparator(),

                new SelectTmpltMenuItem(treeView),
                new GotoCorelationTmpltMenuItem(treeView),
                //new SetAsDefaultTmpltMenuItem(treeView),
                new SetAsIndexPageMenuItem(treeView),
                new TmpltCopyAsMenuItem(treeView),
                new ToolStripSeparator(),

                //deleted by zhucai:"排除"和"包含"这个功能暂时屏蔽掉
                //new ExcludeMenuItem(treeView),
                //new IncludeMenuItem(treeView),
                //new ToolStripSeparator(),

                new CutMenuItem(treeView),
                new CopyMenuItem(treeView),
                new PasteMenuItem(treeView),
                new DeleteMenuItem(treeView),
                new RenameMenuItem(treeView),
                new ToolStripSeparator(),

                new OpenFolderMenuItem(treeView)
            });

            newItem.DropDownItems.AddRange(new ToolStripItem[] {
                new NewFolderMenuItem(treeView),
                new NewChannelMenuItem(treeView),
                new ToolStripSeparator(),

                new ImportResourceMenuItem(treeView),
                new NewGeneralPageMenuItem(treeView),
                new NewHomePageMenuItem(treeView),
                new NewProductPageMenuItem(treeView),
                new NewKnowledgePageMenuItem(treeView),
                new NewHRPageMenuItem(treeView),
                new NewInviteBidPageMenuItem(treeView),
                new NewProjectPageMenuItem(treeView),

                new NewGeneralTmpltMenuItem(treeView),
                new NewHomeTmpltMenuItem(treeView),
                new NewProductTmpltMenuItem(treeView),
                new NewKnowledgeTmpltMenuItem(treeView),
                new NewHRTmpltMenuItem(treeView),
                new NewInviteBidTmpltMenuItem(treeView),
                new NewProjectTmpltMenuItem(treeView)
            });

            /////找到当前程序集所有的类型
            //Type[] types = Assembly.GetExecutingAssembly().GetTypes();

            /////遍历所有类型
            //foreach (var item in types)
            //{
            //    ///获得TreeMenuAttribute定制特性
            //    //object[] objs = item.GetCustomAttributes(typeof(TreeMenuAttribute), false);

            //    ///处理有TreeMenuAttribute定制特性且继承自ToolStripMenuItem的类
            //    if (Utility.Type.IsInherit(typeof(BaseTreeMenuItem),item))
            //    {
            //        ///创建一个ToolStripMenuItem并添加到TreeContextMenuStrip
            //        ToolStripMenuItem menuItem = (BaseTreeMenuItem)Activator.CreateInstance(item, treeView);
            //        menuStrip.Items.Add(menuItem);
            //    }
            //}

            return(menuStrip);
        }