public BoundPropertyInfo AddObject(object obj, Inst.CachedProperty property) { var bound = new BoundPropertyInfo(obj, property); Objects.Add(obj, bound); return(bound); }
public EnumEditorViewModel(object obj, Inst.CachedProperty propDesc) : base(obj, propDesc) { _items = System.Enum.GetValues(propDesc.PropertyType).Cast <object>().Select(x => new EnumItem { Value = x, Text = System.Enum.GetName(propDesc.PropertyType, x) }).ToList(); }
public NumberEditorViewModel(object obj, Inst.CachedProperty propDesc) : base(obj, propDesc) { var rangeAttr = propDesc.Range; if (rangeAttr != null) { Lower = rangeAttr.Min; Upper = rangeAttr.Max; TextBoxWidth = 50; IsRanged = true; } }
public TypeEditorViewModel(object obj, Inst.CachedProperty propDesc, object data) : base(obj, propDesc) { var filter = (string)data; switch (filter) { case "Enum": Items = Inst.TypeDictionary.Values.Where(t => t.IsEnum).Select(t => t.Type); break; default: throw new ArgumentOutOfRangeException(nameof(filter), "Unsupported type filter."); } }
public BoundPropertyInfo(object o, Inst.CachedProperty property, string displayName = null) { Object = o; Property = property; IsReadOnly = property.Set == null || !property.IsSetterPublic; DisplayName = displayName ?? property.EditorVisible?.DisplayName ?? property.Name; UpdateValue(); var instance = o as Instance; if (instance != null) { instance.Changed.Event += OnInstanceChanged; } }
protected EditorBase(object obj, Inst.CachedProperty propDesc) { Objects = new Dictionary <object, BoundPropertyInfo>(); FirstObject = new KeyValuePair <object, BoundPropertyInfo>(obj, AddObject(obj, propDesc)); DisplayName = FirstObject.Value.DisplayName; var instance = obj as dEngine.Instances.Instance; if (instance != null) { instance.Changed.Event += propertyName => { if (propertyName == propDesc.Name) { NotifyOfPropertyChange(() => Value); } }; } }
public NumberRangeEditorViewModel(object obj, Inst.CachedProperty propDesc) : base(obj, propDesc) { }
public Vector2EditorViewModel(object obj, Inst.CachedProperty desc) : base(obj, desc) { }
public CheckboxEditorViewModel(object obj, Inst.CachedProperty propDesc) : base(obj, propDesc) { }
public FontFamilyEditorViewModel(object obj, Inst.CachedProperty propDesc) : base(obj, propDesc) { }
public ColourEditorViewModel(object obj, Inst.CachedProperty propDesc) : base(obj, propDesc) { NotifyOfPropertyChange(nameof(StringValue)); }
public ContentEditorViewModel(object obj, Inst.CachedProperty propDesc) : base(obj, propDesc) { }
public ColourSequenceEditorViewModel(object obj, Inst.CachedProperty propDesc) : base(obj, propDesc) { GradientStops = new GradientStopCollection(); _instance = (dEngine.Instances.Instance)obj; _propDesc = propDesc; }
public InstanceEditorViewModel(object obj, Inst.CachedProperty propDesc) : base(obj, propDesc) { }
private IEditor GetEditor(object obj, Inst.CachedProperty desc, object data) { switch (desc.PropertyType.Name) { case nameof(String): return(new TextBoxEditorViewModel(obj, desc)); case nameof(Type): return(new TypeEditorViewModel(obj, desc, data)); case nameof(Vector4): return(new Vector4EditorViewModel(obj, desc)); case nameof(Vector3): return(new Vector3EditorViewModel(obj, desc)); case nameof(Vector2): return(new Vector2EditorViewModel(obj, desc)); case nameof(UDim2): return(new UDim2EditorViewModel(obj, desc)); case nameof(Boolean): return(new CheckboxEditorViewModel(obj, desc)); case nameof(Colour): return(new ColourEditorViewModel(obj, desc)); case nameof(Single): return(new NumberEditorViewModel <float>(obj, desc)); case nameof(Double): return(new NumberEditorViewModel <double>(obj, desc)); case nameof(Int32): return(new NumberEditorViewModel <int>(obj, desc)); case nameof(UInt32): return(new NumberEditorViewModel <uint>(obj, desc)); case nameof(TimeSpan): return(new TimeEditorViewModel(obj, desc)); case nameof(ColourSequence): return(new ColourSequenceEditorViewModel(obj, desc)); case nameof(NumberRange): return(new NumberRangeEditorViewModel(obj, desc)); //case nameof(NumberSequence): //return new NumberSequenceEditorViewModel(obj, desc); case nameof(FontFamily): return(new FontFamilyEditorViewModel(obj, desc)); default: if (typeof(string).IsAssignableFrom(desc.PropertyType)) { return(new TextBoxEditorViewModel(obj, desc)); } if (desc.PropertyType.IsEnum) { return(new EnumEditorViewModel(obj, desc)); } if (desc.PropertyType.IsGenericType && desc.PropertyType.GetGenericTypeDefinition() == typeof(Content <>)) { return(new ContentEditorViewModel(obj, desc)); } if (typeof(Instance).IsAssignableFrom(desc.PropertyType)) { return(new InstanceEditorViewModel(obj, desc)); } break; } return(null); }
protected SequenceEditorBase(object obj, Inst.CachedProperty propDesc) : base(obj, propDesc) { }