Clone(value);
}
+ internal Selector(SelectorChangedCallback<T> cb) : this()
+ {
+ callback = cb;
+ }
+
+ internal Selector(SelectorChangedCallback<T> cb, T value) : this(value)
+ {
+ callback = cb;
+ }
+
+ internal Selector(SelectorChangedCallback<T> cb, Selector<T> value) : this(value)
+ {
+ callback = cb;
+ }
+
+ internal delegate void SelectorChangedCallback<T>(Selector<T> value);
+ private SelectorChangedCallback<T> callback = null;
+
/// <summary>
/// All State.
[EditorBrowsable(EditorBrowsableState.Never)]
public T Normal
{
- get => Find(x => x.State == ControlState.Normal).Value;
- set => Add(ControlState.Normal, value);
+ get
+ {
+ return Find(x => x.State == ControlState.Normal).Value;
+ }
+ set
+ {
+ Add(ControlState.Normal, value);
+ callback?.Invoke(this);
+ }
}
/// <summary>
/// Pressed State.
[EditorBrowsable(EditorBrowsableState.Never)]
public T Pressed
{
- get => Find(x => x.State == ControlState.Pressed).Value;
- set => Add(ControlState.Pressed, value);
+ get
+ {
+ return Find(x => x.State == ControlState.Pressed).Value;
+ }
+ set
+ {
+ Add(ControlState.Pressed, value);
+ callback?.Invoke(this);
+ }
}
/// <summary>
/// Focused State.
[EditorBrowsable(EditorBrowsableState.Never)]
public T Focused
{
- get => Find(x => x.State == ControlState.Focused).Value;
- set => Add(ControlState.Focused, value);
+ get
+ {
+ return Find(x => x.State == ControlState.Focused).Value;
+ }
+ set
+ {
+ Add(ControlState.Focused, value);
+ callback?.Invoke(this);
+ }
}
/// <summary>
/// Selected State.
[EditorBrowsable(EditorBrowsableState.Never)]
public T Selected
{
- get => Find(x => x.State == ControlState.Selected).Value;
- set => Add(ControlState.Selected, value);
+ get
+ {
+ return Find(x => x.State == ControlState.Selected).Value;
+ }
+ set
+ {
+ Add(ControlState.Selected, value);
+ callback?.Invoke(this);
+ }
}
/// <summary>
/// Disabled State.
[EditorBrowsable(EditorBrowsableState.Never)]
public T Disabled
{
- get => Find(x => x.State == ControlState.Disabled).Value;
- set => Add(ControlState.Disabled, value);
+ get
+ {
+ return Find(x => x.State == ControlState.Disabled).Value;
+ }
+ set
+ {
+ Add(ControlState.Disabled, value);
+ callback?.Invoke(this);
+ }
}
/// <summary>
/// DisabledFocused State.
[EditorBrowsable(EditorBrowsableState.Never)]
public T DisabledFocused
{
- get => Find(x => x.State == ControlState.DisabledFocused).Value;
- set => Add(ControlState.DisabledFocused, value);
+ get
+ {
+ return Find(x => x.State == ControlState.DisabledFocused).Value;
+ }
+ set
+ {
+ Add(ControlState.DisabledFocused, value);
+ callback?.Invoke(this);
+ }
}
/// <summary>
/// SelectedFocused State.
/// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
public T SelectedFocused
{
- get => Find(x => x.State == ControlState.SelectedFocused).Value;
- set => Add(ControlState.SelectedFocused, value);
+ get
+ {
+ return Find(x => x.State == ControlState.SelectedFocused).Value;
+ }
+ set
+ {
+ Add(ControlState.SelectedFocused, value);
+ callback?.Invoke(this);
+ }
}
/// <summary>
/// DisabledSelected State.
[EditorBrowsable(EditorBrowsableState.Never)]
public T DisabledSelected
{
- get => Find(x => x.State == ControlState.DisabledSelected).Value;
- set => Add(ControlState.DisabledSelected, value);
+ get
+ {
+ return Find(x => x.State == ControlState.DisabledSelected).Value;
+ }
+ set
+ {
+ Add(ControlState.DisabledSelected, value);
+ callback?.Invoke(this);
+ }
}
/// <summary>
[EditorBrowsable(EditorBrowsableState.Never)]
public T Other
{
- get => Find(x => x.State == ControlState.Other).Value;
- set => Add(ControlState.Other, value);
+ get
+ {
+ return Find(x => x.State == ControlState.Other).Value;
+ }
+ set
+ {
+ Add(ControlState.Other, value);
+ callback?.Invoke(this);
+ }
}
/// <summary>
/// Get value by State.