summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_hoversel.eo
blob: 1deb509621acd0bce8d6b4559cd8e54f5b2312fe (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
import elm_general;

class Elm.Hoversel (Efl.Ui.Button, Efl.Ui.Selectable,
                    Efl.Ui.Clickable,
                    Elm.Interface.Atspi_Widget_Action)
{
   [[Elementary hoversel class]]
   legacy_prefix: elm_hoversel;
   eo_prefix: elm_obj_hoversel;
   event_prefix: elm_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: Efl.Canvas.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>); [[List of items]]
         }
      }
      @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: string @optional; [[The text label to use for the item (NULL if not desired)]]
            @in icon_file: string @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_ptr) @optional; [[Data to pass to item-related functions]]
         }
      }
   }
   implements {
      class.constructor;
      Efl.Object.constructor;
      Efl.Object.destructor;
      Efl.Gfx.visible { set; }
      Elm.Widget.widget_parent { set; }
      Elm.Widget.theme_apply;
      Efl.Ui.Translatable.translation_update;
      Elm.Widget.widget_event;
      Efl.Ui.Autorepeat.autorepeat_supported { get; }
      Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
   }
   events {
      dismissed; [[Called when hoversel is dismissed]]
      expanded; [[Called when hoversel is expanded]]
      item,focused; [[Called when hoversel item got focus]]
      item,unfocused; [[Called when hoversel item lost focus]]
   }
}