aboutsummaryrefslogtreecommitdiffstatsci
path: root/CrowIDE/src/MemberView/MembersView.cs
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-03-13 17:16:24 +0100
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-03-13 17:16:24 +0100
commit5f1d0213e0dadecc8f93d44e36ea3a11a1aa9baa (patch)
tree8c01fd9b8f9e446d17adf9c415e0a4d6ef988a18 /CrowIDE/src/MemberView/MembersView.cs
parent99d63b94c2e0e09eae8efb67e720920c130f7346 (diff)
limit to html safe color plus several ones, crowIDE wip
Diffstat (limited to 'CrowIDE/src/MemberView/MembersView.cs')
-rw-r--r--CrowIDE/src/MemberView/MembersView.cs26
1 files changed, 15 insertions, 11 deletions
diff --git a/CrowIDE/src/MemberView/MembersView.cs b/CrowIDE/src/MemberView/MembersView.cs
index e23a41ba..d8a9ddcd 100644
--- a/CrowIDE/src/MemberView/MembersView.cs
+++ b/CrowIDE/src/MemberView/MembersView.cs
@@ -37,7 +37,7 @@ namespace Crow.Coding
public MembersView () : base() {}
//cache property containers per type
- Dictionary<string,PropertyContainer[]> propContainersCache = new Dictionary<string, PropertyContainer[]>();
+ //Dictionary<string,PropertyContainer[]> propContainersCache = new Dictionary<string, PropertyContainer[]>();
Dictionary<string,List<CategoryContainer>> categoryContainersCache = new Dictionary<string,List<CategoryContainer>> ();
[XmlAttributeAttribute][DefaultValue(null)]
@@ -63,7 +63,7 @@ namespace Crow.Coding
}
Type it = instance.GetType ();
- if (!propContainersCache.ContainsKey (it.FullName)) {
+ if (!categoryContainersCache.ContainsKey (it.FullName)) {
MemberInfo[] members = it.GetMembers (BindingFlags.Public | BindingFlags.Instance);
List<PropertyContainer> props = new List<PropertyContainer> ();
foreach (MemberInfo m in members) {
@@ -76,20 +76,24 @@ namespace Crow.Coding
props.Add (new PropertyContainer (this, pi));
}
}
- propContainersCache.Add (it.FullName, props.OrderBy (p => p.Name).ToArray ());
- }
-
- List<CategoryContainer> categories = new List<CategoryContainer> ();
+ //propContainersCache.Add (it.FullName, props.OrderBy (p => p.Name).ToArray ());
+ List<CategoryContainer> categories = new List<CategoryContainer> ();
- foreach (IGrouping<string,PropertyContainer> ig in propContainersCache[it.FullName].GroupBy(pc=>pc.DesignCategory)) {
- categories.Add(new CategoryContainer(ig.Key, ig.ToArray()));
+ foreach (IGrouping<string,PropertyContainer> ig in props.OrderBy (p => p.Name).GroupBy(pc=>pc.DesignCategory)) {
+ categories.Add(new CategoryContainer(ig.Key, ig.ToArray()));
+ }
+ categoryContainersCache.Add (it.FullName, categories);
}
- Data = categories;
+
+ Data = categoryContainersCache[it.FullName];
if (lastInst != instance) {
- foreach (PropertyContainer pc in propContainersCache [it.FullName]) {
- pc.NotifyValueChanged ("Value", pc.Value);
+ foreach (CategoryContainer cc in categoryContainersCache [it.FullName]) {
+ foreach (PropertyContainer pc in cc.Properties) {
+ pc.NotifyValueChanged ("Value", pc.Value);
+ pc.NotifyValueChanged ("LabForeground", pc.LabForeground);
+ }
}
}
}