aboutsummaryrefslogtreecommitdiffstatsci
path: root/Samples/CrowIDE/src/MemberView/MembersView.cs
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2020-05-13 10:09:01 +0200
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2020-05-13 10:09:01 +0200
commit74d1288c9990bb251b7097b225891bafdc6758af (patch)
tree8173afa55887a46e9ef44076498be725c5b33ad1 /Samples/CrowIDE/src/MemberView/MembersView.cs
parenta73c8383e6ea636672a3bdb07e084260538fc68a (diff)
removed splitted CrowIDE
Diffstat (limited to 'Samples/CrowIDE/src/MemberView/MembersView.cs')
-rw-r--r--Samples/CrowIDE/src/MemberView/MembersView.cs139
1 files changed, 0 insertions, 139 deletions
diff --git a/Samples/CrowIDE/src/MemberView/MembersView.cs b/Samples/CrowIDE/src/MemberView/MembersView.cs
deleted file mode 100644
index b8dad3d0..00000000
--- a/Samples/CrowIDE/src/MemberView/MembersView.cs
+++ /dev/null
@@ -1,139 +0,0 @@
-//
-// MembersView.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2016 jp
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-using System;
-using Crow;
-using System.Xml.Serialization;
-using System.ComponentModel;
-using System.Reflection;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace Crow.Coding
-{
- public class MembersView : ListBox
- {
- object instance;
- ImlProjectItem projFile;
-
- public MembersView () : base() {}
-
- //cache property containers per type
- //Dictionary<string,PropertyContainer[]> propContainersCache = new Dictionary<string, PropertyContainer[]>();
- Dictionary<string,List<CategoryContainer>> categoryContainersCache = new Dictionary<string,List<CategoryContainer>> ();
-
- [DefaultValue(null)]
- public virtual object Instance {
- get { return instance; }
- set {
- if (instance == value)
- return;
- object lastInst = instance;
-
- instance = value;
- NotifyValueChanged ("Instance", instance);
-
- if (Instance is Widget) {
- NotifyValueChanged ("SelectedItemName", Instance.GetType().Name + (Instance as Widget).design_id
- + ":" + (Instance as Widget).design_imlPath );
- }else
- NotifyValueChanged ("SelectedItemName", "");
-
- if (instance == null) {
- Data = null;
- return;
- }
-
- Type it = instance.GetType ();
- if (!categoryContainersCache.ContainsKey (it.FullName)) {
- MemberInfo[] members = it.GetMembers (BindingFlags.Public | BindingFlags.Instance);
- List<PropertyContainer> props = new List<PropertyContainer> ();
- foreach (MemberInfo m in members) {
- if (m.MemberType == MemberTypes.Property) {
- PropertyInfo pi = m as PropertyInfo;
- if (!pi.CanWrite)
- continue;
- if (pi.GetCustomAttribute (typeof(XmlIgnoreAttribute)) != null)
- continue;
- props.Add (new PropertyContainer (this, pi));
- }
- }
- //propContainersCache.Add (it.FullName, props.OrderBy (p => p.Name).ToArray ());
- List<CategoryContainer> categories = new List<CategoryContainer> ();
-
- 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 = categoryContainersCache[it.FullName];
-
- if (lastInst != instance) {
- foreach (CategoryContainer cc in categoryContainersCache [it.FullName]) {
- foreach (PropertyContainer pc in cc.Properties) {
- pc.NotifyValueChanged ("Value", pc.Value);
- pc.NotifyValueChanged ("LabForeground", pc.LabForeground);
- }
- }
- }
- }
- }
- public ImlProjectItem ProjectNode {
- get { return projFile; }
- set {
- if (projFile == value)
- return;
-
-// if (projFile != null)
-// projFile.UnregisterEditor (this);
-
- projFile = value;
-
-// if (projFile != null)
-// projFile.RegisterEditor (this);
-
- NotifyValueChanged ("ProjectNode", projFile);
- }
- }
-
-// public void updateSource () {
-// if (projFile == null)
-// return;
-// projFile.UpdateSource (this, (Instance as GraphicObject).GetIML ());
-// }
-
-// public override void Paint (ref Context ctx)
-// {
-// base.Paint (ref ctx);
-//
-// if (SelectedIndex < 0)
-// return;
-//
-// Rectangle r = Parent.ContextCoordinates(Items [SelectedIndex].Slot);
-// ctx.SetSourceRGB (0, 0, 1);
-// ctx.Rectangle (r);
-// ctx.LineWidth = 2;
-// ctx.Stroke ();
-// }
-
- }
-}