summaryrefslogtreecommitdiff
path: root/Source/ModelViewer/TreeSkeleton.cs
diff options
context:
space:
mode:
authorGravatar MichalMoskal <unknown>2010-11-03 02:11:29 +0000
committerGravatar MichalMoskal <unknown>2010-11-03 02:11:29 +0000
commit70ce39a7b9ecec3232841e9689f7d5622a9c13f1 (patch)
tree26caf38391b074654101a59396b65d9184f59062 /Source/ModelViewer/TreeSkeleton.cs
parent930c874ea09664128d62adda16d0200d930b49cc (diff)
Rework canonical name computation
Sort fields inteligently (allow for override as well)
Diffstat (limited to 'Source/ModelViewer/TreeSkeleton.cs')
-rw-r--r--Source/ModelViewer/TreeSkeleton.cs13
1 files changed, 10 insertions, 3 deletions
diff --git a/Source/ModelViewer/TreeSkeleton.cs b/Source/ModelViewer/TreeSkeleton.cs
index 30998164..08f2b3f0 100644
--- a/Source/ModelViewer/TreeSkeleton.cs
+++ b/Source/ModelViewer/TreeSkeleton.cs
@@ -77,19 +77,26 @@ namespace Microsoft.Boogie.ModelViewer
wasExpanded = true;
var created = new Dictionary<string, SkeletonItem>();
+ var names = new List<string>();
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.Name.ShortName(), out skelChild)) {
+ var name = child.Name.ShortName();
+ if (!created.TryGetValue(name, out skelChild)) {
skelChild = new SkeletonItem(child.Name, this);
- created.Add(child.Name.ShortName(), skelChild);
- children.Add(skelChild);
+ created.Add(name, skelChild);
+ names.Add(name);
+
}
skelChild.displayNodes[i] = child;
}
}
+
+ foreach (var name in main.langProvider.SortFields(names)) {
+ children.Add(created[name]);
+ }
}
}
}