diff --git a/BHoM_UI/BHoM_UI.csproj b/BHoM_UI/BHoM_UI.csproj index 8d0b904..d333114 100644 --- a/BHoM_UI/BHoM_UI.csproj +++ b/BHoM_UI/BHoM_UI.csproj @@ -197,6 +197,7 @@ + @@ -233,6 +234,8 @@ + + @@ -252,6 +255,7 @@ + diff --git a/BHoM_UI/Components/UI/FalseStartToggle.cs b/BHoM_UI/Components/UI/FalseStartToggle.cs new file mode 100644 index 0000000..27de83c --- /dev/null +++ b/BHoM_UI/Components/UI/FalseStartToggle.cs @@ -0,0 +1,113 @@ +/* + * This file is part of the Buildings and Habitats object Model (BHoM) + * Copyright (c) 2015 - 2023, the respective contributors. All rights reserved. + * + * Each contributor holds copyright over their respective contributions. + * The project versioning (Git) records all such contribution source information. + * + * + * The BHoM is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3.0 of the License, or + * (at your option) any later version. + * + * The BHoM 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 Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this code. If not, see . + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Reflection; +using System.ComponentModel; +using BH.oM.UI; +using BH.oM.Data.Collections; +using BH.Engine.Reflection; +using BH.Engine.Data; +using BH.Engine.Serialiser; +using System.Windows.Forms; +using System.Drawing; + +namespace BH.UI.Base.Components +{ + public class FalseStartToggleCaller : Caller + { + /*************************************/ + /**** Properties ****/ + /*************************************/ + + public override System.Drawing.Bitmap Icon_24x24 { get; protected set; } = Properties.Resources.BooleanToggleOff; + + public override Guid Id { get; protected set; } = new Guid("e1e0d75f-41b0-4268-ae5c-a55673d77851"); + + public override string Category { get; protected set; } = "UI"; + + public override string Name { get; protected set; } = ""; + + public override string Description { get; protected set; } = ""; + + public bool Value + { + get + { + return (bool)SelectedItem; + } + protected set + { + SelectedItem = value; + } + } + + /*************************************/ + /**** Constructors ****/ + /*************************************/ + + public FalseStartToggleCaller() : base() + { + SelectedItem = false; + OutputParams = new List() { new ParamInfo { DataType = typeof(bool), Kind = ParamKind.Output, Name = Name, Description = Description, IsRequired = true } }; + } + + /*************************************/ + /**** Public Method ****/ + /*************************************/ + + public override void SetItem(object value, bool sendNotification = true, bool updateOriginal = true) + { + if (updateOriginal) + m_OriginalItem = value; + SelectedItem = (bool)value; + + if (Value) + Icon_24x24 = Properties.Resources.BooleanToggleOn; + else + Icon_24x24 = Properties.Resources.BooleanToggleOff; + + if (sendNotification) + { + MarkAsModified(new CallerUpdate + { + Cause = CallerUpdateCause.ItemSelected, + ComponentUpdate = new ComponentUpdate { Name = Name, Description = Description } + }); + } + } + + /*************************************/ + + public override object Run(List inputs) + { + return Value; + } + + /*************************************/ + } +} + diff --git a/BHoM_UI/Properties/Resources.Designer.cs b/BHoM_UI/Properties/Resources.Designer.cs index b1b616d..6b688f1 100644 --- a/BHoM_UI/Properties/Resources.Designer.cs +++ b/BHoM_UI/Properties/Resources.Designer.cs @@ -281,7 +281,31 @@ internal static System.Drawing.Bitmap BHoM_ToJSON { return ((System.Drawing.Bitmap)(obj)); } } - + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap BooleanToggleOn + { + get + { + object obj = ResourceManager.GetObject("BooleanToggleOn", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap BooleanToggleOff + { + get + { + object obj = ResourceManager.GetObject("BooleanToggleOff", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/BHoM_UI/Properties/Resources.resx b/BHoM_UI/Properties/Resources.resx index fa3204a..4177e56 100644 --- a/BHoM_UI/Properties/Resources.resx +++ b/BHoM_UI/Properties/Resources.resx @@ -247,4 +247,10 @@ Resources\BHoM_Logo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Resources\BooleanToggleOff.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\BooleanToggleOn.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/BHoM_UI/Properties/Resources/BooleanToggleOff.png b/BHoM_UI/Properties/Resources/BooleanToggleOff.png new file mode 100644 index 0000000..e663a7a Binary files /dev/null and b/BHoM_UI/Properties/Resources/BooleanToggleOff.png differ diff --git a/BHoM_UI/Properties/Resources/BooleanToggleOn.png b/BHoM_UI/Properties/Resources/BooleanToggleOn.png new file mode 100644 index 0000000..6de1e80 Binary files /dev/null and b/BHoM_UI/Properties/Resources/BooleanToggleOn.png differ