private void OpacityPropertyChangedHandler(object sender, EventArgs e) { NumberProperty property = sender as NumberProperty; _opacity = Math.Min(1f, Math.Max(0f, property.Value)); OnOpacityChanged(e); OnModified(e); }
public void CloneNumber() { Property prop = new NumberProperty("test", 12.5f); AttachEvents(prop); Property prop2 = prop.Clone() as Property; NumberProperty sp1 = prop as NumberProperty; NumberProperty sp2 = prop2 as NumberProperty; Assert.AreEqual(sp1.Name, sp2.Name); Assert.AreEqual(sp1.Value, sp2.Value); // Make sure events were not cloned. sp2.Name = "test2"; sp2.Value = 55; Assert.AreEqual(EventFlags.None, _eventsFired); }
public Property LookupProperty (string name) { Property prop; switch (name) { case "Name": prop = new StringProperty("Name", _name); prop.ValueChanged += NamePropertyChangedHandler; return prop; case "Opacity": prop = new NumberProperty("Opacity", _opacity); prop.ValueChanged += OpacityPropertyChangedHandler; return prop; case "Visible": prop = new BoolProperty("Visible", _visible); prop.ValueChanged += VisiblePropertyChangedHandler; return prop; case "RasterMode": prop = new StringProperty("RasterMode", _rasterMode.ToString()); prop.ValueChanged += RasterModePropertyChangedHandler; return prop; default: return _properties.Contains(name) ? _properties[name] : null; } }
public NumberProperty(string name, NumberProperty property) : base(name, property) { _value = property._value; }
public Property LookupProperty(string name) { Property prop; switch (name) { case "X": prop = new NumberProperty("X", X); prop.ValueChanged += PropertyXChanged; return prop; case "Y": prop = new NumberProperty("Y", Y); prop.ValueChanged += PropertyYChanged; return prop; case "Rotation": prop = new NumberProperty("Rotation", MathEx.RadToDeg(Rotation)); prop.ValueChanged += PropertyRotationChanged; return prop; default: return _properties.Contains(name) ? _properties[name] : null; } }
public void ParseNumber() { Property prop = new NumberProperty("test", 12.5f); AttachEvents(prop); prop.ValueChanged += (s, e) => { Assert.AreSame(prop, s); Assert.AreEqual(55.5f, ((NumberProperty)prop).Value); }; prop.Parse("55.5"); Assert.AreEqual(55.5f, ((NumberProperty)prop).Value); Assert.AreEqual(EventFlags.ValueChanged | EventFlags.Modified, _eventsFired); }
public void NumberToString() { Property prop = new NumberProperty("test", 12.5f); Assert.AreEqual("12.5", prop.ToString()); }
public void ModifyNumberSame() { NumberProperty prop = new NumberProperty("test", 12.5f); AttachEvents(prop); prop.Value = 12.5f; Assert.AreEqual(EventFlags.None, _eventsFired); }
public void ModifyNumber() { NumberProperty prop = new NumberProperty("test", 12.5f); AttachEvents(prop); prop.ValueChanged += (s, e) => { Assert.AreSame(prop, s); Assert.AreEqual(55, prop.Value); }; prop.Value = 55; Assert.AreEqual(55, prop.Value); Assert.AreEqual(EventFlags.ValueChanged | EventFlags.Modified, _eventsFired); }
public void CreateNumberProperty() { NumberProperty prop = new NumberProperty("test", 12.5f); Assert.AreEqual(12.5f, prop.Value); }
public void CopyConstructNumber() { NumberProperty prop = new NumberProperty("test", 12.5f); AttachEvents(prop); NumberProperty prop2 = new NumberProperty("new", prop); Assert.AreEqual("new", prop2.Name); Assert.AreEqual(prop.Value, prop2.Value); // Make sure events were not cloned. prop2.Name = "test2"; prop2.Value = 55f; Assert.AreEqual(EventFlags.None, _eventsFired); }