summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_toolbar.eo
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2016-03-23 12:56:14 -0700
committerCedric BAIL <cedric@osg.samsung.com>2016-03-23 13:24:41 -0700
commitc2a1c49ab2042f559b28e840e54feb8494888e0e (patch)
treec6eb110b7c479499854eede9d0c3ab0a80c9a11a /src/lib/elementary/elm_toolbar.eo
parent9340855597e7e465435c69b6278650346688da14 (diff)
downloadefl-c2a1c49ab2042f559b28e840e54feb8494888e0e.tar.gz
elementary: move all legacy files to their expected new location.
Diffstat (limited to 'src/lib/elementary/elm_toolbar.eo')
-rw-r--r--src/lib/elementary/elm_toolbar.eo402
1 files changed, 402 insertions, 0 deletions
diff --git a/src/lib/elementary/elm_toolbar.eo b/src/lib/elementary/elm_toolbar.eo
new file mode 100644
index 0000000000..66f92f37aa
--- /dev/null
+++ b/src/lib/elementary/elm_toolbar.eo
@@ -0,0 +1,402 @@
+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,
+ Elm.Interface_Atspi_Widget_Action, Elm.Interface_Atspi_Selection,
+ Evas.Clickable_Interface, Evas.Selectable_Interface)
+{
+ eo_prefix: elm_obj_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 horizontal {
+ [[Change a toolbar's orientation
+
+ By default, a toolbar will be horizontal. Use this function to create a vertical toolbar.]]
+ set {
+ }
+ get {
+ }
+ values {
+ horizontal: bool; [[If $true, the toolbar is horizontal.]]
+ }
+ }
+ @property icon_order_lookup {
+ [[Sets icon lookup order, for toolbar items' icons.
+
+ Icons added before calling this function will not be affected.
+ The default lookup order is #ELM_ICON_LOOKUP_THEME_FDO.]]
+ set {
+ }
+ get {
+ }
+ values {
+ order: Elm.Icon.Lookup_Order(1); [[The icon lookup order. (If getting the icon order loopup fails, it returns #ELM_ICON_LOOKUP_THEME_FDO)]]
+ }
+ }
+ @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: Evas.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 selected_item {
+ get {
+ [[Get the selected item.
+
+ The selected item can be unselected with function
+ elm_toolbar_item_selected_set().
+
+ The selected item always will be highlighted on toolbar.]]
+
+ return: Elm.Widget_Item *; [[The selected toolbar item.]]
+ }
+ }
+ @property first_item {
+ get {
+ [[Get the first item in the given toolbar widget's list of items.
+
+ See: @.item_append and @.last_item]]
+
+ return: Elm.Widget_Item *; [[The first item or $NULL, if it has no items (and on errors)]]
+ }
+ }
+ @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.]]
+ }
+ }
+ @property last_item {
+ get {
+ [[Get the last item in the given toolbar widget's list of items.
+
+ See: @.item_prepend and @.first_item]]
+ return: Elm.Widget_Item *; [[The last item or $NULL, if it has no items (and on errors)]]
+ }
+ }
+ 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: const(char)* @optional; [[A string with icon name or the absolute path of an image file.]]
+ @in label: const(char)*; [[The label of the item.]]
+ @in func: Evas_Smart_Cb @optional; [[The function to call when the item is clicked.]]
+ @in data: const(void)* @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: const(char)* @optional; [[A string with icon name or the absolute path of an image file.]]
+ @in label: const(char)*; [[The label of the item.]]
+ @in func: Evas_Smart_Cb @optional; [[The function to call when the item is clicked.]]
+ @in data: const(void)* @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: const(char)* @optional; [[A string with icon name or the absolute path of an image file.]]
+ @in label: const(char)*; [[The label of the item.]]
+ @in func: Evas_Smart_Cb @optional; [[The function to call when the item is clicked.]]
+ @in data: const(void)* @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: const(char)* @optional; [[A string with icon name or the absolute path of an image file.]]
+ @in label: const(char)*; [[The label of the item.]]
+ @in func: Evas_Smart_Cb @optional; [[The function to call when the item is clicked.]]
+ @in data: const(void)* @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: const(char)*; [[The label of the item to find.]]
+ }
+ }
+ }
+ implements {
+ class.constructor;
+ Eo.Base.constructor;
+ Evas.Object_Smart.calculate;
+ Evas.Object_Smart.move;
+ Evas.Object_Smart.add;
+ Evas.Object_Smart.del;
+ Evas.Object_Smart.member_add;
+ Evas.Object_Smart.resize;
+ Elm.Widget.focus_next_manager_is;
+ Elm.Widget.access;
+ Elm.Widget.focus_next;
+ Elm.Widget.theme_apply;
+ Elm.Widget.on_focus;
+ Elm.Widget.translate;
+ Elm.Widget.event;
+ Elm.Widget.focus_highlight_geometry_get;
+ Elm.Widget.focused_item.get;
+ 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;
+ }
+ events {
+ item,focused;
+ item,unfocused;
+ }
+
+}