diff options
author | MichalMoskal <unknown> | 2010-11-03 02:11:29 +0000 |
---|---|---|
committer | MichalMoskal <unknown> | 2010-11-03 02:11:29 +0000 |
commit | 70ce39a7b9ecec3232841e9689f7d5622a9c13f1 (patch) | |
tree | 26caf38391b074654101a59396b65d9184f59062 /Source/ModelViewer/TreeSkeleton.cs | |
parent | 930c874ea09664128d62adda16d0200d930b49cc (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.cs | 13 |
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]);
+ }
}
}
}
|