コード例 #1
0
ファイル: Tree.cs プロジェクト: ramcnamara/SIR-CS
            public SIRTreeNode(MarkType newMark, string text, MarkPanel mp) : base(text)
            {
                Mark  = newMark;
                Panel = mp;

                RefreshNodeDisplay();

                // wire up events
                if (Panel != null && !(Mark is CriterionType))
                {
                    Panel.TextChangeHandler += new EventHandler(OnChange);
                }
            }
コード例 #2
0
ファイル: SIRSchemeForm.cs プロジェクト: ramcnamara/SIR-CS
        // <summary>
        // Recurse down the tree of tasks and subtasks.  Criteria are handled
        // separately despite being descendants of MarkType because they never have
        // subtasks of their own.
        // </summary>
        private void CreateSubtree(SIRTreeNode parent, dynamic mark)
        {
            MarkPanel   mp      = new MarkPanel(mark);
            SIRTreeNode newNode = new SIRTreeNode(mark, mark.Name, mp);

            parent.Nodes.Add(newNode);

            if (mark.Criteria != null)
            {
                foreach (CriterionType criterion in mark.Criteria)
                {
                    newNode.Nodes.Add(new SIRTreeNode(criterion, criterion.Name, mp));
                }
            }
            if (mark.Subtasks != null)
            {
                foreach (dynamic subtask in mark.Subtasks)
                {
                    CreateSubtree(newNode, subtask);
                }
            }
        }
コード例 #3
0
ファイル: Tree.cs プロジェクト: ramcnamara/SIR-CS
        private void TreeView_AfterSelect(object sender, TreeViewEventArgs e)
        {
            if (treeView.SelectedNode == null)
            {
                return;
            }
            if (!(treeView.SelectedNode is SIRTreeNode node))
            {
                return;
            }
            ;

            MarkPanel mp = node.Panel;

            if (mp == null)
            {
                return;
            }

            cardPanel.Controls.Clear();
            cardPanel.Controls.Add(mp);
        }