示例#1
0
        private static TabPage getTabPage(ProtocolNode_old node)
        {
            TabPage tabPage = new TabPage();

            tabPage.Text    = node.Element.Text;
            tabPage.Tag     = node;
            tabPage.Padding = new System.Windows.Forms.Padding(3);
            tabPage.UseVisualStyleBackColor = true;
            tabPage.AutoScroll = true;
            FlowLayoutPanel panel = new FlowLayoutPanel();

            panel.Dock          = DockStyle.Fill;
            panel.Name          = "FlowLayout";
            panel.FlowDirection = FlowDirection.TopDown;
            Label lbl = new Label();

            lbl.Text     = node.Element.Text;
            lbl.AutoSize = true;
            panel.Controls.Add(lbl);
            Label lbl2 = new Label();

            lbl2.Text = "-------------------------";
            panel.Controls.Add(lbl2);
            tabPage.Controls.Add(panel);
            return(tabPage);
        }
示例#2
0
        private void initDepthLabel(ProtocolNode_old node)
        {
            int depth = node.Depth;

            if (depth > 0)
            {
                depth = depth - 2;
            }
            this.mDepthLabel.Width = depth * 20;
        }
示例#3
0
        private SleepEditControlLib.ProtocolStatementUi getNodeUi(ProtocolNode_old node)
        {
            SleepEditControlLib.ProtocolStatementUi widget = new SleepEditControlLib.ProtocolStatementUi(mProtocol, node);
//             if (widget.GotoLabel != null)
//             {
//                 widget.GotoLabel.Click += new EventHandler(GotoLabel_Click);
//             }
//
            return(widget);
        }
示例#4
0
        void processAllNodes(ProtocolNode_old node, ref TabPage page)
        {
            if (node != null)
            {
                if (!node.IsSection)
                {
                    FlowLayoutPanel panel = (FlowLayoutPanel)page.Controls.Find("FlowLayout", false)[0];
                    panel.Controls.Add(getNodeUi(node));
                }

                foreach (ProtocolNode_old cur in node.NodeList)
                {
                    processAllNodes(cur, ref page);
                }
            }
        }
示例#5
0
        private void populateForm()
        {
            mProtocolNode = mProtocol.Node;

            foreach (ProtocolNode_old node in mProtocolNode.NodeList)
            {
                TabPage tabPage = getTabPage(node);

                mTabControl.Controls.Add(tabPage);

                if (node.NodeList.Count > 0)
                {
                    processAllNodes(node, ref tabPage);
                }
            }
            if (INDEX == -1)
            {
                INDEX = 0;
            }
            mTabControl.SelectedIndex = INDEX;
        }
示例#6
0
        public ProtocolStatementUi(Protocol_old protocol, ProtocolNode_old node)
        {
            InitializeComponent();
            mNodeDlg.GotolistBox.MouseDown        += new MouseEventHandler(GotolistBox_MouseDown);
            mNodeDlg.TextBoxNodeText.DragEnter    += new DragEventHandler(mNodeDlg_DragEnter);
            mNodeDlg.TextBoxNodeText.DragDrop     += new DragEventHandler(TextBoxNodeText_DragDrop);
            mNodeDlg.GotolistBox.MouseDoubleClick += new MouseEventHandler(GotolistBox_MouseDoubleClick);

            mProtocol = protocol;
            mNode     = node;
            foreach (string str in mProtocol.sectionList())
            {
                mNodeDlg.GOTOLinkToolStripMenuItem.DropDownItems.Add(str);
            }


            initDepthLabel(mNode);
            // mTextLabel.Text = ""/*mNode.Element.Text*/;

            if (mNode.Element.SubTextList.Count > 0)
            {
                mComboBoxSubText.DataSource = mNode.Element.SubTextList;
            }
            else
            {
                mComboBoxSubText.Visible = false;
            }
            ProtocolItemList pl = new ProtocolItemList(mNode.Element.Text);

            foreach (ProtocolItem item in pl.mItemList)
            {
                switch (item.mType)
                {
                case ProtocolItemType.Text:
                {
                    Label lbl = new Label();
                    lbl.Click   += new EventHandler(lbl_Click);
                    lbl.Text     = item.mText;
                    lbl.AutoSize = true;
                    lbl.Margin   = new System.Windows.Forms.Padding(0);

                    mFlowLayoutPanel.Controls.Add(lbl);
                    break;
                }

                case ProtocolItemType.Link:
                {
                    LinkLabel lbl = new LinkLabel();
                    lbl.Text     = item.mText;
                    lbl.AutoSize = true;
                    lbl.Margin   = new System.Windows.Forms.Padding(0);
                    mFlowLayoutPanel.Controls.Add(lbl);
                    break;
                }

                case ProtocolItemType.Question:
                {
                    mComboBoxSubText.DataSource = mNode.Element.SubTextList;
                    mFlowLayoutPanel.Controls.Add(mComboBoxSubText);
                    break;
                }

                default:
                    break;
                }
            }
        }