public void UpdateTreeView() { TreeViewScopes.Items.Clear(); foreach (SimulationScope sc in core.Dump.Items) { TreeViewScopes.Items.Add(WaveformUserControl.CreateTreeViewItem(sc)); } foreach (IValueProvider var in core.Dump.Variables) { if (var is Signal) { TreeViewScopes.Items.Add(WaveformUserControl.CreateTreeViewItem(var as Signal)); } } }
private void TreeViewScopes_Expanded(object sender, RoutedEventArgs e) { TreeViewItem item = (TreeViewItem)e.OriginalSource; item.Items.Clear(); if (item.Tag is SimulationScope) { SimulationScope scope = item.Tag as SimulationScope; foreach (SimulationScope sc in scope.Items) { item.Items.Add(WaveformUserControl.CreateTreeViewItem(sc)); } foreach (IValueProvider var in scope.Variables) { if (var is Signal) { item.Items.Add(WaveformUserControl.CreateTreeViewItem(var as Signal)); } } } if (item.Tag is Signal) { Signal selectedSignal = item.Tag as Signal; foreach (Signal s in selectedSignal.Childrens) { TreeViewItem item_var = new TreeViewItem(); item_var.Header = s.Name; item_var.Tag = s; if (((s as Signal).Childrens != null) && ((s as Signal).Childrens.Count != 0)) { item_var.Items.Add("zzz"); } item.Items.Add(item_var); } } }