예제 #1
0
        /// <summary>
        /// when treeview selected changed, print the node info
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tvNode_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            NodeTree t = tvNode.SelectedItem as NodeTree;

            switch (t.Type)
            {
            case ClassType.Root:
            case ClassType.PClassOne:
            case ClassType.PClaseeTwo:
                Console.WriteLine("root or parent node : " + t.Name);
                break;

            case ClassType.ClassOne:
                ClassOne one = t as ClassOne;
                Console.WriteLine(string.Format("class one : {0}, radius : {1}.", one.Name, one.Radius));
                break;

            case ClassType.ClassTwo:
                ClassTwo two = t as ClassTwo;
                Console.WriteLine(string.Format("class two : {0}, importance : {1}, time : {2}.", two.Name, two.Importance, two.Time));
                break;

            default:
                break;
            }
        }
예제 #2
0
        /// <summary>
        /// Add Node to the info
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAddNode_Click(object sender, RoutedEventArgs e)
        {
            switch (cbType.SelectedIndex)
            {
            case 0:
                ClassOne n = new ClassOne()
                {
                    ID       = 5,
                    Name     = tbNodeName.Text,
                    ParentID = 1,
                    Type     = ClassType.ClassOne,

                    Radius = Convert.ToDouble(tbRadius.Text),
                };
                DataSrc.nodeTrees[0].Nodes[0].Nodes.Add(n);

                break;

            case 1:
                ClassTwo no = new ClassTwo()
                {
                    ID       = 6,
                    Name     = tbNodeName.Text,
                    ParentID = 2,
                    Type     = ClassType.ClassTwo,

                    Importance = Convert.ToInt32(tbimportance.Text),
                    Time       = Convert.ToInt32(tbTime.Text),
                };
                DataSrc.nodeTrees[0].Nodes[1].Nodes.Add(no);
                break;

            default:
                break;
            }
            RefreshTreeView();
        }