summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_hoversel.eo
blob: 2906712a338a51a4378b0908bbb28e8cd5d07b86 (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
import elm_icon;
class Elm.Hoversel (Elm.Button, Evas.Selectable_Interface,
                    Evas.Clickable_Interface,
                    Elm.Interface.Atspi_Widget_Action)
{
   legacy_prefix: elm_hoversel;
   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 auto_update {
         [[Update icon and text of hoversel same to those of selected item automatically.]]
         get{
         }
         set{
         }
         values {
            auto_update: bool; [[$true if hoversel is updated 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.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;
   }

}