Force value changed and invalidate implementation in property adapter.
This commit is contained in:
@@ -14,6 +14,7 @@ namespace Cryville.Crtr.Config {
|
|||||||
object GetValue();
|
object GetValue();
|
||||||
void SetValue(object value);
|
void SetValue(object value);
|
||||||
event Action ValueChanged;
|
event Action ValueChanged;
|
||||||
|
void Invalidate();
|
||||||
object MapValue(object value);
|
object MapValue(object value);
|
||||||
bool SetMapped { get; }
|
bool SetMapped { get; }
|
||||||
object MapValueInverse(object value);
|
object MapValueInverse(object value);
|
||||||
@@ -38,7 +39,10 @@ namespace Cryville.Crtr.Config {
|
|||||||
public object GetValue() { return _prop.GetValue(_target, null); }
|
public object GetValue() { return _prop.GetValue(_target, null); }
|
||||||
public void SetValue(object value) { _prop.SetValue(_target, value, null); }
|
public void SetValue(object value) { _prop.SetValue(_target, value, null); }
|
||||||
|
|
||||||
public event Action ValueChanged { add { } remove { } }
|
public event Action ValueChanged;
|
||||||
|
public void Invalidate() {
|
||||||
|
ValueChanged?.Invoke();
|
||||||
|
}
|
||||||
|
|
||||||
readonly double _precision;
|
readonly double _precision;
|
||||||
readonly double _step;
|
readonly double _step;
|
||||||
|
@@ -30,7 +30,7 @@ namespace Cryville.Crtr.Config {
|
|||||||
public void SetValue(string key, object value) {
|
public void SetValue(string key, object value) {
|
||||||
_store[key] = value;
|
_store[key] = value;
|
||||||
foreach (var prop in _props) {
|
foreach (var prop in _props) {
|
||||||
prop.OnValueChanged();
|
prop.Invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -79,9 +79,8 @@ namespace Cryville.Crtr.Config {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public event Action ValueChanged;
|
public event Action ValueChanged;
|
||||||
public void OnValueChanged() {
|
public void Invalidate() {
|
||||||
var ev = ValueChanged;
|
ValueChanged?.Invoke();
|
||||||
if (ev != null) ev();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool SetMapped { get { return false; } }
|
public bool SetMapped { get { return false; } }
|
||||||
|
Reference in New Issue
Block a user