efl/legacy/elementary/src/lib/elm_hoversel.eo

112 lines
3.8 KiB
Plaintext

import elm_icon;
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 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.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;
}
}