namespace ElmSharp
{
+ public enum SliderIndicatorVisibleMode
+ {
+ /// <summary>
+ /// show indicator on mouse down or change in slider value.
+ /// </summary>
+ Default,
+
+ /// <summary>
+ /// Always show the indicator.
+ /// </summary>
+ Always,
+
+ /// <summary>
+ /// Show the indicator on focus.
+ /// </summary>
+ OnFocus,
+
+ /// <summary>
+ /// Never show the indicator.
+ /// </summary>
+ None
+ }
+
/// <summary>
/// The Slider is a widget that adds a draggable slider widget for selecting the value of something within a range.
/// </summary>
}
/// <summary>
+ /// Sets or gets the visible mode of indicator.
+ /// </summary>
+ public SliderIndicatorVisibleMode IndicatorVisibleMode
+ {
+ get
+ {
+ return (SliderIndicatorVisibleMode)Interop.Elementary.elm_slider_indicator_visible_mode_get(RealHandle);
+ }
+ set
+ {
+ Interop.Elementary.elm_slider_indicator_visible_mode_set(RealHandle, (Interop.Elementary.Elm_Slider_Indicator_Visible_Mode)value);
+ }
+ }
+
+ /// <summary>
/// Sets or gets whether to Show the indicator of slider on focus.
/// </summary>
public bool IsIndicatorFocusable
{
internal static partial class Elementary
{
+ internal enum Elm_Slider_Indicator_Visible_Mode
+ {
+ ELM_SLIDER_INDICATOR_VISIBLE_MODE_DEFAULT, /* show indicator on mouse down or change in slider value */
+ ELM_SLIDER_INDICATOR_VISIBLE_MODE_ALWAYS, /* Always show the indicator. */
+ ELM_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS, /* Show the indicator on focus */
+ ELM_SLIDER_INDICATOR_VISIBLE_MODE_NONE /* Never show the indicator */
+ }
+
[DllImport(Libraries.Elementary)]
internal static extern IntPtr elm_slider_add(IntPtr parent);
internal static extern bool elm_slider_indicator_show_get(IntPtr obj);
[DllImport(Libraries.Elementary)]
+ internal static extern void elm_slider_indicator_visible_mode_set(IntPtr obj, Elm_Slider_Indicator_Visible_Mode mode);
+
+ [DllImport(Libraries.Elementary)]
+ internal static extern Elm_Slider_Indicator_Visible_Mode elm_slider_indicator_visible_mode_get(IntPtr obj);
+
+ [DllImport(Libraries.Elementary)]
internal static extern void elm_slider_indicator_show_on_focus_set(IntPtr obj, bool focus);
[DllImport(Libraries.Elementary)]
}
};
+ Button btn2 = new Button(window)
+ {
+ AlignmentX = -1,
+ AlignmentY = 0,
+ WeightX = 1,
+ WeightY = 1,
+ Text = "Set IndicatorVisibleMode"
+ };
+ btn2.Clicked += (s, e) =>
+ {
+ if (sld1.IndicatorVisibleMode == SliderIndicatorVisibleMode.Default)
+ {
+ sld1.IndicatorVisibleMode = SliderIndicatorVisibleMode.Always;
+ btn2.Text = "Always";
+ }
+ else if (sld1.IndicatorVisibleMode == SliderIndicatorVisibleMode.Always)
+ {
+ sld1.IndicatorVisibleMode = SliderIndicatorVisibleMode.OnFocus;
+ btn2.Text = "OnFocus";
+ }
+ else if (sld1.IndicatorVisibleMode == SliderIndicatorVisibleMode.OnFocus)
+ {
+ sld1.IndicatorVisibleMode = SliderIndicatorVisibleMode.None;
+ btn2.Text = "None";
+ }
+ else
+ {
+ sld1.IndicatorVisibleMode = SliderIndicatorVisibleMode.Default;
+ btn2.Text = "Default";
+ }
+ };
+
Label lb1 = new Label(window)
{
AlignmentX = -1,
table.Pack(sld1, 1, 1, 2, 1);
table.Pack(btn, 1, 2, 2, 1);
- table.Pack(lb1, 1, 3, 2, 1);
+ table.Pack(btn2, 1, 3, 2, 1);
+ table.Pack(lb1, 1, 4, 2, 1);
sld1.Show();
btn.Show();
lb1.Show();
+ btn2.Show();
sld1.ValueChanged += (s, e) =>
{