コード例 #1
0
ファイル: PropertyViewModel.cs プロジェクト: S17L/iGP11
        public PropertyViewModel(IGenericProperty <TProperty> property, IEqualityComparer <TProperty> equalityComparer, IPropertyConverter <TProperty> converter)
        {
            _property         = property;
            _equalityComparer = equalityComparer;
            _converter        = converter;
            _objectProperty   = _property.Value;

            Validate();
        }
コード例 #2
0
        public virtual void RemoveProperty(IGenericProperty gp)
        {
            int i = List.IndexOf(gp);

            if (i != -1)
            {
                List.RemoveAt(i);
            }
        }
コード例 #3
0
 public GenericPropertyDescriptor(IGenericProperty Property /*, DPropertyTab owner*/)
     :
     base(Property.PropertyName,
          (Attribute[])
          AddIfCondition(
              ConcatArrayList(
                  new Attribute[]
 {
     new CategoryAttribute(Property.Category),
     RefreshPropertiesAttribute.All,
     new DescriptionAttribute(Property.Description)
 }
                  , Property.Attributes)
              , Property.Value is IGenericPropertyCollection, new TypeConverterAttribute(typeof(DExpandableObjectConverter))
              ).ToArray(typeof(Attribute)))
 {
     this.Property = Property;
     //this.owner = owner;
 }
コード例 #4
0
        private IPropertyViewModel GetViewModel <TProperty>(IGenericProperty <TProperty> property)
        {
            if (property.Type == typeof(bool))
            {
                return(new PropertyViewModel <bool>((IGenericProperty <bool>)property, EqualityComparer <bool> .Default, new BoolPropertyConverter()));
            }

            if (property.Type == typeof(float))
            {
                return(new PropertyViewModel <float>((IGenericProperty <float>)property, EqualityComparer <float> .Default, new FloatPropertyConverter()));
            }

            if (property.Type == typeof(string))
            {
                if (property.Configuration.IsDirectoryPath)
                {
                    return(new ReadonlyDirectoryPathViewModel((IGenericProperty <string>)property, _directoryPicker, EqualityComparer <string> .Default, new StringPropertyConverter()));
                }

                return(new PropertyViewModel <string>((IGenericProperty <string>)property, EqualityComparer <string> .Default, new StringPropertyConverter()));
            }

            if (property.Type == typeof(int))
            {
                return(new PropertyViewModel <int>((IGenericProperty <int>)property, EqualityComparer <int> .Default, new IntPropertyConverter()));
            }

            if (property.Type == typeof(uint))
            {
                return(new PropertyViewModel <uint>((IGenericProperty <uint>)property, EqualityComparer <uint> .Default, new UintPropertyConverter()));
            }

            if (property.Type == typeof(ushort))
            {
                return(new PropertyViewModel <ushort>((IGenericProperty <ushort>)property, EqualityComparer <ushort> .Default, new UshortPropertyConverter()));
            }

            return(property.Type.IsEnum
                       ? CreateEnumViewModel(property)
                       : null);
        }
コード例 #5
0
 public ReadonlyDirectoryPathViewModel(IGenericProperty <string> property, IDirectoryPicker directoryPicker, IEqualityComparer <string> equalityComparer, IPropertyConverter <string> converter)
     : base(property, equalityComparer, converter)
 {
     _property        = property;
     _directoryPicker = directoryPicker;
 }
コード例 #6
0
ファイル: GenericPropertyWrapper.cs プロジェクト: miquik/mkdb
        public GenericPropertyDescriptor(IGenericProperty Property/*, DPropertyTab owner*/ )
            : base(Property.PropertyName, 
			(Attribute[])
			AddIfCondition(
			ConcatArrayList(
			new Attribute[]
						{
							new CategoryAttribute(Property.Category),
							RefreshPropertiesAttribute.All,
							new DescriptionAttribute(Property.Description)
						}
			,Property.Attributes)
			, Property.Value is IGenericPropertyCollection, new TypeConverterAttribute(typeof(DExpandableObjectConverter))
			).ToArray(typeof(Attribute)))
        {
            this.Property = Property;
            //this.owner = owner;
        }
コード例 #7
0
ファイル: GenericPropertyWrapper.cs プロジェクト: miquik/mkdb
 public virtual void RemoveProperty( IGenericProperty gp )
 {
     int i = List.IndexOf( gp );
     if( i != -1 )
         List.RemoveAt( i );
 }
コード例 #8
0
ファイル: GenericPropertyWrapper.cs プロジェクト: miquik/mkdb
 public virtual void PropertyChanged( IGenericProperty prop )
 {
 }
コード例 #9
0
ファイル: GenericPropertyWrapper.cs プロジェクト: miquik/mkdb
 public virtual void AddProperty( IGenericProperty gp )
 {
     List.Add( gp );
     gp.PropertyParent = this;
 }
コード例 #10
0
 private static IPropertyViewModel CreateEnumViewModel <TEnum>(IGenericProperty <TEnum> property)
 {
     return(new PropertyViewModel <TEnum>(property, EqualityComparer <TEnum> .Default, new EnumPropertyConverter <TEnum>()));
 }
コード例 #11
0
 public virtual void PropertyChanged(IGenericProperty prop)
 {
 }
コード例 #12
0
 public virtual void AddProperty(IGenericProperty gp)
 {
     List.Add(gp);
     gp.PropertyParent = this;
 }