summaryrefslogtreecommitdiff
path: root/src/lib/elc_hoversel.eo
blob: 89776f4abd23d27910ce168e6e43bc1de3c9d05f (plain)
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
class Elm_Hoversel (Elm_Button, Evas_Selectable_Interface, Evas_Clickable_Interface)
{
   eo_prefix: elm_obj_hoversel;
   properties {
      horizontal {
         set {
            /*@
            @brief This sets the hoversel to expand horizontally.

            @note The initial button will display horizontally regardless of this
            setting.

            @ingroup Hoversel */
         }
         get {
            /*@
            @brief This returns whether the hoversel is set to expand horizontally.

            @return If true, the hover will expand horizontally to the right.

            @see elm_hoversel_horizontal_set()

            @ingroup Hoversel */
         }
         values {
            Eina_Bool horizontal; /*@ If true, the hover will expand horizontally to the
            right. */
         }
      }
      hover_parent {
         set {
            /*@
            @brief Set the Hover parent

            Sets the hover parent object, the area that will be darkened when the
            hoversel is clicked. Should probably be the window that the hoversel is
            in. See @ref Hover objects for more information.

            @ingroup Hoversel */
         }
         get {
            /*@
            @brief Get the Hover parent

            @return The used parent

            Get the hover parent object.

            @see elm_hoversel_hover_parent_set()

            @ingroup Hoversel */
         }
         values {
            Evas_Object *parent; /*@ The parent to use */
         }
      }
      expanded {
         get {
            /*@
            @brief Returns whether the hoversel is expanded.

            @return  This will return @c EINA_TRUE if the hoversel is expanded or
            @c EINA_FALSE if it is not expanded.

            @ingroup Hoversel */
            return Eina_Bool;
         }
      }
      items {
         get {
            /*@
            @brief Get the list of items within the given hoversel.

            @return Returns a list of Elm_Object_Item

            @see elm_hoversel_item_add()

            @ingroup Hoversel */
            return const Eina_List *;
         }
      }
   }
   methods {
      hover_begin {
         /*@
         @brief This triggers the hoversel popup from code, the same as if the user
         had clicked the button.

         @ingroup Hoversel */

      }
      clear {
         /*@
         @brief This will remove all the children items from the hoversel.

         @warning Should @b not be called while the hoversel is active; use
         elm_hoversel_expanded_get() to check first.

         @see elm_object_item_del()

         @ingroup Hoversel */

      }
      hover_end {
         /*@
         @brief This dismisses the hoversel popup as if the user had clicked
         outside the hover.

         @ingroup Hoversel */

      }
      item_add {
         /*@
         @brief Add an item to the hoversel button

         @return A handle to the item added.

         This adds an item to the hoversel to show when it is clicked. Note: if you
         need to use an icon from an edje file then use
         elm_hoversel_item_icon_set() right after this function, and set
         icon_file to NULL here.

         For more information on what @p icon_file and @p icon_type are, see the
         @ref Icon "icon documentation".

         @ingroup Hoversel */

         return Elm_Object_Item *;
         params {
            @in const char *label; /*@ The text label to use for the item (NULL if not desired) */
            @in const char *icon_file; /*@ An image file path on disk to use for the icon or standard
            icon name (NULL if not desired) */
            @in Elm_Icon_Type icon_type; /*@ The icon type if relevant */
            @in Evas_Smart_Cb func; /*@ Convenience function to call when this item is selected. The last
            parameter @p event_info of @c func is the selected item pointer. */
            @in const void *data; /*@ Data to pass to item-related functions */
         }
      }
   }
   implements {
      class::constructor;
      Eo_Base::constructor;
      Evas_Smart::hide;
      Evas_Smart::show;
      Evas_Smart::add;
      Evas_Smart::del;
      Elm_Widget::parent::set;
      Elm_Widget::theme_apply;
      Elm_Widget::translate;
      Elm_Widget::event;
      Elm_Button::admits_autorepeat::get;
   }
   events {
      dismissed;
      expanded;
      item,focused;
      item,unfocused;
      language,changed;
      access,changed;
   }

}