public RangeDropDownControl(HCItemProperty itemProperty) { InitializeComponent(); AddOkCancelButtons(out _, out _); this.itemProperty = itemProperty; rangeAttr = (RangeAttribute)itemProperty.Property.GetCustomAttributes(typeof(RangeAttribute)).FirstOrDefault(); if (rangeAttr == null) { rangeAttr = new RangeAttribute(0, 100); // default } SetupUIApplicableRange(); minTrackBar.ValueChanged += new EventHandler(anyTrackBar_ValueChanged); maxTrackBar.ValueChanged += new EventHandler(anyTrackBar_ValueChanged); object obj = ReferenceUtility.GetUnreferencedValue(itemProperty.GetValues()[0]); value = RangeConverter.ObjectToRange(obj); propertyItemForUndoSupport = itemProperty.GetItemInHierarchyToRestoreValues(); propertyItemForUndoSupport.SaveValuesToRestore(); UpdateTrackBarsAndTextBoxes(); EditorThemeUtility.ApplyDarkThemeToForm(this); }
public ColorValuePoweredSelectControl(HCItemProperty itemProperty) { InitializeComponent(); AddOkCancelButtons(out okButton, out cancelButton); this.itemProperty = itemProperty; powered = ReferenceUtility.GetUnreferencedType(itemProperty.Property.Type.GetNetType()) == typeof(ColorValuePowered); var values = itemProperty.GetValues(); if (values == null) { return; } //!!!!multiselection var value = values[0]; ColorValuePowered initValue; bool readOnly; { var netType = itemProperty.Property.Type.GetNetType(); bool isReferenceType = ReferenceUtility.IsReferenceType(netType); bool referenceSpecified = false; IReference iReference = null; if (isReferenceType && value != null) { iReference = (IReference)value; referenceSpecified = !string.IsNullOrEmpty(iReference.GetByReference); } readOnly = referenceSpecified; } if (powered) { initValue = (ColorValuePowered)ReferenceUtility.GetUnreferencedValue(value); } else { var c = (ColorValue)ReferenceUtility.GetUnreferencedValue(value); initValue = new ColorValuePowered(c.Red, c.Green, c.Blue, c.Alpha, 1); } //for( int n = 0; n < propertyOwners.Length; n++ ) //{ // ColorValue v = (ColorValue)property.GetValue( propertyOwners[ n ], null ); // if( n != 0 ) // { // if( value != v ) // { // value = new ColorValue( 1, 1, 1 ); // break; // } // } // else // value = v; //} bool noAlpha = itemProperty.Property.GetCustomAttributes(typeof(ColorValueNoAlphaAttribute), true).Length != 0; ApplicableRangeColorValuePowerAttribute powerRange = null; if (powered) { var array = itemProperty.Property.GetCustomAttributes(typeof(ApplicableRangeColorValuePowerAttribute), true); if (array.Length != 0) { powerRange = (ApplicableRangeColorValuePowerAttribute)array[0]; } } Init(initValue, noAlpha, powered, powerRange, readOnly); propertyItemForUndoSupport = itemProperty.GetItemInHierarchyToRestoreValues(); propertyItemForUndoSupport.SaveValuesToRestore(); EditorThemeUtility.ApplyDarkThemeToForm(this); }
public override string LoadText() { string value = (string)ReferenceUtility.GetUnreferencedValue(itemProperty.GetValues()[0]); return(value); }