355 lines
14 KiB
Plaintext
355 lines
14 KiB
Plaintext
import elm_general;
|
|
|
|
enum Elm.Toolbar.Shrink_Mode
|
|
{
|
|
[[Set toolbar's items display behavior, it can be scrollable,
|
|
show a menu with exceeding items, or simply hide them.
|
|
|
|
Default value is #ELM_TOOLBAR_SHRINK_MENU. It reads value
|
|
from elm config.
|
|
|
|
Values don't work as bitmask, only one can be chosen.
|
|
|
|
See also @Elm.Toolbar.shrink_mode.set, @Elm.Toolbar.shrink_mode.get.
|
|
]]
|
|
|
|
legacy: elm_toolbar_shrink;
|
|
|
|
none, [[Set toolbar minimum size to fit all the items.]]
|
|
hide, [[Hide exceeding items.]]
|
|
scroll, [[Allow accessing exceeding items through a scroller.]]
|
|
menu, [[Inserts a button to pop up a menu with exceeding items.]]
|
|
expand, [[Expand all items according the size of the toolbar.]]
|
|
last [[Indicates error if returned by elm_toolbar_shrink_mode_get()]]
|
|
}
|
|
|
|
class Elm.Toolbar (Elm.Widget, Elm.Interface_Scrollable, Efl.Ui.Direction,
|
|
Elm.Interface.Atspi_Widget_Action, Elm.Interface.Atspi.Selection,
|
|
Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.Menu)
|
|
{
|
|
[[Elementary toolbar class]]
|
|
legacy_prefix: elm_toolbar;
|
|
eo_prefix: elm_obj_toolbar;
|
|
event_prefix: elm_toolbar;
|
|
methods {
|
|
@property homogeneous {
|
|
[[Control homogeneous mode.
|
|
|
|
This will enable the homogeneous mode where items are of the same size.]]
|
|
set {
|
|
}
|
|
get {
|
|
}
|
|
values {
|
|
homogeneous: bool; [[Assume the items within the toolbar are of the same size (true = on, false = off). Default is $false.]]
|
|
}
|
|
}
|
|
@property align {
|
|
[[Control the alignment of the items.
|
|
|
|
Alignment of toolbar items, from 0.0 to indicates to align
|
|
left, to 1.0, to align to right. 0.5 centralize
|
|
items.
|
|
|
|
Centered items by default.]]
|
|
set {
|
|
}
|
|
get {
|
|
}
|
|
values {
|
|
align: double; [[The new alignment, a float between 0.0 and 1.0.]]
|
|
}
|
|
}
|
|
@property select_mode {
|
|
[[Control the toolbar select mode.
|
|
|
|
elm_toolbar_select_mode_set() changes item select mode in the toolbar widget.
|
|
- #ELM_OBJECT_SELECT_MODE_DEFAULT : Items will only call their selection func and
|
|
callback when first becoming selected. Any further clicks will
|
|
do nothing, unless you set always select mode.
|
|
- #ELM_OBJECT_SELECT_MODE_ALWAYS : This means that, even if selected,
|
|
every click will make the selected callbacks be called.
|
|
- #ELM_OBJECT_SELECT_MODE_NONE : This will turn off the ability to select items
|
|
entirely and they will neither appear selected nor call selected
|
|
callback functions.]]
|
|
set {
|
|
}
|
|
get {
|
|
}
|
|
values {
|
|
mode: Elm.Object.Select_Mode(Elm.Object.Select_Mode.max); [[The select mode If getting mode fails, it returns #ELM_OBJECT_SELECT_MODE_MAX]]
|
|
}
|
|
}
|
|
@property icon_size {
|
|
[[Control the icon size, in pixels, to be used by toolbar items.
|
|
|
|
Note: Default value is $32. It reads value from elm config.]]
|
|
set {
|
|
}
|
|
get {
|
|
}
|
|
values {
|
|
icon_size: int; [[The icon size in pixels]]
|
|
}
|
|
}
|
|
@property shrink_mode {
|
|
[[Control the item displaying mode of a given toolbar widget $obj.
|
|
|
|
The toolbar won't scroll under #ELM_TOOLBAR_SHRINK_NONE mode, but
|
|
it will enforce a minimum size, so that all the items will fit
|
|
inside it. It won't scroll and won't show the items that don't fit
|
|
under #ELM_TOOLBAR_SHRINK_HIDE mode. Finally, it'll scroll under
|
|
#ELM_TOOLBAR_SHRINK_SCROLL mode, and it will create a button to
|
|
aggregate items which didn't fit with the #ELM_TOOLBAR_SHRINK_MENU
|
|
mode.
|
|
|
|
If shrink mode is changed, Toolbar will send one of the following
|
|
signal to each item for informing the current shrink mode.
|
|
"elm,state,shrink,default"
|
|
"elm,state,shrink,hide"
|
|
"elm,state,shrink,scroll"
|
|
"elm,state,shrink,menu"
|
|
"elm,state,shrink,expand"
|
|
|
|
Warning: This function's behavior will clash with those of
|
|
elm_scroller_policy_set(), so use either one of them, but not both.]]
|
|
set {
|
|
}
|
|
get {
|
|
}
|
|
values {
|
|
shrink_mode: Elm.Toolbar.Shrink_Mode; [[Toolbar's items display behavior]]
|
|
}
|
|
}
|
|
@property menu_parent {
|
|
[[Control the parent object of the toolbar items' menus.
|
|
|
|
Each item can be set as item menu, with elm_toolbar_item_menu_set().
|
|
|
|
For more details about setting the parent for toolbar menus, see
|
|
elm_menu_parent_set().
|
|
|
|
See: elm_menu_parent_set() for details.
|
|
See: elm_toolbar_item_menu_set() for details.]]
|
|
set {
|
|
}
|
|
get {
|
|
}
|
|
values {
|
|
parent: Efl.Canvas.Object; [[The parent of the menu objects.]]
|
|
}
|
|
}
|
|
@property standard_priority {
|
|
[[Set the standard priority of visible items in a toolbar
|
|
|
|
If the priority of the item is up to standard priority, it is shown in basic panel.
|
|
The other items are located in more menu or panel. The more menu or panel can be shown when the more item is clicked.
|
|
|
|
@since 1.7]]
|
|
set {
|
|
}
|
|
get {
|
|
}
|
|
values {
|
|
priority: int; [[The standard_priority of visible items]]
|
|
}
|
|
}
|
|
@property more_item {
|
|
get {
|
|
[[Get the more item which is auto-generated by toolbar.
|
|
|
|
Toolbar generates 'more' item when there is no more space to fit items in
|
|
and toolbar is in #ELM_TOOLBAR_SHRINK_MENU or #ELM_TOOLBAR_SHRINK_EXPAND mode.
|
|
The more item can be manipulated by elm_object_item_text_set() and
|
|
elm_object_item_content_set.]]
|
|
|
|
return: Elm.Widget.Item; [[The toolbar more item.]]
|
|
}
|
|
}
|
|
item_insert_before {
|
|
[[Insert a new item into the toolbar object before item $before.
|
|
|
|
A new item will be created and added to the toolbar. Its position in
|
|
this toolbar will be just before item $before.
|
|
|
|
Items created with this method can be deleted with
|
|
elm_object_item_del().
|
|
|
|
Associated $data can be properly freed when item is deleted if a
|
|
callback function is set with elm_object_item_del_cb_set().
|
|
|
|
If a function is passed as argument, it will be called every time this item
|
|
is selected, i.e., the user clicks over an unselected item.
|
|
If such function isn't needed, just passing
|
|
$NULL as $func is enough. The same should be done for $data.
|
|
|
|
Toolbar will load icon image from fdo or current theme.
|
|
This behavior can be set by elm_toolbar_icon_order_lookup_set() function.
|
|
If an absolute path is provided it will load it direct from a file.
|
|
|
|
Note: This function does not accept relative icon path.
|
|
|
|
See: elm_toolbar_item_icon_set()]]
|
|
|
|
return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
|
|
params {
|
|
@in before: Elm.Widget.Item; [[The toolbar item to insert before.]]
|
|
@in icon: string @optional; [[A string with icon name or the absolute path of an image file.]]
|
|
@in label: string; [[The label of the item.]]
|
|
@in func: Evas_Smart_Cb @optional; [[The function to call when the item is clicked.]]
|
|
@in data: const(void_ptr) @optional; [[The data to associate with the item for related callbacks.]]
|
|
}
|
|
}
|
|
item_insert_after {
|
|
[[Insert a new item into the toolbar object after item $after.
|
|
|
|
A new item will be created and added to the toolbar. Its position in
|
|
this toolbar will be just after item $after.
|
|
|
|
Items created with this method can be deleted with
|
|
elm_object_item_del().
|
|
|
|
Associated $data can be properly freed when item is deleted if a
|
|
callback function is set with elm_object_item_del_cb_set().
|
|
|
|
If a function is passed as argument, it will be called every time this item
|
|
is selected, i.e., the user clicks over an unselected item.
|
|
If such function isn't needed, just passing
|
|
$NULL as $func is enough. The same should be done for $data.
|
|
|
|
Toolbar will load icon image from fdo or current theme.
|
|
This behavior can be set by elm_toolbar_icon_order_lookup_set() function.
|
|
If an absolute path is provided it will load it direct from a file.
|
|
|
|
Note: This function does not accept relative icon path.
|
|
|
|
See: elm_toolbar_item_icon_set()]]
|
|
|
|
return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
|
|
params {
|
|
@in after: Elm.Widget.Item; [[The toolbar item to insert after.]]
|
|
@in icon: string @optional; [[A string with icon name or the absolute path of an image file.]]
|
|
@in label: string; [[The label of the item.]]
|
|
@in func: Evas_Smart_Cb @optional; [[The function to call when the item is clicked.]]
|
|
@in data: const(void_ptr) @optional; [[The data to associate with the item for related callbacks.]]
|
|
}
|
|
}
|
|
item_append {
|
|
[[Append item to the toolbar.
|
|
|
|
A new item will be created and appended to the toolbar, i.e., will
|
|
be set as last item.
|
|
|
|
Items created with this method can be deleted with
|
|
elm_object_item_del().
|
|
|
|
Associated $data can be properly freed when item is deleted if a
|
|
callback function is set with elm_object_item_del_cb_set().
|
|
|
|
If a function is passed as argument, it will be called every time this item
|
|
is selected, i.e., the user clicks over an unselected item.
|
|
If such function isn't needed, just passing
|
|
$NULL as $func is enough. The same should be done for $data.
|
|
|
|
Toolbar will load icon image from fdo or current theme.
|
|
This behavior can be set by elm_toolbar_icon_order_lookup_set() function.
|
|
If an absolute path is provided it will load it direct from a file.
|
|
|
|
Note: This function does not accept relative icon path.
|
|
|
|
See: elm_toolbar_item_icon_set()]]
|
|
|
|
return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
|
|
params {
|
|
@in icon: string @optional; [[A string with icon name or the absolute path of an image file.]]
|
|
@in label: string; [[The label of the item.]]
|
|
@in func: Evas_Smart_Cb @optional; [[The function to call when the item is clicked.]]
|
|
@in data: const(void_ptr) @optional; [[The data to associate with the item for related callbacks.]]
|
|
}
|
|
}
|
|
items_count @const {
|
|
[[Get the number of items in a toolbar]]
|
|
return: uint; [[The number of items in $obj toolbar]]
|
|
}
|
|
item_prepend {
|
|
[[Prepend item to the toolbar.
|
|
|
|
A new item will be created and prepended to the toolbar, i.e., will
|
|
be set as first item.
|
|
|
|
Items created with this method can be deleted with
|
|
elm_object_item_del().
|
|
|
|
Associated $data can be properly freed when item is deleted if a
|
|
callback function is set with elm_object_item_del_cb_set().
|
|
|
|
If a function is passed as argument, it will be called every time this item
|
|
is selected, i.e., the user clicks over an unselected item.
|
|
If such function isn't needed, just passing
|
|
$NULL as $func is enough. The same should be done for $data.
|
|
|
|
Toolbar will load icon image from fdo or current theme.
|
|
This behavior can be set by elm_toolbar_icon_order_lookup_set() function.
|
|
If an absolute path is provided it will load it direct from a file.
|
|
|
|
Note: This function does not accept relative icon path.
|
|
|
|
See: elm_toolbar_item_icon_set()]]
|
|
|
|
return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
|
|
params {
|
|
@in icon: string @optional; [[A string with icon name or the absolute path of an image file.]]
|
|
@in label: string; [[The label of the item.]]
|
|
@in func: Evas_Smart_Cb @optional; [[The function to call when the item is clicked.]]
|
|
@in data: const(void_ptr) @optional; [[The data to associate with the item for related callbacks.]]
|
|
}
|
|
}
|
|
item_find_by_label @const {
|
|
[[Returns a pointer to a toolbar item by its label.]]
|
|
|
|
return: Elm.Widget.Item; [[The pointer to the toolbar item matching $label or $NULL on failure.]]
|
|
params {
|
|
@in label: string; [[The label of the item to find.]]
|
|
}
|
|
}
|
|
}
|
|
implements {
|
|
class.constructor;
|
|
Efl.Object.constructor;
|
|
Efl.Gfx.position { set; }
|
|
Efl.Gfx.size { set; }
|
|
Efl.Canvas.Group.group_calculate;
|
|
Efl.Canvas.Group.group_member_add;
|
|
Elm.Widget.focus_next_manager_is;
|
|
Elm.Widget.on_access_update;
|
|
Elm.Widget.focus_next;
|
|
Elm.Widget.theme_apply;
|
|
Elm.Widget.on_focus;
|
|
Elm.Widget.translate;
|
|
Elm.Widget.widget_event;
|
|
Elm.Widget.focus_highlight_geometry { get; }
|
|
Elm.Widget.focused_item { get; }
|
|
Efl.Ui.Direction.direction { get; set; [[Only supports $vertical and $horizontal. Default is $horizontal.]] }
|
|
Elm.Widget.focus_register;
|
|
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
|
|
Elm.Interface.Atspi_Accessible.children { get; }
|
|
Elm.Interface.Atspi_Accessible.state_set { get; }
|
|
Elm.Interface.Atspi.Selection.selected_children_count { get; }
|
|
Elm.Interface.Atspi.Selection.selected_child { get; }
|
|
Elm.Interface.Atspi.Selection.selected_child_deselect;
|
|
Elm.Interface.Atspi.Selection.child_select;
|
|
Elm.Interface.Atspi.Selection.child_deselect;
|
|
Elm.Interface.Atspi.Selection.is_child_selected;
|
|
Elm.Interface.Atspi.Selection.all_children_select;
|
|
Elm.Interface.Atspi.Selection.clear;
|
|
Efl.Ui.Menu.selected_item { get; }
|
|
Efl.Ui.Menu.first_item { get; }
|
|
Efl.Ui.Menu.last_item { get; }
|
|
Efl.Ui.Menu.items { get; }
|
|
}
|
|
events {
|
|
item,focused; [[Called when toolbar item got focus]]
|
|
item,unfocused; [[Called when toolbar item lost focus]]
|
|
}
|
|
}
|