From 09abcce174f8dc4e612f5cd98b07dffced5b38cd Mon Sep 17 00:00:00 2001 From: Jean-Philippe Bruyère Date: Mon, 6 May 2019 00:37:48 +0200 Subject: wip --- Samples/CrowIDE/src/Extensions.cs | 45 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Samples/CrowIDE/src/Extensions.cs (limited to 'Samples/CrowIDE/src/Extensions.cs') diff --git a/Samples/CrowIDE/src/Extensions.cs b/Samples/CrowIDE/src/Extensions.cs new file mode 100644 index 00000000..86c5834f --- /dev/null +++ b/Samples/CrowIDE/src/Extensions.cs @@ -0,0 +1,45 @@ +// +// Extensions.cs +// +// Author: +// Jean-Philippe Bruyère +// +// 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 . +using System; +using System.Collections.Generic; + +namespace Crow +{ + public static partial class Extensions + { + public static string GetIcon(this Widget go){ + return "#CrowIDE.icons.toolbox." + go.GetType().FullName + ".svg"; + } + public static List GetChildren(this Widget go){ + Type goType = go.GetType(); + if (typeof (Group).IsAssignableFrom (goType)) + return (go as Group).Children; + if (typeof(Container).IsAssignableFrom (goType)) + return new List( new Widget[] { (go as Container).Child }); + if (typeof(TemplatedContainer).IsAssignableFrom (goType)) + return new List( new Widget[] { (go as TemplatedContainer).Content }); + if (typeof(TemplatedGroup).IsAssignableFrom (goType)) + return (go as TemplatedGroup).Items; + + return new List(); + } + } +} -- cgit v1.3.1-4-g156e