114 lines
4.2 KiB
Plaintext
114 lines
4.2 KiB
Plaintext
import elm_general;
|
|
|
|
class Elm.Hoversel (Efl.Ui.Button_Legacy, 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.Entity.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.Object.access_children { get; }
|
|
}
|
|
events {
|
|
dismissed: void; [[Called when hoversel is dismissed]]
|
|
expanded: void; [[Called when hoversel is expanded]]
|
|
item,focused: Efl.Object; [[Called when hoversel item got focus]]
|
|
item,unfocused: Efl.Object; [[Called when hoversel item lost focus]]
|
|
}
|
|
}
|