import elm_icon; class Elm.Hoversel (Elm.Button, Efl.Ui.Selectable, Efl.Ui.Clickable, Elm.Interface.Atspi_Widget_Action) { 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); } } @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; Efl.Canvas.Group.group_add; Efl.Canvas.Group.group_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; } }