summaryrefslogtreecommitdiff
path: root/src/lib/elm_hoversel.eo
blob: ae67b10dc337ae41595d1e255dbbbcd922ac7410 (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
class Elm.Hoversel (Elm.Button, Evas.Selectable_Interface,
                    Evas.Clickable_Interface,
                    Elm_Interface_Atspi_Widget_Action)
{
   eo_prefix: elm_obj_hoversel;
   methods {
      @property horizontal {
         [[Control if the hoversel should expand horizontally.

          Note: The initial button will display horizontally regradless of this setting.]]
         set {
         }
         get {
         }
         values {
            horizontal: bool; [[If $true, the hover will expand horizontally to the right.]]
         }
      }
      @property hover_parent {
         [[Control 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.]]
         set {
         }
         get {
         }
         values {
            parent: Evas.Object * @nullable; [[The parent to use]]
         }
      }
      @property expanded {
         get {
            [[Returns whether the hoversel is expanded.]]
            return: bool; [[$true if the hoversel is expanded or $false otherwise]]
         }
      }
      @property items {
         get {
            [[Get the list of items within the given hoversel.]]
            return: const(list<Elm.Widget_Item *>)*;
         }
      }
      @property scrollable {
         [[Control whether scrolling is enabled.

           This Limit the size of contents and make them scrollable.

           @since 1.16
         ]]
         get {
         }
         set {
         }
         values {
            scrollable: bool; [[$true if scrollable $false otherwise.]]
         }
      }
      @property auto_update {
         [[Change the label of hoversel to that of selected item automatically.]]
         get{
         }
         set{
         }
         values {
            auto_update: bool; [[$true if the label is changed automatically or $false otherwise]]
         }
      }
      hover_begin {
         [[This triggers the hoversel popup from code, the same as if the user had clicked the button.]]
      }
      clear {
         [[This will remove all the children items from the hoversel.

         Warning Should *not* be called while the hoversel is active; use
         @Elm.Hoversel.expanded.get to check first.]]
      }
      hover_end {
         [[This dismisses the hoversel popup as if the user had clicked outside the hover.]]
      }
      item_add {
         [[Add an item to the hoversel button

           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.]]

           /* FIXME: Make the hoversel_item reference in the doc a real ref. */
           /* FIXME-doc
           For more information on what $icon_file and $icon_type are, see the
           @ref Icon "icon documentation". */
         return: Elm.Widget_Item *; [[A handle to the added item.]]
         params {
            @in label: const(char)* @optional; [[The text label to use for the item (NULL if not desired)]]
            @in icon_file: const(char)* @optional; [[An image file path on disk to use for the icon or standard icon name (NULL if not desired)]]
            @in icon_type: Elm_Icon_Type; [[The icon type if relevant]]
            @in func: Evas_Smart_Cb @optional; [[Convenience function to call when this item is selected. The last parameter $event_info of $func is the selected item pointer.]]
            @in data: const(void)* @optional; [[Data to pass to item-related functions]]
         }
      }
   }
   implements {
      class.constructor;
      Eo.Base.constructor;
      Eo.Base.destructor;
      Evas.Object_Smart.hide;
      Evas.Object_Smart.show;
      Evas.Object_Smart.add;
      Evas.Object_Smart.del;
      Elm.Widget.parent.set;
      Elm.Widget.theme_apply;
      Elm.Widget.translate;
      Elm.Widget.event;
      Elm.Button.admits_autorepeat.get;
      Elm_Interface_Atspi_Widget_Action.elm_actions.get;
   }
   events {
      dismissed;
      expanded;
      item,focused;
      item,unfocused;
      language,changed;
      access,changed;
   }

}