aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/elementary/elm_multibuttonentry.eo
blob: 5c7e5bf9f3a933bcf7928ea2a42f27277a1acecd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
type Elm_Multibuttonentry_Item_Filter_Cb: __undefined_type;
type Elm_Multibuttonentry_Format_Cb: __undefined_type;

class Elm.Multibuttonentry (Elm.Layout)
{
   legacy_prefix: elm_multibuttonentry;
   eo_prefix: elm_obj_multibuttonentry;
   event_prefix: elm_multibuttonentry;
   methods {
      @property editable {
         [[Control if the multibuttonentry is to be editable or not.

           @since 1.7]]
         set {
         }
         get {
         }
         values {
            editable: bool; [[If $true, user can add/delete item in multibuttonentry, if not, the multibuttonentry is non-editable.]]
         }
      }
      @property expanded {
         [[Control the multibuttonentry to expanded state.

           In expanded state, the complete entry will be displayed.
           Otherwise, only single line of the entry will be displayed.]]
         set {
         }
         get {
         }
         values {
            expanded: bool; [[the value of expanded state.  Set this to $true for expanded state.  Set this to false for single line state.]]
         }
      }
      @property format_function {
         set {
            [[Set a function to format the string that will be used to display the hidden items counter.

              If $format_function is $NULL, the default format will be used,
              which is $"... + %d".

              @since 1.9]]
         }
         values {
            format_function: Elm_Multibuttonentry_Format_Cb @nullable; [[format_function The actual format function]]
            data: const(void_ptr) @optional; [[data User data to passed to $format_function]]
         }
      }
      @property items {
         get {
            [[Get a list of items in the multibuttonentry]]

            return: const(list<Elm.Widget.Item>); [[The list of items, or NULL if none]]
         }
      }
      @property first_item {
         get {
            [[Get the first item in the multibuttonentry]]

            return: Elm.Widget.Item; [[The first item, or NULL if none]]
         }
      }
      @property last_item {
         get {
            [[Get the last item in the multibuttonentry]]

            return: Elm.Widget.Item; [[The last item, or NULL if none]]
         }
      }
      @property entry {
         get {
            [[Get the entry of the multibuttonentry object]]

            return: Evas.Object; [[The entry object, or NULL if none]]
         }
      }
      @property selected_item {
         get {
            [[Get the selected item in the multibuttonentry]]

            return: Elm.Widget.Item; [[The selected item, or NULL if none]]
         }
      }
      item_prepend {
         [[Prepend a new item to the multibuttonentry

           See @Elm.Widget.Item.del to delete the item.]]

         return: Elm.Widget.Item; [[A handle to the item added or NULL if not possible]]
         params {
            @in label: string; [[The label of new item]]
            @in func: Evas_Smart_Cb @optional; [[The callback function to be invoked when this item is pressed.]]
            @in data: void_ptr @optional; [[The pointer to the data to be attached]]
         }
      }
      clear {
         [[Remove all items in the multibuttonentry.]]

      }
      item_filter_remove {
         [[Remove a filter from the list

         Removes the given callback from the filter list. See elm_multibuttonentry_item_filter_append()
         for more information.]]

         params {
            @in func: Elm_Multibuttonentry_Item_Filter_Cb; [[The filter function to remove]]
            @in data: void_ptr; [[The user data passed when adding the function]]
         }
      }
      item_insert_before {
         [[Add a new item to the multibuttonentry before the indicated object reference.

           See @Elm.Widget.Item.del to delete the item.]]

         return: Elm.Widget.Item; [[A handle to the item added or NULL if not possible]]
         params {
            @in before: Elm.Widget.Item; [[The item before which to add it]]
            @in label: string; [[The label of new item]]
            @in func: Evas_Smart_Cb @optional; [[The callback function to be invoked when this item is pressed.]]
            @in data: void_ptr @optional; [[The pointer to the data to be attached]]
         }
      }
      item_append {
         [[Append a new item to the multibuttonentry

           See @Elm.Widget.Item.del to delete the item.]]

         return: Elm.Widget.Item; [[A handle to the item added or NULL if not possible]]
         params {
            @in label: string; [[The label of new item]]
            @in func: Evas_Smart_Cb @optional; [[The callback function to be invoked when this item is pressed.]]
            @in data: void_ptr @optional; [[The pointer to the data to be attached]]
         }
      }
      item_filter_prepend {
         [[Prepend a filter function for text inserted in the Multibuttonentry

           Prepend the given callback to the list. See elm_multibuttonentry_item_filter_append()
           for more information]]
         params {
            @in func: Elm_Multibuttonentry_Item_Filter_Cb; [[The function to use as text filter]]
            @in data: void_ptr; [[User data to pass to $func]]
         }
      }
      item_filter_append {
         [[Append an item filter function for text inserted in the Multibuttonentry

           Append the given callback to the list. This functions will be called
           whenever any text is inserted into the Multibuttonentry, with the text to be inserted
           as a parameter. The callback function is free to alter the text in any way
           it wants, but it must remember to free the given pointer and update it.
           If the new text is to be discarded, the function can free it and set it text
           parameter to NULL. This will also prevent any following filters from being
           called.]]

         params {
            @in func: Elm_Multibuttonentry_Item_Filter_Cb; [[The function to use as item filter]]
            @in data: void_ptr; [[User data to pass to $func]]
         }
      }
      item_insert_after {
         [[Add a new item to the multibuttonentry after the indicated object

           See @Elm.Widget.Item.del to delete the item.]]

         return: Elm.Widget.Item; [[A handle to the item added or NULL if not possible]]
         params {
            @in after: Elm.Widget.Item; [[The item after which to add it]]
            @in label: string; [[The label of new item]]
            @in func: Evas_Smart_Cb @optional; [[The callback function to be invoked when this item is pressed.]]
            @in data: void_ptr @optional; [[The pointer to the data to be attached]]
         }
      }
   }
   implements {
      class.constructor;
      Eo.Base.constructor;
      Efl.Canvas.Group.group_add;
      Efl.Canvas.Group.group_del;
      Elm.Widget.theme_apply;
      Elm.Widget.focus_next_manager_is;
      Elm.Widget.focus_direction_manager_is;
      Elm.Widget.access;
      Elm.Widget.focus_next;
      Elm.Widget.on_focus;
      Elm.Widget.translate;
      Elm.Widget.event;
      Elm.Layout.text.set;
      Elm.Layout.text.get;
      Elm.Layout.sizing_eval;
      Elm.Interface.Atspi_Accessible.children.get;
   }
   events {
      item,selected;
      item,added;
      item,deleted;
      item,clicked;
      item,longpressed;
      expanded;
      contracted;
      expand,state,changed;
      changed;
   }

}