summaryrefslogtreecommitdiff
path: root/Source/ModelViewer/Main.cs
diff options
context:
space:
mode:
authorGravatar MichalMoskal <unknown>2010-10-14 21:46:08 +0000
committerGravatar MichalMoskal <unknown>2010-10-14 21:46:08 +0000
commit1f1182331f611acc691550e83f8ea2fd6890091c (patch)
tree1b62ce925b772e6d5cba3d4b0594ba08d3a6c19b /Source/ModelViewer/Main.cs
parenta827cc46921fcf06e248eaa6f32485779ee365f9 (diff)
Move SkeletonItem to a separate file
Diffstat (limited to 'Source/ModelViewer/Main.cs')
-rw-r--r--Source/ModelViewer/Main.cs99
1 files changed, 0 insertions, 99 deletions
diff --git a/Source/ModelViewer/Main.cs b/Source/ModelViewer/Main.cs
index 985d0211..c1801f4c 100644
--- a/Source/ModelViewer/Main.cs
+++ b/Source/ModelViewer/Main.cs
@@ -69,13 +69,6 @@ namespace Microsoft.Boogie.ModelViewer
{
currentState = id;
SyncListView();
-
- /*
-
- SkeletonItem sel = null;
- if (currentStateView.SelectedItems.Count > 0)
- sel = ((DisplayItem)currentStateView.SelectedItems[0]).skel;
- */
}
internal void Activate(TreeNode treeNode)
@@ -105,9 +98,7 @@ namespace Microsoft.Boogie.ModelViewer
var textBrush = Brushes.Black;
if (currentStateView.SelectedIndices.Count > 0 && currentStateView.SelectedIndices[0] == e.ItemIndex) {
- // Draw the background and focus rectangle for a selected item.
e.Graphics.FillRectangle(Brushes.Navy, rect);
- // e.DrawFocusRectangle();
textBrush = Brushes.White;
} else {
e.Graphics.FillRectangle(Brushes.White, rect);
@@ -240,96 +231,6 @@ namespace Microsoft.Boogie.ModelViewer
}
- internal class SkeletonItem
- {
- readonly string name;
- readonly List<SkeletonItem> children = new List<SkeletonItem>();
- internal readonly IDisplayNode[] displayNodes;
- readonly SkeletonItem parent;
- readonly Main main;
- internal readonly int level;
- internal bool expanded, wasExpanded;
-
- public void Iter(Action<SkeletonItem> handler)
- {
- handler(this);
- children.Iter(u => u.Iter(handler));
- }
-
- public IEnumerable<SkeletonItem> RecChildren
- {
- get
- {
- if (expanded) {
- foreach (var c in children) {
- yield return c;
- foreach (var ch in c.RecChildren)
- yield return ch;
- }
- }
- }
- }
-
- public void PopulateRoot(IEnumerable<IState> states)
- {
- var i = 0;
- foreach(var s in states) {
- displayNodes[i++] = new ContainerNode<IDisplayNode>(this.name, x => x, s.Nodes);
- }
- }
-
- public SkeletonItem(Main m, int stateCount)
- {
- name = "<root>";
- main = m;
- displayNodes = new IDisplayNode[stateCount];
- }
-
- internal SkeletonItem(string n, SkeletonItem par)
- : this(par.main, par.displayNodes.Length)
- {
- parent = par;
- name = n;
- level = par.level + 1;
- }
-
- public bool Expandable
- {
- get { return displayNodes.Any(d => d != null && d.Expandable); }
- }
-
- public bool Expanded
- {
- get { return expanded; }
- set
- {
- if (!value) {
- expanded = false;
- } else {
- if (expanded) return;
- expanded = true;
- if (wasExpanded) return;
- wasExpanded = true;
-
- var created = new Dictionary<string, SkeletonItem>();
- for (int i = 0; i < displayNodes.Length; ++i) {
- var dn = displayNodes[i];
- if (dn == null || !dn.Expandable) continue;
- foreach (var child in dn.Expand()) {
- SkeletonItem skelChild;
- if (!created.TryGetValue(child.EdgeName, out skelChild)) {
- skelChild = new SkeletonItem(child.EdgeName, this);
- created.Add(child.EdgeName, skelChild);
- children.Add(skelChild);
- }
- skelChild.displayNodes[i] = child;
- }
- }
- }
- }
- }
- }
-
internal class DisplayItem : ListViewItem
{
internal SkeletonItem skel;