From 709c38aca00cdc72cb2e0fedf9f14c940530fd9a Mon Sep 17 00:00:00 2001 From: Michal Moskal Date: Tue, 20 Sep 2011 15:50:49 -0700 Subject: Tree navigation with left/right arrow --- Source/ModelViewer/Main.cs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'Source/ModelViewer/Main.cs') diff --git a/Source/ModelViewer/Main.cs b/Source/ModelViewer/Main.cs index a4492c70..f67b8497 100644 --- a/Source/ModelViewer/Main.cs +++ b/Source/ModelViewer/Main.cs @@ -700,6 +700,36 @@ namespace Microsoft.Boogie.ModelViewer { } + + private void currentStateView_KeyDown(object sender, KeyEventArgs e) + { + var node = SelectedNode(); + if (node == null) return; + + if (e.KeyCode == Keys.Right && !node.skel.Expanded && node.skel.Expandable) { + node.skel.Expanded = true; + SyncCurrentStateView(); + return; + } + + if (e.KeyCode == Keys.Left) { + if (node.skel.Expanded) { + node.skel.Expanded = false; + SyncCurrentStateView(); + return; + } else { + var par = node.skel.parent; + if (par != null && par.parent != null) { + // par.Expanded = false; + foreach (DisplayItem it in currentStateView.Items) { + it.Selected = it.skel == par; + it.Focused = it.skel == par; + } + SyncCurrentStateView(); + } + } + } + } } internal class DisplayItem : ListViewItem -- cgit v1.2.3