예제 #1
0
        private TreeNode FindTreeNode(TreeNode theTreeNode, TreeNodeTag theRepresentingTreeNodeTag)
        {
            TreeNode theTreeNodeToFind = null;

            TreeNodeTag theTreeNodeTag = (TreeNodeTag)theTreeNode.Tag;

            if (theTreeNodeTag.IsRepresentingSame(theRepresentingTreeNodeTag))
            {
                theTreeNodeToFind = theTreeNode;
            }
            else
            {
                foreach (TreeNode subTreeNode in theTreeNode.Nodes)
                {
                    theTreeNodeToFind = FindTreeNode(subTreeNode, theRepresentingTreeNodeTag);

                    if (theTreeNodeToFind != null)
                    {
                        break;
                    }
                }
            }

            return(theTreeNodeToFind);
        }
예제 #2
0
        private void Handle_TreeNode_Selected(object sender, TreeViewEventArgs e)
        {
            try
            {
                TreeNodeTag tag = e.Node.Tag as TreeNodeTag;

                if (tag != null)
                {
                    _InventorSelectionEnabled = false;

                    tag.ListViewItem.Selected = true;

                    ActiveDocument.SelectSet.Clear();

                    foreach (ComponentOccurrence occurrence in tag.Occurrences)
                    {
                        ActiveDocument.SelectSet.Select(occurrence);
                    }

                    _InventorSelectionEnabled = true;
                }
            }
            catch
            {
            }
        }
예제 #3
0
        /// <summary>
        /// 注销数据库
        /// </summary>
        public void RemoveServer()
        {
            if (ServerTreeView.SelectedNode == null)
            {
                return;
            }

            TreeNode rootNode = GetRoot(ServerTreeView.SelectedNode);

            if (rootNode == null)
            {
                return;
            }

            TreeNodeTag tag = (TreeNodeTag)rootNode.Tag;

            if (tag.Type != TreeNodeType.Server)
            {
                return;
            }
            Servers server = (Servers)tag.Tag;

            new Config_Servers().Delete(server.ID);
            rootNode.Remove();
        }
예제 #4
0
        private void m_pTree_MouseUp(object sender, MouseEventArgs e)
        {
            if (m_pTree.SelectedNode == null || e.Button != MouseButtons.Right)
            {
                return;
            }

            // If root node and registered server, show delete menu
            if (m_pTree.SelectedNode.Parent == null && m_pTree.SelectedNode.Tag != null)
            {
                TreeNodeTag nodeTag = (TreeNodeTag)m_pTree.SelectedNode.Tag;
                if (nodeTag.Tag.GetType() == typeof(string) && nodeTag.Tag.ToString().Length > 0)
                {
                    ;

                    /* Mono no support for ContextMenuStrip
                     * ContextMenuStrip menu = new ContextMenuStrip();
                     * ToolStripMenuItem deleteServer = new ToolStripMenuItem("Delete");
                     * deleteServer.Tag = m_pTree.SelectedNode;
                     * deleteServer.Click += new EventHandler(deleteServer_Click);
                     * menu.Items.Add(deleteServer);
                     * menu.Show(m_pTree.PointToScreen(e.Location));*/

                    // Don't show this menu now.
                }
            }
        }
예제 #5
0
        /// <summary>
        /// Expand the supplied node and sub nodes back if they were expanded before.
        /// </summary>
        /// <param name="theTreeNode">The tree node.</param>
        public void RestoreExpandInformation(TreeNode theTreeNode)
        {
            TreeNodeTag theTreeNodeTagForCurrentNode = (TreeNodeTag)theTreeNode.Tag;
            TreeNodeTag theFoundTreeNodeTag          = null;

            // Find out if the node was previously expanded.
            foreach (TreeNodeTag theTreeNodeTag in _TagsOfExpandedNodes)
            {
                if (theTreeNodeTagForCurrentNode.IsRepresentingSame(theTreeNodeTag))
                {
                    theFoundTreeNodeTag = theTreeNodeTag;
                    break;
                }
            }

            // If this node was expanded, expand it back.
            if (theFoundTreeNodeTag != null)
            {
                theTreeNode.Expand();
                _TagsOfExpandedNodes.Remove(theFoundTreeNodeTag);
            }

            // Do the same for all sub nodes.
            foreach (TreeNode subTreeNode in theTreeNode.Nodes)
            {
                RestoreExpandInformation(subTreeNode);
            }
        }
예제 #6
0
        private void AfterCollapseRecursive(TreeNode node)
        {
            foreach (TreeNode childNode in node.Nodes)
            {
                TreeNodeTag tag = childNode.Tag as TreeNodeTag;
                tag.ListViewItem.Remove();

                AfterCollapseRecursive(childNode);
            }
        }
예제 #7
0
        private void btnRefresh_Click(object sender, EventArgs e)
        {
            treeView.Nodes.Clear();
            cmbCateID.Items.Clear();

            //Add root node
            TreeNode    root = new TreeNode("细胞分类");
            TreeNodeTag tag;

            tag          = new TreeNodeTag();
            tag.Id       = 0;
            tag.NodeType = TreeNodeType.Root;
            root.Tag     = tag;
            treeView.Nodes.Add(root);
            treeView.SelectedNode = root;

            IList <Category> lstCate;
            IList <Types>    lstTypes;

            //Category
            lstCate = cateDao.GetList();
            foreach (Category cate in lstCate)
            {
                TreeNode cateNode = new TreeNode(cate.CategoryName);
                tag          = new TreeNodeTag();
                tag.Id       = cate.CateId;
                tag.NodeType = TreeNodeType.Category;
                cateNode.Tag = tag;
                treeView.SelectedNode.Nodes.Add(cateNode);
                treeView.SelectedNode = cateNode;

                cmbCateID.Items.Add(cate.CateId);

                //Type
                {
                    lstTypes = typesDao.GetListByCategory(cate.CateId);
                    foreach (Types type in lstTypes)
                    {
                        TreeNode typeNode = new TreeNode(type.CellType);
                        tag          = new TreeNodeTag();
                        tag.Id       = type.TypeId;
                        tag.NodeType = TreeNodeType.Type;
                        typeNode.Tag = tag;
                        treeView.SelectedNode.Nodes.Add(typeNode);
                    }
                }

                treeView.SelectedNode = root;
            }

            treeView.ExpandAll();
        }
예제 #8
0
        private void treeViewLeft_AfterSelect(object sender, TreeViewEventArgs e)
        {
            TreeNodeTag tag = treeViewLeft.SelectedNode.Tag as TreeNodeTag;

            if (tag.FormName != null)
            {
                this.panelRight.Hide();
                this.panelRight.SuspendLayout();
                this.LoadSubWindow(tag.FormName);
                this.panelRight.ResumeLayout();
                this.panelRight.Show();
            }
        }
예제 #9
0
        private void m_pTree_DoubleClick(object sender, EventArgs e)
        {
            if (m_pTree.SelectedNode == null)
            {
                return;
            }

            // If root node and server not connected yet, connect
            if (m_pTree.SelectedNode.Parent == null && m_pTree.SelectedNode.Nodes.Count == 0)
            {
                TreeNodeTag nodeTag = (TreeNodeTag)m_pTree.SelectedNode.Tag;
                DataRow     dr      = (DataRow)nodeTag.Tag;
                try{
                    nodeTag.Server.Connect(dr["Host"].ToString(), dr["UserName"].ToString(), dr["Password"].ToString());
                    LoadServer(m_pTree.SelectedNode, nodeTag.Server, dr["ID"].ToString());
                }
                // Show connect UI
                catch {
                    wfrm_ConnectToServer frm = new wfrm_ConnectToServer(
                        dr["Host"].ToString(),
                        dr["UserName"].ToString(),
                        dr["Password"].ToString(),
                        false
                        );
                    if (frm.ShowDialog(this) == DialogResult.OK)
                    {
                        // Save new connection info
                        DataSet ds = LoadRegisteredServers();
                        // Find server with specified ID
                        foreach (DataRow drServer in ds.Tables["Servers"].Rows)
                        {
                            if (drServer["ID"].ToString() == dr["ID"].ToString())
                            {
                                drServer["Host"]     = frm.Host;
                                drServer["UserName"] = frm.UserName;
                                drServer["Password"] = frm.Password;
                                ds.WriteXml(Application.StartupPath + "/Settings/managerServers.xml");
                                break;
                            }
                        }

                        LoadServer(m_pTree.SelectedNode, frm.Server, dr["ID"].ToString());
                    }
                    else
                    {
                        return;
                    }
                }
            }
        }
예제 #10
0
        void DocumentEvents_OnChangeSelectSet(
            EventTimingEnum BeforeOrAfter,
            NameValueMap Context,
            out HandlingCodeEnum HandlingCode)
        {
            HandlingCode = HandlingCodeEnum.kEventNotHandled;

            if (!_InventorSelectionEnabled)
            {
                return;
            }

            try
            {
                if (BeforeOrAfter == EventTimingEnum.kAfter)
                {
                    if (ActiveDocument.SelectSet.Count != 0)
                    {
                        object obj = ActiveDocument.SelectSet[ActiveDocument.SelectSet.Count];

                        if (obj is ComponentOccurrence)
                        {
                            ComponentOccurrence occurrence = obj as ComponentOccurrence;

                            foreach (TreeNode childNode in _treeView.Nodes[0].Nodes)
                            {
                                foreach (TreeNode subChildNode in childNode.Nodes)
                                {
                                    TreeNodeTag tag = subChildNode.Tag as TreeNodeTag;

                                    if (tag.Occurrences.Contains(occurrence))
                                    {
                                        childNode.Expand();

                                        _treeView.SelectedNode = subChildNode;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch
            {
            }
        }
예제 #11
0
        /// <summary>
        /// If nodes exist:
        /// 1. Try to select the node with the same representing tag.
        /// 2. If this fails, find the session node with the same session as the tag.
        /// 3. If this fails, select the first session node.
        /// </summary>
        /// <param name="theTreeView"></param>
        public void RestoreSelectedNode(TreeView theTreeView)
        {
            TreeNode theTreeNodeToSelect = null;

            if (theTreeView.Nodes.Count > 0)
            {
                // 1. Try to select the node with the same representing tag.
                foreach (TreeNode theSessionNode in theTreeView.Nodes)
                {
                    theTreeNodeToSelect = FindTreeNode(theSessionNode, _TagOfSelectedNode);

                    if (theTreeNodeToSelect != null)
                    {
                        break;
                    }
                }

                // 2.If this fails, find the session node with the same session as the tag.
                if (theTreeNodeToSelect == null)
                {
                    foreach (TreeNode theSessionNode in theTreeView.Nodes)
                    {
                        TreeNodeTag theSessionTreeNodeTag = (TreeNodeTag)theSessionNode.Tag;

                        if (theSessionTreeNodeTag.IsRepresentingSame(_TagOfSelectedNode))
                        {
                            theTreeNodeToSelect = theSessionNode;
                            break;
                        }
                    }
                }

                // 3. If this fails, select the first session node.
                if (theTreeNodeToSelect == null)
                {
                    theTreeNodeToSelect = theTreeView.Nodes[0];
                }

                theTreeView.SelectedNode = theTreeNodeToSelect;
            }

            _TagOfSelectedNode = null;
        }
예제 #12
0
        private void AfterExpandRecursive(TreeNode node, ref int idx)
        {
            if (node != _treeView.Nodes[0])
            {
                TreeNodeTag nodeItem = node.Tag as TreeNodeTag;
                idx = nodeItem.ListViewItem.Index + 1;
            }

            foreach (TreeNode childNode in node.Nodes)
            {
                TreeNodeTag tag = childNode.Tag as TreeNodeTag;

                _listViewEx.Items.Insert(idx++, tag.ListViewItem);

                if (childNode.IsExpanded)
                {
                    AfterExpandRecursive(childNode, ref idx);
                }
            }
        }
예제 #13
0
        /// <summary>
        /// Fills the tree view according to the configuration database.
        /// </summary>
        public void FillTreeView(ConfigDataset configDataset, int selectedLineNum)
        {
            ArgumentNullException.ThrowIfNull(configDataset, nameof(configDataset));

            try
            {
                treeView.BeginUpdate();
                treeView.Nodes.Clear();

                foreach (CommLine commLine in configDataset.CommLineTable.Enumerate())
                {
                    TreeNode lineNode = new(CommUtils.GetLineTitle(commLine))
                    {
                        Tag = new TreeNodeTag(commLine, CommNodeType.Line)
                    };

                    foreach (Device device in configDataset.DeviceTable.Select(
                                 new TableFilter("CommLineNum", commLine.CommLineNum), true))
                    {
                        lineNode.Nodes.Add(new TreeNode(CommUtils.GetDeviceTitle(device))
                        {
                            Tag = new TreeNodeTag(device, CommNodeType.Device)
                        });
                    }

                    treeView.Nodes.Add(lineNode);

                    if (commLine.CommLineNum == selectedLineNum)
                    {
                        lineNode.Checked = true;
                        lineNode.Expand();
                    }
                }
            }
            finally
            {
                treeView.EndUpdate();
            }
        }
예제 #14
0
        /// <summary>
        /// Fills the tree view according to the Communicator configuration.
        /// </summary>
        public void FillTreeView(CommConfig commConfig, int selectedLineNum)
        {
            ArgumentNullException.ThrowIfNull(commConfig, nameof(commConfig));

            try
            {
                treeView.BeginUpdate();
                treeView.Nodes.Clear();

                foreach (LineConfig lineConfig in commConfig.Lines)
                {
                    TreeNode lineNode = new(CommUtils.GetLineTitle(lineConfig))
                    {
                        Tag = new TreeNodeTag(lineConfig, CommNodeType.Line)
                    };

                    foreach (DeviceConfig deviceConfig in lineConfig.DevicePolling)
                    {
                        lineNode.Nodes.Add(new TreeNode(CommUtils.GetDeviceTitle(deviceConfig))
                        {
                            Tag = new TreeNodeTag(deviceConfig, CommNodeType.Device)
                        });
                    }

                    treeView.Nodes.Add(lineNode);

                    if (lineConfig.CommLineNum == selectedLineNum)
                    {
                        lineNode.Checked = true;
                        lineNode.Expand();
                    }
                }
            }
            finally
            {
                treeView.EndUpdate();
            }
        }
예제 #15
0
        private void deleteServer_Click(object sender, EventArgs e)
        {
            TreeNode    node    = ((TreeNode)((ToolStripMenuItem)sender).Tag);
            TreeNodeTag nodeTag = (TreeNodeTag)m_pTree.SelectedNode.Tag;

            if (MessageBox.Show(this, "Are you sure you want to remove server '" + node.Text + "' from UI ?", "Confirm delete:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                // Save new connection info
                DataSet ds = LoadRegisteredServers();
                // Find server with specified ID
                foreach (DataRow drServer in ds.Tables["Servers"].Rows)
                {
                    if (drServer["ID"].ToString() == nodeTag.Tag.ToString())
                    {
                        drServer.Delete();
                        ds.WriteXml(Application.StartupPath + "/Settings/managerServers.xml");
                        break;
                    }
                }
                nodeTag.Server.Disconnect();
                node.Remove();
            }
        }
예제 #16
0
        private void GetInfo(TreeNodeTag tag)
        {
            Category cate;
            Types    cellType;

            switch (tag.NodeType)
            {
            case TreeNodeType.Category:
                cate             = cateDao.GetCategory(tag.Id);
                cmbCateID.Text   = cate.CateId.ToString();
                txtCateName.Text = cate.CategoryName;
                break;

            case TreeNodeType.Type:
                cellType            = typesDao.GetTypeById(tag.Id);
                cmbCateID.Text      = cellType.CateId.ToString();
                txtTypeId.Text      = cellType.TypeId.ToString();
                txtCellType.Text    = cellType.CellType;
                txtCellCode.Text    = cellType.CellCode;
                txtDescription.Text = cellType.Description;
                cate             = cateDao.GetCategory(cellType.CateId);
                txtCateName.Text = cate.CategoryName;
                if (cellType.ColorStr != null && cellType.ColorStr != "NULL")
                {
                    btnColor.BackColor = ColorTranslator.FromHtml(cellType.ColorStr);
                }
                else
                {
                    btnColor.BackColor = Color.Black;
                }
                break;

            default:
                break;
            }
        }
예제 #17
0
        private string GetOrUpdateNodeDetailedInfo(TreeNodeTag tag)
        {
            if (!string.IsNullOrEmpty(tag.RecordDescription))
            {
                return(tag.RecordDescription);
            }

            // 构建流的原始内容。
            var sb = new StringBuilder(256);

            sb.AppendFormat("原始字节流({0}):\r\n{1}", tag.Stream.Length,
                            string.Join(" ", tag.Stream.Select(p => string.Format("{0:X2}", p))));

            // 构建解析后的内容。
            if (tag.Frame != null)
            {
                sb.AppendFormat("\r\n\r\n解析后:\r\n{0}", tag.Frame);
            }
            else if (tag.Parser != null)
            {
                string msg;
                try
                {
                    msg = tag.Parser.Parse(tag.Stream, 0).ToString(); // 解析流
                }
                catch (Exception ex)
                {
                    msg = ex.ToString();
                }

                sb.AppendFormat("\r\n\r\n解析后:\r\n{0}", msg);
            }

            tag.RecordDescription = sb.ToString();
            return(tag.RecordDescription);
        }
예제 #18
0
        /// <summary>
        /// 加载下级节点
        /// </summary>
        private void AddNodes(bool isRefresh = false)
        {
            TreeNode selNode = treeViewLeft.SelectedNode;

            if (selNode == null)
            {
                return;
            }
            if (selNode.Nodes.Count > 0 && !isRefresh)
            {
                return;
            }

            selNode.Nodes.Clear();
            TreeNode rootNode = GetRoot(selNode);

            if (rootNode == null)
            {
                return;
            }

            TreeNodeTag rootNodeTag = (TreeNodeTag)rootNode.Tag;
            Servers     server      = (Servers)rootNodeTag.Tag;

            if (server == null)
            {
                return;
            }
            TreeNodeTag  treeNodeTag = (TreeNodeTag)selNode.Tag;;
            BLL_Database Database    = new BLL_Database(server.Type);
            string       msg;

            if (!Database.TestDatabaseConnnection(server.Id, out msg))
            {
                ShowBox(msg, "数据库连接失败");
                return;
            }

            switch (treeNodeTag.Type)
            {
                #region  务器加载数据库
            case TreeNodeType.ServerNode:
                var dbs = Database.GetDatabases(server.Id);
                foreach (var db in dbs)
                {
                    TreeNode dbNode = new TreeNode();
                    dbNode.Name               = db;
                    dbNode.Text               = db;
                    dbNode.ImageIndex         = 1;
                    dbNode.SelectedImageIndex = 1;
                    dbNode.Tag = new Model.TreeNodeTag()
                    {
                        Type = TreeNodeType.DataBaseNode, Tag = db
                    };
                    selNode.Nodes.Add(dbNode);
                }
                break;
                #endregion

                #region 数据库加载表
            case TreeNodeType.DataBaseNode:     //数据库加载表

                TreeNode tblNode = new TreeNode();
                tblNode.Name = "表";
                tblNode.Text = "表";
                tblNode.Tag  = new Model.TreeNodeTag()
                {
                    Type = TreeNodeType.TableNode, Tag = treeNodeTag.Tag.ToString()
                };
                tblNode.ImageIndex         = 4;
                tblNode.SelectedImageIndex = 4;
                selNode.Nodes.Add(tblNode);


                //添加视图节点
                TreeNode viewNode = new TreeNode();
                viewNode.Name = "视图";
                viewNode.Text = "视图";
                viewNode.Tag  = new Model.TreeNodeTag()
                {
                    Type = TreeNodeType.ViewNode, Tag = treeNodeTag.Tag.ToString()
                };
                viewNode.ImageIndex         = 4;
                viewNode.SelectedImageIndex = 4;
                selNode.Nodes.Add(viewNode);

                break;
                #endregion

                #region 表节点加载表
            case TreeNodeType.TableNode:     //表节点加载表
                var tables = Database.GetTables(server.Id, treeNodeTag.Tag.ToString());
                foreach (var table in tables)
                {
                    TreeNode tblNode1 = new TreeNode();
                    tblNode1.Name               = table.Name;
                    tblNode1.Text               = table.Name;
                    tblNode1.ImageIndex         = 2;
                    tblNode1.SelectedImageIndex = 2;
                    tblNode1.Tag = new Model.TreeNodeTag()
                    {
                        Type = TreeNodeType.Table, Tag = table.Name
                    };
                    selNode.Nodes.Add(tblNode1);
                }
                break;
                #endregion

                #region 表加载字段
            case TreeNodeType.Table:     //表加载字段
                var fields = Database.GetFields(server.Id, ((TreeNodeTag)selNode.Parent.Tag).Tag.ToString(), ((TreeNodeTag)selNode.Tag).Tag.ToString());
                foreach (var field in fields)
                {
                    TreeNode fldNode = new TreeNode();
                    fldNode.Name               = field.Name;
                    fldNode.Text               = string.Format("{0}({1}{2},{3})", field.Name, field.Type, field.Length != -1 ? "(" + field.Length.ToString() + ")" : "", field.IsNull ? "null" : "not null");
                    fldNode.ImageIndex         = field.IsPrimaryKey ? 5 : 3;
                    fldNode.SelectedImageIndex = field.IsPrimaryKey ? 5 : 3;
                    fldNode.Tag = new Model.TreeNodeTag()
                    {
                        Type = TreeNodeType.Field, Tag = field
                    };
                    selNode.Nodes.Add(fldNode);
                }

                new Form_TableDetail(selNode.Text, fields).AddDockPannel(Form_Main.Instance.dockPanel);

                break;
                #endregion

            default:
                break;
            }
            selNode.Expand();
        }
예제 #19
0
        private TreeNode AddSuite(TreeNode node, string suiteName, TestRule rule)
        {
            TreeNode suiteNode = FindByKey(node.Nodes, suiteName);

            if (suiteNode == null)
            {
                suiteNode = new TreeNode(suiteName);
                SetIcon(suiteNode, ICON_TYPE.READY);
                TreeNodeTag tag = new TreeNodeTag(TREENODE_TYPE.SUITE, rule.Name, suiteName);
                suiteNode.Tag = tag;

                Add(node.Nodes, suiteNode);
            }

            return suiteNode;
        }
예제 #20
0
        private TreeNode AddTest(TreeNode projectNode, TreeNode suiteNode, string testName, string strCode, string fileName, int lineIndex, int lineEndIndex, TestRule rule)
        {
            TreeNode parentNode = suiteNode;
            if (parentNode == null)
                parentNode = projectNode;

            TreeNode testNode = FindByKey(parentNode.Nodes, testName);

            if (testNode == null)
            {
                testNode = new TreeNode(testName);
                SetIcon(testNode, ICON_TYPE.READY);
                TreeNodeTag tag = new TreeNodeTag( TREENODE_TYPE.TEST, rule.Name, testName, strCode, fileName, lineIndex, lineEndIndex );
                testNode.Tag = tag;

                Add(parentNode.Nodes, testNode);
            }

            return testNode;
        }
예제 #21
0
        private void m_pTree_AfterSelect(object sender, TreeViewEventArgs e)
        {
            m_pFrame.FormFrameBorder = BorderStyle.FixedSingle;
            m_pFrame.Frame_ToolStrip = null;
            if (e.Node == null || e.Node.Tag == null)
            {
                m_pFrame.Frame_Form = new Form();
                return;
            }
            // If root node and server not connected yet, skip it
            if (e.Node.Parent == null && e.Node.Nodes.Count == 0)
            {
                return;
            }

            TreeNodeTag nodeTag = (TreeNodeTag)e.Node.Tag;

            if (nodeTag.TreeNodeType == NodeType.Dummy)
            {
                m_pFrame.Frame_Form = new Form();
            }
            else if (nodeTag.TreeNodeType == NodeType.Server)
            {
                m_pFrame.Frame_Form = new wfrm_Server_Info(nodeTag.Server);
            }
            else if (nodeTag.TreeNodeType == NodeType.LocalMachineMonitoring)
            {
                m_pFrame.Frame_Form = new wfrm_Monitoring_Sessions(nodeTag.Server);
            }
            else if (nodeTag.TreeNodeType == NodeType.Monitoring_SipRegistrations)
            {
                m_pFrame.Frame_Form = new wfrm_Monitoring_SipRegistrations(nodeTag.Server, m_pFrame);
            }
            else if (nodeTag.TreeNodeType == NodeType.Monitoring_SipCalls)
            {
                m_pFrame.Frame_Form = new wfrm_Monitoring_SIP_Calls(nodeTag.Server, m_pFrame);
            }
            else if (nodeTag.TreeNodeType == NodeType.EventsAndLogs_Events)
            {
                m_pFrame.Frame_Form = new wfrm_EventsAndLogs_Events(nodeTag.Server, m_pFrame);
            }
            else if (nodeTag.TreeNodeType == NodeType.EventsAndLogs_Logs)
            {
                m_pFrame.Frame_Form = new wfrm_EventsAndLogs_Logs(nodeTag.Server, m_pFrame);
            }
            else if (nodeTag.TreeNodeType == NodeType.VirtualServers)
            {
                m_pFrame.Frame_Form = new wfrm_VirtualServers(this, nodeTag.OwnerNode, nodeTag.Server, m_pFrame);
            }
            else if (nodeTag.TreeNodeType == NodeType.System_General)
            {
                m_pFrame.FormFrameBorder = BorderStyle.None;
                m_pFrame.Frame_Form      = new wfrm_System_General((VirtualServer)nodeTag.Tag);
            }
            else if (nodeTag.TreeNodeType == NodeType.System_Authentication)
            {
                m_pFrame.FormFrameBorder = BorderStyle.None;
                m_pFrame.Frame_Form      = new wfrm_System_Authentication((VirtualServer)nodeTag.Tag);
            }
            else if (nodeTag.TreeNodeType == NodeType.System_Services_SMTP)
            {
                m_pFrame.FormFrameBorder = BorderStyle.None;
                m_pFrame.Frame_Form      = new wfrm_System_Services_SMTP((VirtualServer)nodeTag.Tag);
            }
            else if (nodeTag.TreeNodeType == NodeType.System_Services_POP3)
            {
                m_pFrame.FormFrameBorder = BorderStyle.None;
                m_pFrame.Frame_Form      = new wfrm_System_Services_POP3((VirtualServer)nodeTag.Tag);
            }
            else if (nodeTag.TreeNodeType == NodeType.System_Services_IMAP)
            {
                m_pFrame.FormFrameBorder = BorderStyle.None;
                m_pFrame.Frame_Form      = new wfrm_System_Services_IMAP((VirtualServer)nodeTag.Tag);
            }
            else if (nodeTag.TreeNodeType == NodeType.System_Services_Relay)
            {
                m_pFrame.FormFrameBorder = BorderStyle.None;
                m_pFrame.Frame_Form      = new wfrm_System_Services_Relay((VirtualServer)nodeTag.Tag);
            }
            else if (nodeTag.TreeNodeType == NodeType.System_Services_FetchPOP3)
            {
                m_pFrame.FormFrameBorder = BorderStyle.None;
                m_pFrame.Frame_Form      = new wfrm_System_Services_FetchPOP3((VirtualServer)nodeTag.Tag);
            }
            else if (nodeTag.TreeNodeType == NodeType.System_Services_SIP)
            {
                m_pFrame.FormFrameBorder = BorderStyle.None;
                m_pFrame.Frame_Form      = new wfrm_System_Services_SIP((VirtualServer)nodeTag.Tag);
            }
            else if (nodeTag.TreeNodeType == NodeType.System_Logging)
            {
                m_pFrame.FormFrameBorder = BorderStyle.None;
                m_pFrame.Frame_Form      = new wfrm_System_Logging((VirtualServer)nodeTag.Tag);
            }
            else if (nodeTag.TreeNodeType == NodeType.System_Backup)
            {
                m_pFrame.Frame_Form = new wfrm_System_Backup((VirtualServer)nodeTag.Tag);
            }
            else if (nodeTag.TreeNodeType == NodeType.System_ReturnMessages)
            {
                m_pFrame.Frame_Form = new wfrm_System_ReturnMessages((VirtualServer)nodeTag.Tag);
            }
            else if (nodeTag.TreeNodeType == NodeType.Domains)
            {
                m_pFrame.Frame_Form = new wfrm_Domains((VirtualServer)nodeTag.Tag, m_pFrame);
            }
            else if (nodeTag.TreeNodeType == NodeType.UsersAndGroups_Users)
            {
                m_pFrame.Frame_Form = new wfrm_UsersAndGroups_Users((VirtualServer)nodeTag.Tag, m_pFrame);
            }
            else if (nodeTag.TreeNodeType == NodeType.UsersAndGroups_Groups)
            {
                m_pFrame.Frame_Form = new wfrm_UsersAndGroups_Groups((VirtualServer)nodeTag.Tag, m_pFrame);
            }
            else if (nodeTag.TreeNodeType == NodeType.MailingLists)
            {
                m_pFrame.Frame_Form = new wfrm_MailingLists((VirtualServer)nodeTag.Tag, m_pFrame);
            }
            else if (nodeTag.TreeNodeType == NodeType.Routing)
            {
                m_pFrame.Frame_Form = new wfrm_Routing_Routes((VirtualServer)nodeTag.Tag, m_pFrame);
            }
            else if (nodeTag.TreeNodeType == NodeType.Rules_Message_Global)
            {
                m_pFrame.Frame_Form = new wfrm_GlobalMessageRules((VirtualServer)nodeTag.Tag, m_pFrame);
            }
            else if (nodeTag.TreeNodeType == NodeType.SharedFolders_RootFolders)
            {
                m_pFrame.Frame_Form = new wfrm_SharedFolders_RootFolders((VirtualServer)nodeTag.Tag, m_pFrame);
            }/*
              * else if(nodeTag.TreeNodeType == NodeType.SharedFolders_Users){
              * m_pFrame.Frame_Form = new wfrm_SharedFolders_UserFolders((VirtualServer)nodeTag.Tag,m_pFrame);
              * }*/
            else if (nodeTag.TreeNodeType == NodeType.Folders_UsersDefaultFolders)
            {
                m_pFrame.Frame_Form = new wfrm_Folders_UsersDefaultFolders((VirtualServer)nodeTag.Tag, m_pFrame);
            }
            else if (nodeTag.TreeNodeType == NodeType.Folders_RecycleBin)
            {
                m_pFrame.Frame_Form = new wfrm_Folders_RecycleBin((VirtualServer)nodeTag.Tag, m_pFrame);
            }
            else if (nodeTag.TreeNodeType == NodeType.Filters)
            {
                m_pFrame.Frame_Form = new wfrm_Filters((VirtualServer)nodeTag.Tag, m_pFrame);
            }
            else if (nodeTag.TreeNodeType == NodeType.Queues_IncomingSMTP)
            {
                m_pFrame.Frame_Form = new wfrm_Queues_IncomingSMTP((VirtualServer)nodeTag.Tag);
            }
            else if (nodeTag.TreeNodeType == NodeType.Queues_OutgoingSMTP)
            {
                m_pFrame.Frame_Form = new wfrm_Queues_OutgoingSMTP((VirtualServer)nodeTag.Tag);
            }
            else if (nodeTag.TreeNodeType == NodeType.Security)
            {
                m_pFrame.Frame_Form = new wfrm_Security_IPSecurity((VirtualServer)nodeTag.Tag, m_pFrame);
            }
        }
예제 #22
0
        private void m_treeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            if (!Objects.NetlistContainerManager.Instance.Contains(NetlistContainerName))
            {
                return;
            }

            NetlistContainer nlc = Objects.NetlistContainerManager.Instance.Get(NetlistContainerName);

            int slices = 0;
            int dsp    = 0;
            int bram   = 0;

            // primitive
            if (e.Node.Tag != null)
            {
                m_txtInstanceCode.Clear();

                if (!(e.Node.Tag is TreeNodeTag))
                {
                }

                TreeNodeTag tag  = (TreeNodeTag)e.Node.Tag;
                XDLInstance inst = tag.Instance;

                if (tag.Instance == null)
                {
                    m_txtInstanceCode.AppendText("no primitive code available for hierarchy node");

                    foreach (TreeNode leave in e.Node.GetChildNodes())
                    {
                        TreeNodeTag leaveTag      = (TreeNodeTag)leave.Tag;
                        XDLInstance leaveInstance = leaveTag.Instance;
                        if (leaveInstance != null)
                        {
                            if (IdentifierManager.Instance.IsMatch(leaveInstance.Location, IdentifierManager.RegexTypes.CLB))
                            {
                                slices += 1;
                            }
                            else if (IdentifierManager.Instance.IsMatch(leaveInstance.Location, IdentifierManager.RegexTypes.BRAM))
                            {
                                dsp += 1;
                            }
                            else if (IdentifierManager.Instance.IsMatch(leaveInstance.Location, IdentifierManager.RegexTypes.DSP))
                            {
                                bram += 1;
                            }
                        }
                    }
                }
                else
                {
                    m_txtInstanceCode.AppendText(inst.ToString());

                    if (IdentifierManager.Instance.IsMatch(inst.Location, IdentifierManager.RegexTypes.CLB))
                    {
                        slices = 1;
                    }
                    else if (IdentifierManager.Instance.IsMatch(inst.Location, IdentifierManager.RegexTypes.BRAM))
                    {
                        dsp = 1;
                    }
                    else if (IdentifierManager.Instance.IsMatch(inst.Location, IdentifierManager.RegexTypes.DSP))
                    {
                        bram = 1;
                    }
                }
            }
            m_lblSlices.Text = slices + " Slices";
            m_lblBRAM.Text   = bram + " BRAMs";
            m_lblDSP.Text    = dsp + " DSPs";
        }
예제 #23
0
        private TreeNode AddProject(string projectName, string projectText, TestRule rule)
        {
            if (TestList.InvokeRequired == true)
            {
                return (TreeNode)this.Invoke(new AddProjectCB(AddProject), new object[] { projectName, projectText, rule });
            }

            TreeNode projectNode = FindByKey( TestList.Nodes, projectName );

            if (projectNode == null)
            {
                projectNode = new TreeNode(projectText);
                SetIcon(projectNode, ICON_TYPE.READY);
                TreeNodeTag tag = new TreeNodeTag(TREENODE_TYPE.PROJECT, rule.Name, projectName);
                projectNode.Tag = tag;

                Add( TestList.Nodes, projectNode );

            }

            return projectNode;
        }
예제 #24
0
        private void ShowView(HomePageNodeModel nodeModel)
        {
            if (!ManagerManage.Manage().IsRightUse(nodeModel.nodeid))
            {
                return;
            }
            RootUserControlView view = null;
            TreeNodeTag         tag  = (TreeNodeTag)Enum.Parse(typeof(TreeNodeTag), nodeModel.nodeTag);

            switch (tag)
            {
            case TreeNodeTag.None:

                break;

                #region 首页
            case TreeNodeTag.HomePage:
            {
            }
            break;
                #endregion

                #region  网用户
            case TreeNodeTag.MemberManage:         //会员管理
                view = new MemberManageView();
                break;
                #endregion

                #region 商品管理
            case TreeNodeTag.ProductManage:         //商品管理
                view = new ProductManageView();
                break;

            case TreeNodeTag.ProductSellRank:       //商品销售排行
                view = new ProductSellRankView();
                break;
                #endregion

                #region 费率管理管理
            case TreeNodeTag.RataManage:         //费率管理
                view = new RateManageView();
                break;

            case TreeNodeTag.OtherCostManage:         //其他费用管理
                view = new OtherCostView();
                break;

            case TreeNodeTag.IntegralManage:       //积分管理
                view = new IntegralManageView();
                break;

            case TreeNodeTag.AwardManage:       //奖励管理
                view = new AwardManageView();
                break;
                #endregion

                #region 营收管理
            case TreeNodeTag.DayInCome:       //日营收
                view = new DayInComeView();
                break;

            case TreeNodeTag.MonthInCome:       //月营收
                view = new MonthInComeView();
                break;

            case TreeNodeTag.YearInCome:       //年营收
                view = new YearInComeView();
                break;
                #endregion

                #region 系统查询

            case TreeNodeTag.ChangeShiftsRecord:       //交接班记录查询
                view = new ChangeShiftsRecordView();
                break;

            case TreeNodeTag.UserPayedRecord:       //用户充值记录查询
                view = new UserRechargeView();
                break;

            case TreeNodeTag.UserNetRecord:       //用户上网记录查询
                view = new UserNetRecordView();
                break;

            case TreeNodeTag.UserConsumeRecord:       //用户消费记录查询
                view = new UserConsumeRecordView();
                break;

            case TreeNodeTag.OpenMemberRecord:       //会员办理查询
                view = new OpenMemberRecordView();
                break;

            case TreeNodeTag.ProductIndent:       //商品订单查询
                view = new ProductIndentView();
                break;

            case TreeNodeTag.AttendanceSearch:       //上座率查询
                view = new AttendanceSearchView();
                break;

            case TreeNodeTag.UserDrawBackRecord:
                view = new UserDrawBackRecordView();
                break;
                #endregion

                #region 绩效考核
            case TreeNodeTag.JXInspect:       //绩效考核
                view = new JXInspectView();
                break;
                #endregion

                #region 评价管理
            case TreeNodeTag.NetBarEvaluate:            //管理人员添加
                view = new NetBarEvaluateView();
                break;

            case TreeNodeTag.StaffEvaluate:         //管理人员
                view = new StaffEvaluateView();
                break;
                #endregion

                #region 系统管理
            case TreeNodeTag.NetPassWord:       //上网密码设置
                view = new NetPassWordView();
                break;

            case TreeNodeTag.StaffMoney:       //员工提成
                                               // view = new StaffMoneyView();
                break;

            case TreeNodeTag.MemberLevManage:       //会员等级
                view = new MemberLevManageView();
                break;

            case TreeNodeTag.ProductType:       //商品类别
                view = new ProductTypeManageView();
                break;

            case TreeNodeTag.AreaManage:       //区域设置
                view = new AreaManageView();
                break;

            case TreeNodeTag.ClientManage:       //客户端设置
                view = new ClientManageView();
                break;

            case TreeNodeTag.BackUpManage:       //备份设置
                view = new BackUpManageView();
                break;

            case TreeNodeTag.SmsManage:       //短信设置
                view = new SmsManageView();
                break;
                #endregion

                #region 员工账号管理
            case TreeNodeTag.StaffList:            //管理人员添加
                view = new StaffListView();
                break;

            case TreeNodeTag.ManagerManage:         //管理人员
                view = new ManagerManageView();
                break;
                #endregion

                #region 日志管理
            case TreeNodeTag.LogManage:         //日志管理
                view = new LogManageView();
                break;
                #endregion

                #region 设备信息管理
            case TreeNodeTag.EquipmentInfo:
                view = new SoftwareMsgManageView();
                break;

                #endregion

            default:
                break;
            }

            MainViewManage.ShowView(view);
        }
예제 #25
0
        /// <summary>
        /// 加载下一级节点
        /// </summary>
        /// <param name="isRefresh"></param>
        private void AddNodes(bool isRefresh = false)
        {
            TreeNode selNode = ServerTreeView.SelectedNode;

            if (selNode == null)
            {
                return;
            }

            if (selNode.Nodes.Count > 0 && !isRefresh)
            {
                return;
            }

            selNode.Nodes.Clear();
            TreeNode rootNode = GetRoot(selNode);

            if (rootNode == null)
            {
                return;
            }

            TreeNodeTag rootNodeTag = (TreeNodeTag)rootNode.Tag;

            if (!(rootNodeTag.Tag is Servers))
            {
                return;
            }

            Servers     server   = (Servers)rootNodeTag.Tag;
            TreeNodeTag nodeTag  = (TreeNodeTag)selNode.Tag;
            Database    dataBase = new Database(server.Type);

            if (!dataBase.TestDatabaseConnnection(server.ID, out string msg))
            {
                MessageBox.Show(msg, "连接失败", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            switch (nodeTag.Type)
            {
            case TreeNodeType.Server:
                var dbs = dataBase.GetDatabases(server.ID);
                foreach (var db in dbs)
                {
                    TreeNode dbNode = new TreeNode()
                    {
                        Name               = db,
                        Text               = db,
                        ImageIndex         = 1,
                        SelectedImageIndex = 1,
                        Tag = new TreeNodeTag()
                        {
                            Type = TreeNodeType.DataBase,
                            Tag  = db
                        }
                    };
                    selNode.Nodes.Add(dbNode);
                }
                break;

            case TreeNodeType.DataBase:
                //添加表节点
                TreeNode tblNode = new TreeNode()
                {
                    Name = "表",
                    Text = "表",
                    Tag  = new Model.TreeNodeTag()
                    {
                        Type = TreeNodeType.TableNode, Tag = nodeTag.Tag.ToString()
                    },
                    ImageIndex         = 4,
                    SelectedImageIndex = 4
                };
                selNode.Nodes.Add(tblNode);

                //添加视图节点
                TreeNode viewNode = new TreeNode()
                {
                    Name = "视图",
                    Text = "视图",
                    Tag  = new TreeNodeTag()
                    {
                        Type = TreeNodeType.ViewNode, Tag = nodeTag.Tag.ToString()
                    },
                    ImageIndex         = 4,
                    SelectedImageIndex = 4
                };
                selNode.Nodes.Add(viewNode);
                break;

            case TreeNodeType.TableNode:     //表节点加载表
                var tables = dataBase.GetTables(server.ID, nodeTag.Tag.ToString());
                foreach (var table in tables)
                {
                    TreeNode tblNode1 = new TreeNode();
                    tblNode1.Name               = table.Name;
                    tblNode1.Text               = table.Name;
                    tblNode1.ImageIndex         = 2;
                    tblNode1.SelectedImageIndex = 2;
                    tblNode1.Tag = new TreeNodeTag()
                    {
                        Type = TreeNodeType.Table, Tag = table.Name
                    };
                    selNode.Nodes.Add(tblNode1);
                }
                break;

            case TreeNodeType.ViewNode:     //视图节点加载视图
                var views = dataBase.GetViews(server.ID, nodeTag.Tag.ToString());
                foreach (var view in views)
                {
                    TreeNode viewNode1 = new TreeNode();
                    viewNode1.Name               = view.Name;
                    viewNode1.Text               = view.Name;
                    viewNode1.ImageIndex         = 2;
                    viewNode1.SelectedImageIndex = 2;
                    viewNode1.Tag = new TreeNodeTag()
                    {
                        Type = TreeNodeType.View, Tag = view.Name
                    };
                    selNode.Nodes.Add(viewNode1);
                }
                break;

            case TreeNodeType.View:
            case TreeNodeType.Table:     //表加载字段
                var fields = dataBase.GetFields(server.ID, ((TreeNodeTag)selNode.Parent.Tag).Tag.ToString(), ((TreeNodeTag)selNode.Tag).Tag.ToString());
                foreach (var field in fields)
                {
                    TreeNode fldNode = new TreeNode();
                    fldNode.Name               = field.Name;
                    fldNode.Text               = string.Format("{0}({1}{2},{3})", field.Name, field.Type, field.Length != -1 ? "(" + field.Length.ToString() + ")" : "", field.IsNull ? "null" : "not null");
                    fldNode.ImageIndex         = field.IsPrimaryKey ? 5 : 3;
                    fldNode.SelectedImageIndex = field.IsPrimaryKey ? 5 : 3;
                    fldNode.Tag = new TreeNodeTag()
                    {
                        Type = TreeNodeType.Field, Tag = field
                    };
                    selNode.Nodes.Add(fldNode);
                }
                break;
            }
            selNode.Expand();
        }
예제 #26
0
 public EndExecution(TreeNodeTag theTag)
 {
     _Tag = theTag;
 }