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