aboutsummaryrefslogtreecommitdiffstatsci
path: root/CrowIDE/src/MembersView.cs
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-02-09 20:44:48 +0100
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-02-09 20:48:02 +0100
commit673466d57ed603eb5c336ab9c09c7d8a74ec3b02 (patch)
treeb774fc1bc15c3606ab42fbe948850eb7cbf315e6 /CrowIDE/src/MembersView.cs
parentd783669223da5bfe8caa1b95c0ff6e1c5046e09e (diff)
made SeletedItem of templatedGroup writable0.6.0
Diffstat (limited to 'CrowIDE/src/MembersView.cs')
-rw-r--r--CrowIDE/src/MembersView.cs10
1 files changed, 7 insertions, 3 deletions
diff --git a/CrowIDE/src/MembersView.cs b/CrowIDE/src/MembersView.cs
index 18f1a709..67c712bd 100644
--- a/CrowIDE/src/MembersView.cs
+++ b/CrowIDE/src/MembersView.cs
@@ -24,6 +24,7 @@ using System.Xml.Serialization;
using System.ComponentModel;
using System.Reflection;
using System.Collections.Generic;
+using System.Linq;
namespace CrowIDE
{
@@ -47,7 +48,10 @@ namespace CrowIDE
try {
if (!pi.PropertyType.IsAssignableFrom(value.GetType()) && pi.PropertyType != typeof(string)){
if (pi.PropertyType.IsEnum) {
- pi.SetValue (instance, value);
+ if (value is string) {
+ pi.SetValue (instance, Enum.Parse (pi.PropertyType, (string)value));
+ }else
+ pi.SetValue (instance, value);
} else {
MethodInfo me = pi.PropertyType.GetMethod
("Parse", BindingFlags.Static | BindingFlags.Public,
@@ -65,9 +69,9 @@ namespace CrowIDE
public string Type { get { return pi.PropertyType.IsEnum ?
"System.Enum"
: pi.PropertyType.FullName; }}
- public string[] Choices {
+ public object[] Choices {
get {
- return Enum.GetNames (pi.PropertyType);
+ return Enum.GetValues (pi.PropertyType).Cast<object>().ToArray();
}
}