public void CreateEnumPin(string pinName, IEnumerable <string> entries)
        {
            EnumName = "Enum_" + this.GetHashCode().ToString();

            EnumManager.UpdateEnum(EnumName, entries.First(), entries.ToArray());

            var attr = new InputAttribute(pinName);

            attr.Order        = 2;
            attr.AutoValidate = true;

            attr.EnumName = EnumName;

            Type pinType = typeof(IDiffSpread <EnumEntry>);
            var  pin     = FIOFactory.CreateIOContainer(pinType, attr);

            FUseAsID = (IDiffSpread <EnumEntry>)(pin.RawIOObject);
        }
Example #2
0
        protected override void OnConfigChange(IDiffSpread <string> configSpread)
        {
            base.OnConfigChange(configSpread);

            var attr = new InputAttribute("AvoidNil");

            attr.BinVisibility  = PinVisibility.OnlyInspector;
            attr.Order          = 6;
            attr.BinOrder       = 7;
            attr.BinSize        = 1;
            attr.CheckIfChanged = true;

            Type pinType = typeof(ISpread <>).MakeGenericType((typeof(ISpread <>)).MakeGenericType(TargetDynamicType)); // the Pin is always a binsized one

            if (FAvoidNil != null)
            {
                FAvoidNil.Dispose();
            }
            FAvoidNil = FIOFactory.CreateIOContainer(pinType, attr);
        }