efl/src/lib/elementary/elm_hoversel.eo

114 lines
4.1 KiB
Plaintext

import elm_general;
class Elm.Hoversel (Efl.Ui.Button, Efl.Ui.Selectable,
Efl.Ui.Clickable,
Efl.Access.Widget.Action,
Efl.Ui.Legacy)
{
[[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; }
Efl.Ui.Widget.widget_parent { set; }
Efl.Ui.Widget.theme_apply;
Efl.Ui.Translatable.translation_update;
Efl.Ui.Widget.widget_event;
Efl.Ui.Autorepeat.autorepeat_supported { get; }
Efl.Access.Widget.Action.elm_actions { get; }
Efl.Access.children { 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]]
}
}