Пример #1
0
 /// <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);
 }
Пример #2
0
        /// <summary>
        /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed.
        /// <example>
        /// treenodemouseclickeventhandler.BeginInvoke(sender, e, callback);
        /// </example>
        /// </summary>
        public static IAsyncResult BeginInvoke(this TreeNodeMouseClickEventHandler treenodemouseclickeventhandler, Object sender, TreeNodeMouseClickEventArgs e, AsyncCallback callback)
        {
            if (treenodemouseclickeventhandler == null)
            {
                throw new ArgumentNullException("treenodemouseclickeventhandler");
            }

            return(treenodemouseclickeventhandler.BeginInvoke(sender, e, callback, null));
        }
Пример #3
0
        public TreeViewEx()
        {
            NodeMouseDoubleClick += new TreeNodeMouseClickEventHandler(NodeDoubleClick);

            MouseUp      += new MouseEventHandler(RightClickPopUpMenu);
            FullRowSelect = true;
            BorderStyle   = BorderStyle.None;
            Visible       = true;

            CreateRightClickContextMenu();
        }
Пример #4
0
        public TreeForm(Object application, ConfigXML configXML)
        {
            try
            {
                resources = new ComponentResourceManager(typeof(TreeForm));

                this.application = application;
                this.configXML = configXML;
                imageList = new ImageUtil();

                // Initialize component
                InitializeComponent();

                // Centering form
                this.CenterToParent();

                // Translations
                accept.Text = resources.GetString("accept");
                cancel.Text = resources.GetString("cancel");
                this.Text = resources.GetString("treenavigator");

                // By default accept button is always disabled
                accept.Enabled = false;

                // Setting the image list
                tree.ImageList = imageList.get();

                // Adding click handler
                treeNodeMouseClickEventHandler = new TreeNodeMouseClickEventHandler(nodeMouseClick);
                tree.NodeMouseClick += treeNodeMouseClickEventHandler;
            }
            catch (Exception e)
            {
                String errorMsg = "TreeForm - (TreeForm)\n" + e.Message + "\n\n" + e.StackTrace;
                MessageBox.Show(errorMsg, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
Пример #5
0
        public TreeForm(Object application, ConfigXML configXML)
        {
            try
            {
                resources = new ComponentResourceManager(typeof(TreeForm));

                this.application = application;
                this.configXML   = configXML;
                imageList        = new ImageUtil();

                // Initialize component
                InitializeComponent();

                // Centering form
                this.CenterToParent();

                // Translations
                accept.Text = resources.GetString("accept");
                cancel.Text = resources.GetString("cancel");
                this.Text   = resources.GetString("treenavigator");

                // By default accept button is always disabled
                accept.Enabled = false;

                // Setting the image list
                tree.ImageList = imageList.get();

                // Adding click handler
                treeNodeMouseClickEventHandler = new TreeNodeMouseClickEventHandler(nodeMouseClick);
                tree.NodeMouseClick           += treeNodeMouseClickEventHandler;
            }
            catch (Exception e)
            {
                String errorMsg = "TreeForm - (TreeForm)\n" + e.Message + "\n\n" + e.StackTrace;
                MessageBox.Show(errorMsg, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
Пример #6
0
        public DocumentTreeView()
        {
            try
            {
                try
                {
                    // get image for tree
                    ImageList = new ImageList();
                    System.Reflection.Assembly assembly = System.Reflection.Assembly.GetAssembly(GetType());
                    ImageList.Images.Add(new Bitmap(assembly.GetManifestResourceStream("Pic.Data.Resources.CLSDFOLD.BMP")));
                    ImageList.Images.Add(new Bitmap(assembly.GetManifestResourceStream("Pic.Data.Resources.OPENFOLD.BMP")));
                    ImageList.Images.Add(new Bitmap(assembly.GetManifestResourceStream("Pic.Data.Resources.DOC.BMP")));
                    // events
                    AfterSelect    += new TreeViewEventHandler(DocumentTreeView_AfterSelect);
                    NodeMouseClick += new TreeNodeMouseClickEventHandler(DocumentTreeView_NodeMouseClick);

                    // construct tree
                    RefreshTree();
                }
                catch (Pic.Data.DataException ex)
                {
                    Debug.Fail(ex.ToString());
                    Logger.Write(ex.ToString(), Category.General, Priority.High);
                }
                catch (Exception ex)
                {
                    Debug.Fail(ex.ToString());
                    Logger.Write(ex.ToString(), Category.General, Priority.High);
                }
            }
            catch (Exception ex)
            {
                Debug.Fail(ex.ToString());
                MessageBox.Show(ex.ToString());
            }
        }
        public DocumentTreeView()
        {
            try
            {
                try
                {
                    // get image for tree
                    ImageList = new ImageList();
                    System.Reflection.Assembly assembly = System.Reflection.Assembly.GetAssembly(GetType());
                    ImageList.Images.Add(new Bitmap(assembly.GetManifestResourceStream("Pic.Data.Resources.CLSDFOLD.BMP")));
                    ImageList.Images.Add(new Bitmap(assembly.GetManifestResourceStream("Pic.Data.Resources.OPENFOLD.BMP")));
                    ImageList.Images.Add(new Bitmap(assembly.GetManifestResourceStream("Pic.Data.Resources.DOC.BMP")));
                    // events
                    AfterSelect += new TreeViewEventHandler(DocumentTreeView_AfterSelect);
                    NodeMouseClick += new TreeNodeMouseClickEventHandler(DocumentTreeView_NodeMouseClick);

                    // construct tree
                    RefreshTree();
                }
                catch (Pic.Data.DataException ex)
                {
                    Debug.Fail(ex.ToString());
                    Logger.Write(ex.ToString(), Category.General, Priority.High);
                }
                catch (Exception ex)
                {
                    Debug.Fail(ex.ToString());
                    Logger.Write(ex.ToString(), Category.General, Priority.High);
                }
            }
            catch (Exception ex)
            {
                Debug.Fail(ex.ToString());
                MessageBox.Show(ex.ToString());
            }
        }
Пример #8
0
 public MyTreeView()
     : base()
 {
     NodeMouseClick += new TreeNodeMouseClickEventHandler(MyTreeView_NodeMouseClick);
 }
 public void SetDoubleClick(TreeNodeMouseClickEventHandler handler)
 {
     list.NodeMouseDoubleClick += handler;
 }
Пример #10
0
        //private Browser watinBrowser = null;

        public DomTreeView()
        {
            NodeMouseClick += new TreeNodeMouseClickEventHandler(DomTreeView_NodeMouseClick);
            LabelEdit       = true;
        }
Пример #11
0
        /// <summary>
        /// Load TreeView Panel with grouped servers placed on the right side of Sessions Form.
        /// </summary>
        public void LoadTreeViewPane(TreeView ServerPane, List <GroupBox> containers_list,
                                     TreeNodeMouseClickEventHandler ServerPane_NodeMouseDoubleClick)
        {
            try
            {
                // Image list for ServerPane TreeView
                ImageList ServerPaneImageList = new ImageList();
                ServerPaneImageList.ImageSize = DPIAwareScaling.ScaleSize(16, 16);
                ServerPaneImageList.Images.Add(PuTTY_Storm.Properties.Resources.VSO_Folder_hoverblue_32x);
                ServerPaneImageList.Images.Add(PuTTY_Storm.Properties.Resources.ComputerSystem_32x);
                ServerPane.ImageList = ServerPaneImageList;

                // Disable redrawing of ServerPane to prevent flickering while changes are made.
                ServerPane.BeginUpdate();

                foreach (GroupBox container in containers_list)
                {
                    Control[] group            = container.Controls.Find("combobox", true);
                    Control[] sub_group        = container.Controls.Find("sub_groups_combobox", true);
                    Control[] hostname_textbox = container.Controls.Find("hostname_textbox", true);

                    Console.WriteLine(group[0].Text);
                    Console.WriteLine(hostname_textbox[0].Text);

                    if ((!(group[0].Text == null || group[0].Text == "")))
                    {
                        // If group doesn't exists - add it
                        if (!ServerPane.Nodes.ContainsKey(group[0].Text))
                        {
                            ServerPane.Nodes.Add(new TreeNode(group[0].Text)
                            {
                                Name       = group[0].Text,
                                ImageIndex = 0, SelectedImageIndex = 0
                            });
                            Console.WriteLine("Group " + group[0].Text + " doesnt exists adding");
                        }

                        // If sub-group doesn't exists - add it
                        if (!ServerPane.Nodes[group[0].Text].Nodes.ContainsKey(sub_group[0].Text))
                        {
                            if (!(sub_group[0].Text == null || sub_group[0].Text == ""))
                            {
                                ServerPane.Nodes[group[0].Text].Nodes.Add(new TreeNode(sub_group[0].Text)
                                {
                                    Name       = sub_group[0].Text,
                                    ImageIndex = 0, SelectedImageIndex = 0
                                });
                                Console.WriteLine("##### SUBGROUP " + sub_group[0].Text + " doesnt exists adding");
                            }
                        }

                        // If server has a group only defined - add it under that group
                        if ((!(group[0].Text == null || group[0].Text == "") && (sub_group[0].Text == null || sub_group[0].Text == "")))
                        {
                            // If server doesn't exists in current group first check if it's part of another group.
                            // If that's the case remove it from that group! Server can be part only of one group!
                            // And then add it to the current group.
                            if (!ServerPane.Nodes[group[0].Text].Nodes.ContainsKey(hostname_textbox[0].Text))
                            {
                                TreeNode[] node = ServerPane.Nodes.Find(hostname_textbox[0].Text, true);
                                if (node.Length > 0)
                                {
                                    ServerPane.Nodes.Remove(node[0]);
                                }
                                ServerPane.Nodes[group[0].Text].Nodes.Add(new TreeNode(hostname_textbox[0].Text)
                                {
                                    Name = hostname_textbox[0].Text, ImageIndex = 1, SelectedImageIndex = 1
                                });
                            }
                        }

                        // If server has group and also sub-group defined - add it under that group -> sub-group
                        if ((!(group[0].Text == null || group[0].Text == "") && !(sub_group[0].Text == null || sub_group[0].Text == "")))
                        {
                            // If server doesn't exists in current sub-group first check if it's part of another sub-group.
                            // If that's the case remove it from that sub-group! Server can be part only of one sub-group!
                            // And then add it to the current sub-group.
                            if (!ServerPane.Nodes[group[0].Text].Nodes[sub_group[0].Text].Nodes.ContainsKey(hostname_textbox[0].Text))
                            {
                                TreeNode[] node = ServerPane.Nodes.Find(hostname_textbox[0].Text, true);
                                if (node.Length > 0)
                                {
                                    ServerPane.Nodes.Remove(node[0]);
                                }
                                ServerPane.Nodes[group[0].Text].Nodes[sub_group[0].Text].Nodes.Add(new TreeNode(hostname_textbox[0].Text)
                                {
                                    Name = hostname_textbox[0].Text, ImageIndex = 1, SelectedImageIndex = 1
                                });
                            }
                        }
                    }
                }

                // Remove empty group and sub-group nodes
                SavedGroupInfo groups = null;

                if (File.Exists(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
                                             "PuTTYStorm", "groups.xml")))
                {
                    groups = saved_groups.get_Groups();
                }
                // Check both layers in case we are removing group which have also empty sub-group
                // inside. Can be done also using recursion.
                for (int i = 0; i < 2; i++)
                {
                    if (groups != null)
                    {
                        RemoveEmptryTreeViewGroups(ServerPane, groups, containers_list);
                    }
                }

                // Sort Nodes in TreeView
                ServerPane.TreeViewNodeSorter = new NodeSorter();
                // Enable redrawing of ServerPane.
                ServerPane.EndUpdate();
            } catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #12
0
        public virtual void OnNodeDeletion(TreeNodeMouseClickEventArgs e)
        {
            TreeNodeMouseClickEventHandler handler = NodeDeleted;

            handler?.Invoke(this, e);
        }