Exemplo n.º 1
0
 //Methods
 private void PropertyFieldValueChanged <ValueType>(IPropertyField <ValueType> pPropertyField) where ValueType : IConvertible
 {
     if (onValueChange != null)
     {
         onValueChange(this);
     }
 }
Exemplo n.º 2
0
        //Properties

        //Functions
        public void AddProperty <ValueType>(string pPropertyName, ValueType pValue) where ValueType : IConvertible
        {
            if (!dicEditorFields.ContainsKey(pPropertyName))
            {
                IPropertyField iPropertyField = null;

                if (typeof(ValueType) == typeof(bool))
                {
                    PropertyField_Boolean PropertyField = new PropertyField_Boolean(pPropertyName, (bool)((IConvertible)pValue), CalculateWidth());
                    PropertyField.ValueChanged += this.PropertyFieldValueChanged;
                    this.Children.Add(PropertyField);
                    iPropertyField = PropertyField;
                }
                else if (typeof(ValueType) == typeof(DateTime))
                {
                    PropertyField_DateTime PropertyField = new PropertyField_DateTime(pPropertyName, (DateTime)((IConvertible)pValue), CalculateWidth());
                    PropertyField.ValueChanged += this.PropertyFieldValueChanged;
                    this.Children.Add(PropertyField);
                    iPropertyField = PropertyField;
                }
                else if (typeof(ValueType).IsEnum)
                {
                    PropertyField_Enum <ValueType> PropertyField = new PropertyField_Enum <ValueType>(pPropertyName, pValue, CalculateWidth());
                    PropertyField.ValueChanged += this.PropertyFieldValueChanged;
                    this.Children.Add(PropertyField);
                    iPropertyField = PropertyField;
                }
                else
                {
                    PropertyField_Default <ValueType> PropertyField = new PropertyField_Default <ValueType>(pPropertyName, pValue, CalculateWidth());
                    PropertyField.ValueChanged += this.PropertyFieldValueChanged;
                    this.Children.Add(PropertyField);
                    iPropertyField = PropertyField;
                }

                dicEditorFields.Add(pPropertyName, iPropertyField);
            }
            else
            {
                throw new DuplicatePropertyException("Property \"" + pPropertyName + "\" already exist.");
            }
        }