コード例 #1
0
        private void ClearAllSelectedItems_Reccurent(SimpleTreeVisualiserViewItem i)
        {
            i.IsSelected = false;

            foreach (SimpleTreeVisualiserViewItem ii in i.Items)
            {
                ClearAllSelectedItems_Reccurent(ii);
            }
        }
コード例 #2
0
        public TreeViewItem GetTreeViewItem(IEdge e, bool generateDeeperLevel)
        {
            SimpleTreeVisualiserViewItem i = new SimpleTreeVisualiserViewItem();

            i.TreeParent = this;

            i.Tag = e.To;

            StackPanel s = new StackPanel();

            if (GeneralUtil.CompareStrings(e.Meta.Value, "$Empty") && HideMetaNameIfEmpty)
            {
                Label ll = new Label();

                ll.Content = e.To.Value;// +":" + SimpleTreeVisualiserViewItem.cnt;
                ll.Padding = new Thickness(0);

                ll.FontWeight = FontWeight.FromOpenTypeWeight(999);

                s.Children.Add(ll);
            }
            else
            {
                s.Orientation = Orientation.Horizontal;

                Label l1 = new Label();
                l1.Content = e.Meta.Value + " : ";
                l1.Padding = new Thickness(0);

                l1.Foreground = new SolidColorBrush(Colors.Gray);

                Label l2 = new Label();
                l2.Content = e.To.Value;// +":" + SimpleTreeVisualiserViewItem.cnt;
                l2.Padding = new Thickness(0);

                l2.FontWeight = FontWeight.FromOpenTypeWeight(999);

                s.Children.Add(l1);
                s.Children.Add(l2);
            }

            i.Header = s;

            if (generateDeeperLevel)
            {
                foreach (IEdge ee in e.To)
                {
                    i.Items.Add(GetTreeViewItem(ee, false));
                }
            }

            return(i);
        }
コード例 #3
0
        private void UpdateSelectedVertexes_Reccurent(SimpleTreeVisualiserViewItem i, IVertex sv)
        {
            if (i.IsSelected)
            {
                sv.AddEdge(null, (IVertex)i.Tag);
            }

            foreach (SimpleTreeVisualiserViewItem ii in i.Items)
            {
                UpdateSelectedVertexes_Reccurent(ii, sv);
            }
        }
コード例 #4
0
        private void SelectedVertexesUpdated_Reccurent(SimpleTreeVisualiserViewItem i, IVertex sv)
        {
            if (GraphUtil.FindEdgeByToVertex(sv, (IVertex)i.Tag) != null)
            {
                i.IsSelected = true;
            }
            else
            {
                i.IsSelected = false;
            }

            foreach (SimpleTreeVisualiserViewItem ii in i.Items)
            {
                SelectedVertexesUpdated_Reccurent(ii, sv);
            }
        }
コード例 #5
0
        protected override void OnExpanded(RoutedEventArgs ea)
        {
            foreach (object o in Items)
            {
                if (o is SimpleTreeVisualiserViewItem)
                {
                    SimpleTreeVisualiserViewItem v = (SimpleTreeVisualiserViewItem)o;

                    if (v.Items.Count == 0)
                    {
                        foreach (IEdge e in (IEnumerable <IEdge>)v.Tag)
                        {
                            v.Items.Add(TreeParent.GetTreeViewItem(e, false));
                        }
                    }
                }
            }
        }