/// <summary>
        /// Constructor
        /// </summary>
        protected BaseTreeView()
            : base()
        {
            BeforeSelect += new TreeViewCancelEventHandler(BeforeSelectHandler);
            AfterSelect  += new TreeViewEventHandler(AfterSelectHandler);
            DoubleClick  += new EventHandler(DoubleClickHandler);
            ItemDrag     += new ItemDragEventHandler(ItemDragHandler);
            DragEnter    += new DragEventHandler(DragEnterHandler);
            DragDrop     += new DragEventHandler(DragDropHandler);
            AllowDrop     = true;

            BeforeExpand   += new TreeViewCancelEventHandler(BeforeExpandHandler);
            BeforeCollapse += new TreeViewCancelEventHandler(BeforeCollapseHandler);

            AfterLabelEdit += new NodeLabelEditEventHandler(LabelEditHandler);
            LabelEdit       = true;
            HideSelection   = false;

            ImageList = new ImageList();
            ImageList.Images.Add(GUI.Properties.Resources.file);
            ImageList.Images.Add(GUI.Properties.Resources.folder_closed);
            ImageList.Images.Add(GUI.Properties.Resources.folder_opened);
            ImageList.Images.Add(GUI.Properties.Resources.req_icon);
            ImageList.Images.Add(GUI.Properties.Resources.model_icon);
            ImageList.Images.Add(GUI.Properties.Resources.test_icon);

            ImageIndex               = 0;
            FileImageIndex           = 0;
            ClosedFolderImageIndex   = 1;
            ExpandedFolderImageIndex = 2;
            RequirementImageIndex    = 3;
            ModelImageIndex          = 4;
            TestImageIndex           = 5;
        }
 /// <summary>
 /// Creates a new instance of the MultiSourceTreeView.
 /// </summary>
 public MultiSourceTreeView()
 {
     MoveNodesOnDragDrop = false;
     BeforeExpand       += MultiSourceTreeView_BeforeExpand;
     AfterSelect        += MultiSourceTreeView_AfterSelect;
     MouseDown          += MultiSourceTreeView_MouseDown;
     SortMode            = SortMode.NodeSource;
     Paint        += MultiSourceTreeView_Paint;
     SortMode      = SortMode.Alphabetical;
     DragOverNode += MultiSourceTreeView_DragOverNode;
     NodeDropped  += MultiSourceTreeView_NodeDropped;
     MouseEnter   += MultiSourceTreeView_MouseEnter;
     MouseLeave   += MultiSourceTreeView_MouseLeave;
     MouseMove    += new MouseEventHandler(MultiSourceTreeView_MouseMove);
     popupMenu     = new ButtonItem();
     popupMenu.AutoExpandOnClick = true;
     cmbPopupMenu      = new ContextMenuBar();
     cmbPopupMenu.Name = "PopupMenuBar";
     cmbPopupMenu.BeginInit();
     cmbPopupMenu.Items.Add(popupMenu);
     cmbPopupMenu.Style = eDotNetBarStyle.Office2007;
     Controls.Add(cmbPopupMenu);
     cmbPopupMenu.EndInit();
     mouseIdle.SynchronizingObject = this;
     mouseIdle.Elapsed            += new System.Timers.ElapsedEventHandler(mouseIdle_Elapsed);
     tooltip.CheckTooltipPosition  = false;
     AfterLabelEdit  += new NodeLabelEditEventHandler(MultiSourceTreeView_AfterLabelEdit);
     BeforeLabelEdit += new NodeLabelEditEventHandler(MultiSourceTreeView_BeforeLabelEdit);
     NodeMouseClick  += new TreeNodeMouseClickEventHandler(MultiSourceTreeView_NodeMouseClick);
     GotFocus        += new EventHandler(MultiSourceTreeView_GotFocus);
 }
 public void InitializeLabelEdit()
 {
     if (!mLabelEditEnabled)
     {
         AfterLabelEdit   += new NodeLabelEditEventHandler(MogControl_BaseTreeView_AfterLabelEdit);
         mLabelEditEnabled = true;
     }
 }
示例#4
0
 /// <summary>
 /// 对树进行操作
 /// </summary>
 public void Operate(PanelDockContainer pdc, TreeViewEventHandler afterselect, TreeViewCancelEventHandler beforeselect, NodeLabelEditEventHandler beforelabeledit, NodeLabelEditEventHandler afterlabeledit)
 {
     //tree.ContextMenuStrip = this.contextMenuStrip1;
     PDC = pdc;
     this.afterSelect = afterselect;
     this.beforeSelect = beforeselect;
     this.beforeLabelEdit = beforelabeledit;
     this.afterLabelEdit = afterlabeledit;
 }
示例#5
0
        /// <summary>
        /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed.
        /// <example>
        /// nodelabelediteventhandler.BeginInvoke(sender, e, callback);
        /// </example>
        /// </summary>
        public static IAsyncResult BeginInvoke(this NodeLabelEditEventHandler nodelabelediteventhandler, Object sender, NodeLabelEditEventArgs e, AsyncCallback callback)
        {
            if (nodelabelediteventhandler == null)
            {
                throw new ArgumentNullException("nodelabelediteventhandler");
            }

            return(nodelabelediteventhandler.BeginInvoke(sender, e, callback, null));
        }
示例#6
0
 /// <summary>
 /// 对树进行操作
 /// </summary>
 public void Operate(PanelDockContainer pdc, TreeViewEventHandler afterselect, TreeViewCancelEventHandler beforeselect, NodeLabelEditEventHandler beforelabeledit, NodeLabelEditEventHandler afterlabeledit)
 {
     //tree.ContextMenuStrip = this.contextMenuStrip1;
     PDC = pdc;
     this.afterSelect     = afterselect;
     this.beforeSelect    = beforeselect;
     this.beforeLabelEdit = beforelabeledit;
     this.afterLabelEdit  = afterlabeledit;
 }
示例#7
0
        public CEditTreeView()
        {
            CheckBoxes = true;

            ContextMenuStrip contextmenu = new ContextMenuStrip();

            contextmenu.Items.Add("Add Node", null, new EventHandler(OnAddNode));
            contextmenu.Items.Add("Add Child", null, new EventHandler(OnAddChild));
            ContextMenuStrip = contextmenu;

            MouseDoubleClick += new MouseEventHandler(OnMouseDoubleClick);
            AfterLabelEdit   += new NodeLabelEditEventHandler(OnAfterLabelEdit);
        }
示例#8
0
文件: Class1.cs 项目: uvbs/FullSource
        public Class1(PanelDockContainer pdc, TreeViewEventHandler afterselect, TreeViewCancelEventHandler beforeselect, NodeLabelEditEventHandler beforelabeledit, NodeLabelEditEventHandler afterlabeledit, SqlConnection conn)
        {
            m_OldForm = null;

            m_PDC                = pdc;
            this.afterSelect     = afterselect;
            this.beforeSelect    = beforeselect;
            this.beforeLabelEdit = beforelabeledit;
            this.afterLabelEdit  = afterlabeledit;
            m_Conn               = conn;
            // helper = new Helper();
            Helper.Conn     = m_Conn;
            Helper.adp_hash = new Hashtable();
        }
示例#9
0
        /// <summary>
        /// EditLabel時にメッセージボックスを表示する
        /// </summary>
        /// <param name="treeView">ツリービュー</param>
        static void TreeViewAfterLabelEditEvent(TreeView treeView)
        {
            NodeLabelEditEventHandler handler = null;

            handler = delegate
            {
                MessageBox.Show("");
                treeView.BeginInvoke((MethodInvoker) delegate
                {
                    treeView.AfterLabelEdit -= handler;
                });
            };
            treeView.AfterLabelEdit += handler;
        }
示例#10
0
文件: Class1.cs 项目: viticm/pap2
        public Class1(PanelDockContainer pdc, TreeViewEventHandler afterselect, TreeViewCancelEventHandler beforeselect, NodeLabelEditEventHandler beforelabeledit, NodeLabelEditEventHandler afterlabeledit, SqlConnection conn)
        {
            m_OldForm = null;

            m_PDC = pdc;
            this.afterSelect = afterselect;
            this.beforeSelect = beforeselect;
            this.beforeLabelEdit = beforelabeledit;
            this.afterLabelEdit = afterlabeledit;
            m_Conn = conn;
            // helper = new Helper();
            Helper.Conn = m_Conn;
            Helper.adp_hash = new Hashtable();
        }
示例#11
0
文件: Class1.cs 项目: uvbs/FullSource
 public Class1(string tblname, string catfield, PanelDockContainer pdc, TreeViewEventHandler afterselect, TreeViewCancelEventHandler beforeselect, NodeLabelEditEventHandler beforelabeledit, NodeLabelEditEventHandler afterlabeledit, SqlConnection conn)
 {
     OldForm              = null;
     TblName              = tblname;
     CatField             = catfield;
     PDC                  = pdc;
     this.afterSelect     = afterselect;
     this.beforeSelect    = beforeselect;
     this.beforeLabelEdit = beforelabeledit;
     this.afterLabelEdit  = afterlabeledit;
     Conn                 = conn;
     helper               = new Helper();
     Helper.Conn          = Conn;
     Helper.adp_hash      = new Hashtable();
 }
示例#12
0
文件: Class1.cs 项目: viticm/pap2
 public Class1(string tblname, string catfield, PanelDockContainer pdc, TreeViewEventHandler afterselect, TreeViewCancelEventHandler beforeselect, NodeLabelEditEventHandler beforelabeledit, NodeLabelEditEventHandler afterlabeledit, SqlConnection conn)
 {
     OldForm = null;
     TblName = tblname;
     CatField = catfield;
     PDC = pdc;
     this.afterSelect = afterselect;
     this.beforeSelect = beforeselect;
     this.beforeLabelEdit = beforelabeledit;
     this.afterLabelEdit = afterlabeledit;
     Conn = conn;
     helper = new Helper();
     Helper.Conn = Conn;
     Helper.adp_hash = new Hashtable();
 }
示例#13
0
        public DataTreeView()
        {
            InitializeComponent();

            parentKeyPropertyName = string.Empty;
            keyPropertyName       = string.Empty;
            namePropertyName      = string.Empty;

            items_Positions   = new SortedList();
            items_Identifiers = new SortedList();
            selectionChanging = false;

            FullRowSelect          = true;
            HideSelection          = false;
            HotTracking            = true;
            AfterSelect           += new TreeViewEventHandler(dataTreeView_AfterSelect);
            BindingContextChanged += new EventHandler(dataTreeView_BindingContextChanged);
            AfterLabelEdit        += new NodeLabelEditEventHandler(dataTreeView_AfterLabelEdit);
            BeforeExpand          += new TreeViewCancelEventHandler(dataTreeView_BeforeExpand);
            BeforeCollapse        += new TreeViewCancelEventHandler(dataTreeView_BeforeCollapse);
        }
        public ServersTreeView()
        {
            ImageList = _imageList;
            ImageList.ColorDepth = ColorDepth.Depth32Bit;
            MouseDown += new MouseEventHandler(ServersTreeView_MouseDown);
            BeforeExpand += new TreeViewCancelEventHandler(ServersTreeView_BeforeExpand);
            BeforeCollapse += new TreeViewCancelEventHandler(ServersTreeView_BeforeCollapse);
            DoubleClick += new EventHandler(openMenu_Click);
            BeforeLabelEdit += new NodeLabelEditEventHandler(ServersTreeView_BeforeLabelEdit);
            AfterLabelEdit += new NodeLabelEditEventHandler(ServersTreeView_AfterLabelEdit);
            ItemDrag += new ItemDragEventHandler(ServersTreeView_ItemDrag);
            DragOver += new DragEventHandler(ServersTreeView_DragOver);
            DragDrop += new DragEventHandler(ServersTreeView_DragDrop);

            LabelEdit = true;
            AllowDrop = true;

            ItemHeight = ItemHeight + 2;

            InitializeComponent();
        }
示例#15
0
        public BookmarksTreeView(String aRoot)
        {
            mBuilder           = new BaseTreeBuilder(this, null);
            mBuilder.Root      = aRoot;
            mBuilder.DataStore = DataStoreRegistry.GetDataStore("Bookmarks");
            mBuilder.DataStore.AddObserver(mBuilder);

            // Use bright green as transparent colour
            mIconTransparentColor = ColorTranslator.FromOle(0x00FF00);

            ImageList = new ImageList();
            // Built in Bookmark icons
            ImageList.Images.Add(Image.FromFile(@"resources\bookmark-folder-closed.png"), mIconTransparentColor);
            ImageList.Images.Add(Image.FromFile(@"resources\bookmark-folder-open.png"), mIconTransparentColor);
            ImageList.Images.Add(Image.FromFile(@"resources\bookmark.png"), mIconTransparentColor);

            // Don't draw lines to root
            ShowRootLines = false;
            ShowPlusMinus = true;

            AfterLabelEdit += new NodeLabelEditEventHandler(OnAfterLabelEdit);
            AfterExpand    += new TreeViewEventHandler(OnAfterExpand);
            AfterCollapse  += new TreeViewEventHandler(OnAfterCollapse);
        }
示例#16
0
        public BookmarksTreeView(String aRoot)
        {
            mBuilder = new BaseTreeBuilder(this, null);
              mBuilder.Root = aRoot;
              mBuilder.DataStore = DataStoreRegistry.GetDataStore("Bookmarks");
              mBuilder.DataStore.AddObserver(mBuilder);

              // Use bright green as transparent colour
              mIconTransparentColor = ColorTranslator.FromOle(0x00FF00);

              ImageList = new ImageList();
              // Built in Bookmark icons
              ImageList.Images.Add(Image.FromFile(@"resources\bookmark-folder-closed.png"), mIconTransparentColor);
              ImageList.Images.Add(Image.FromFile(@"resources\bookmark-folder-open.png"), mIconTransparentColor);
              ImageList.Images.Add(Image.FromFile(@"resources\bookmark.png"), mIconTransparentColor);

              // Don't draw lines to root
              ShowRootLines = false;
              ShowPlusMinus = true;

              AfterLabelEdit += new NodeLabelEditEventHandler(OnAfterLabelEdit);
              AfterExpand += new TreeViewEventHandler(OnAfterExpand);
              AfterCollapse += new TreeViewEventHandler(OnAfterCollapse);
        }
示例#17
0
        public CASTreeViewBase()
        {
            pErr = new Error();

            mICol = null;

            pIsMaySelectedNode = false;

            mFindText			=	string.Empty;
            mIsMatchCase	= false;
            mIsWordWhole	= false;
            mIsLocking		= false;

            _prevTreeNodeSelected = null;

            DoubleClick			+= new System.EventHandler(OnDoubleClickTreeItem);
            MouseDown				+= new System.Windows.Forms.MouseEventHandler(OnMouseDown);
            BeforeLabelEdit += new NodeLabelEditEventHandler (OnBeforeLabelEdit);
            AfterLabelEdit	+= new NodeLabelEditEventHandler (OnAfterLabelEdit);

            mMIDel		= null;
            mMIIns		= null;
            mMIChoice	= null;
            mMIRename	= null;
            mMIProp		= null;
            mMIFind		= null;

            #region DragAndDrop:
            AllowDrop = false; // �� ��������� - ��������� !!!
            DragEnter+=new DragEventHandler(this_DragEnter);
            DragOver+=new DragEventHandler(this_DragOver);
            ItemDrag+=new ItemDragEventHandler(this_ItemDrag);
            QueryContinueDrag+=new QueryContinueDragEventHandler(this_QueryContinueDrag);
            DragDrop+=new DragEventHandler(this_DragDrop);
            #endregion
        }
示例#18
0
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            components = new System.ComponentModel.Container();
            pErr = new Error();

            pIsMayEdit = true;
            pIsMaySelectedNode = false;

            mFindText = string.Empty;
            mIsMatchCase = false;
            mIsWordWhole = false;
            mIsLocking = false;

            mTreeViewNode=null;

            DoubleClick		+= new System.EventHandler(OnDoubleClickTreeItem);
            MouseDown	+= new System.Windows.Forms.MouseEventHandler(OnMouseDown);
            BeforeLabelEdit += new NodeLabelEditEventHandler (OnBeforeLabelEdit);
            AfterLabelEdit += new NodeLabelEditEventHandler (OnAfterLabelEdit);

            ContextMenu = new ContextMenu();
            ContextMenu.Popup += new EventHandler (OnDisplayContextMenu);
            mMIDel = null;

            //this.AfterSelect+=new TreeViewEventHandler(onAfterSelectNode);
            //this.BeforeSelect+=new TreeViewCancelEventHandler(onBeforeSelectNode);
        }
示例#19
0
文件: BaseForm.cs 项目: viticm/pap2
        public void LoadTree()
        {
            m_lua["LuaCallBack"] = new LuaCallBack(baseTree);
            LoadTreeWithLua = true;
            DBCustomClass dbClass = ((PageDesc)m_Pages[0]).dbClass;

            bool bUseOptimizedLoadTree = (this.MdiParent == Program.MainForm);
            //if (dbClass.ExistLuaFunction("UseOptimizedLoadTree"))
            //{
            //    object[] ret = dbClass.CallLuaFunction("UseOptimizedLoadTree");
            //    bUseOptimizedLoadTree = (bool)ret[0];
            //}
            if (dbClass.ExistLuaFunction("LoadTreePlugin"))
            {
                this.BaseTree.Nodes.Clear();
                this.BaseTree.Visible = false;
                this.BaseTree = null;

                object[] args = new object[7];
                args[0] = this.panelDockContainer1;
                TreeViewEventHandler afterSelect = new TreeViewEventHandler(this.baseTree_AfterSelect);
                args[1] = afterSelect;
                TreeViewCancelEventHandler beforeSelect = new TreeViewCancelEventHandler(this.baseTree_BeforeSelect);
                args[2] = beforeSelect;
                NodeLabelEditEventHandler beforeLabelEdit = new NodeLabelEditEventHandler(this.baseTree_BeforeLabelEdit);
                args[3] = beforeLabelEdit;
                NodeLabelEditEventHandler afterLabelEdit = new NodeLabelEditEventHandler(this.Tree_AfterLabelEdit);
                args[4] = afterLabelEdit;
                EventHandler extraMenuItemClick = new EventHandler(this.buttonExtraMenuItem_Click);
                args[5] = extraMenuItemClick;

                
                args[6] = Program.EnableRemoting;

                Helper.AddTimeLog("load tree plugin begin");

                object[] ret = dbClass.CallLuaFunction("LoadTreePlugin", args);

                Helper.AddTimeLog("load tree plugin end");

                LoadTreeWithLua = false;
                m_bPluginTree = true;

                // 这些动作已放到plugin的dll里。
                //this.panelDockContainer1.Controls.Add((Control)(ret[0]));
                //PluginTree.Dock = DockStyle.Fill;
                //PluginTree.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.baseTree_AfterSelect);
                //PluginTree.Update();

                // 返回的第一个是treeview
                // 若要得到treeview的引用,请实时从panelDockContainer1.Controls里面找,因为随时会更新tree。
                TreeView PluginTree = (TreeView)(ret[0]);
                this.BaseTree = PluginTree;
            }
            else if (dbClass.ExistLuaFunction("LoadTreeAll"))
            {
                dbClass.CallLuaFunction("LoadTreeAll");
            }
            else
            {
                try
                {
                    if (dbClass.ExistLuaFunction("LoadTreePost"))
                    {
                        LoadTreeNoLua(false, bUseOptimizedLoadTree);
                        dbClass.CallLuaFunction("LoadTreePost");
                    }
                    else
                    {
                        if (dbClass.ExistLuaFunction("DisplayTreeNode")) // 用脚本控制树结点的显示(只读一次)
                        {   
                            object[] result = dbClass.CallLuaFunction("DisplayTreeNode");
                            if(result != null)
                            {
                                m_displayString = result[0] as string;
                                LoadTreeNoLua(m_displayString, true, bUseOptimizedLoadTree);
                                m_DisplayNode = true; // 用脚本显示树结点文本(只读一次)
                            }
                            else
                            {
                                MessageBox.Show("脚本中DisplayTreeNode方法的返回值不能为空!");
                            }
                        }
                        else if(dbClass.ExistLuaFunction("DisplayTreeNodePlus")) // 用脚本控制树结点的显示(每次树结点变化都需要读)
                        {
                            m_lua["DisplayField"] = null;
                            lua["DisplayRow"] = null; //用于 DisplayTreeNodePlus 事件的当前显示行内容
                            object[] result = dbClass.CallLuaFunction("DisplayTreeNodePlus");
                            if(result != null)
                            {
                                m_displayField = result[0] as string;
                                m_displayString = "";
                                m_DisplayVarNode = true; // 用脚本显示树结点文本(每次树结点变化都需要读)
                                LoadTreeNoLua(m_displayString, true, bUseOptimizedLoadTree);
                                m_DisplayNode = true;
                            }
                            else
                            {
                                MessageBox.Show("脚本中DisplayTreeNodePlus方法的返回值不能为空!");
                            }
                        }
                        else
                        {
                            LoadTreeNoLua(true, bUseOptimizedLoadTree);
                            m_DisplayNode = false; // 不用脚本显示树结点文本
                        }

                        LoadTreeWithLua = false;
                    }
                }
                catch (Exception ex)
                {
                    string err = string.Format("LoadTreeNoLua时发生错误。\r\n\r\n错误信息为:{0}", ex.Message);
                    MessageBox.Show(err);
                }
            }
           
            try
            {
                ModifyTreeCommand cmd = new ModifyTreeCommand(BaseTree);
                cmd.Execute();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }           
        }