1class Efl.Ui.Spin_Button extends Efl.Ui.Spin
2                         implements Efl.Ui.Focus.Composition, Efl.Ui.Layout_Orientable, Efl.Ui.Range_Interactive,
3                                    Efl.Access.Widget.Action
4{
5   [[A Button Spin.
6
7     This is a widget which allows the user to increase or decrease
8     numeric values using the arrow buttons or to edit values directly by clicking
9     over them and inputting new ones.
10
11     @since 1.23
12   ]]
13   methods {
14      @property wraparound {
15         [[Control whether the spin should circulate value when it reaches its minimum or maximum value.
16
17           Disabled by default. If disabled, when the user tries to increment the
18           value
19           but displayed value plus step value is bigger than maximum value,
20           the new value will be the maximum value.
21           The same happens when the user tries to decrement it
22           but the value less step is less than minimum value. In this case,
23           the new displayed value will be the minimum value.
24
25           If enabled, when the user tries to increment the value
26           but displayed value plus step value is bigger than maximum value,
27           the new value will become the minimum value. When the user tries to
28           decrement it, if the value minus step is less than minimum value,
29           the new displayed value will be the maximum value.
30
31           E.g.:
32           $min = 10
33           $max = 50
34           $step = 20
35           $displayed = 20
36
37           When the user decrements the value (using left or bottom arrow), it will
38           display $50.]]
39         set {
40         }
41         get {
42         }
43         values {
44            circulate: bool(false); [[$true to enable circulate or $false to disable it.]]
45         }
46      }
47      @property direct_text_input @beta {
48         [[Control whether the spin can be directly edited by the user.
49
50           Spin objects can have editing disabled, in which case they can only
51           be changed by using arrows.
52           This is useful for situations
53           where you don't want your users to write their own value.
54           It's especially useful
55           when using special values. The user can see the real values instead
56           of special label when editing.]]
57         set {
58         }
59         get {
60         }
61         values {
62            direct_text_input: bool(false); [[$true to allow users to directly edit the value.]]
63         }
64      }
65   }
66   implements {
67      Efl.Object.constructor;
68      Efl.Ui.Widget.theme_apply;
69      Efl.Ui.Widget.widget_input_event_handler;
70      Efl.Ui.Focus.Object.on_focus_update;
71      Efl.Ui.Range_Display.range_value { set; }
72      Efl.Ui.Layout_Orientable.orientation { get; set; }
73      Efl.Access.Object.i18n_name { get; }
74      Efl.Access.Widget.Action.elm_actions { get; }
75      Efl.Ui.Format.apply_formatted_value;
76      Efl.Ui.Range_Interactive.range_step { get; set; }
77   }
78}
79