using FeMM.Common.Checks;
using FeMM.Grasshopper.DataTypes;
using System;
using System.Runtime.Versioning;

namespace FeMM.Grasshopper.Components.Design
{
#if NETCOREAPP
    [SupportedOSPlatform("windows")]
#endif
    public class AS4100SteelPrefsComponent : SteelPrefsComponent
    {
        /// <summary>
        /// Initializes a new instance of the MixedSectionComponent class.
        /// </summary>
        public AS4100SteelPrefsComponent()
          : base("AS4100 Steel prefs", "AS4100P", "Define preferences to check the steel elements according to AS4100 with SAP2000")
        {
        }

        protected override Forms.SteelPrefsForm GetForm(GH_SteelPrefs prefs)
        {
            return new Forms.AS4100SteelPrefsForm(prefs == null ? null : (AS4100SteelPrefs)prefs.Value);
        }

        protected override GH_SteelPrefs CreateGHSteelPrefs(SteelPrefs prefs)
        {
            return new GH_AS4100SteelPrefs((AS4100SteelPrefs)prefs);
        }

        protected override GH_SteelPrefs CreateGHSteelPrefs()
        {
            return new GH_AS4100SteelPrefs();
        }

        /// <summary>
        /// Provides an Icon for the component.
        /// </summary>
        protected override System.Drawing.Bitmap Icon => Properties.Resources.AS4100SteelPrefsIcon;

        /// <summary>
        /// Gets the unique ID for this component. Do not change this ID after release.
        /// </summary>
        public override Guid ComponentGuid => new("BCA5DAB7-CDC0-4AA1-9E20-8EB26003A49B");
    }
}
303 files24 directories