Commit Graph

18 Commits

Author SHA1 Message Date
Bruno Dilly 473d8bfc3f Add a new shrink mode to elm_toolbar: SHRINK_HIDE
And fix the docs related to shrink mode:
SHRINK_HIDE -> hide excess items
SHRINK_NONE -> set toolbar minimun size to fit all the items



SVN revision: 53895
2010-10-26 10:30:45 +00:00
Bruno Dilly 01d04e55e0 Change toolbar API for consistency with other widgets
BIG FAT WARNING: lots of changes on toolbar API

Trying to get a lib with easy to use API, I'm changing toolbar API
to be consistent with genlist / gengrid widgets and to be more concise.

Functions select_next, select_first, select_last, unselect, unselect_all
get all are gone.
You can do this calling a combination of the others functions.

This commit changes toolbar to use inlist, and previous items can be
get.

So now we have:
Elm_Toolbar_Item *elm_toolbar_first_item_get(const Evas_Object *obj)
Elm_Toolbar_Item *elm_toolbar_last_item_get(const Evas_Object *obj)
Elm_Toolbar_Item *elm_toolbar_item_next_get(const Elm_Toolbar_Item *it)
Elm_Toolbar_Item *elm_toolbar_item_prev_get(const Elm_Toolbar_Item *it)
Eina_Bool elm_toolbar_item_selected_get(const Elm_Toolbar_Item)
void elm_toolbar_item_selected_set(Elm_Toolbar_Item *item, Eina_Bool selected)
Elm_Toolbar_Item *elm_toolbar_selected_item_get(const Evas_Object *obj)

With these functions you can iterate over the items list getting /
selecting the item you need.

Another big change is that elm_toolbar_item_add is gone. Now you can
insert items in the position you want, with the functions append,
prepend, insert after, insert before (a relative item).

If you don't like any changes or have a case of use for something
that should be different, please ping me.

At last, includes ELM_TOOLBAR_ITEM_CHECK_OR_RETURN on EAPI that
receives items.



SVN revision: 53894
2010-10-26 10:29:24 +00:00
Bruno Dilly 7cc73d7568 Remove unused vars from test_toolbar
SVN revision: 53724
2010-10-21 18:12:21 +00:00
Rafael Fonseca ba4d8b532d Add tests to elementary_test to exercise toolbar's shrink modes.
Now that toolbar has 3 shrink modes I've added one test for each one. The first
one shows the menu mode which is responsible for adding a More button when the
toolbar size is not large enough to hold all items. The second one is scroll
mode in which the items can be scrolled when the length is not enough. The last
one, none mode, does nothing.



SVN revision: 53718
2010-10-21 15:37:02 +00:00
Leandro Pereira 5174660ea7 [Elementary] Use elm_icon_standard_set() on Elm_Menu items.
This breaks the API *and* the ABI, but this should be consistent with
Elm_Toolbar.  We'll probably need a tweak here and there, but I really
think Elm_Menu should be rewritten.

SVN revision: 53694
2010-10-20 21:30:00 +00:00
Bruno Dilly 4ea66676b3 Fix some Wextra complains on elm bin
SVN revision: 53636
2010-10-19 18:25:22 +00:00
Leandro Pereira c563ef2370 [Elementary] Make it possible to lookup icons from Freedesktop in Elm_Icon.
With these changes, Elm_Icon will also look up icons from the chosen
Freedesktop (fd.o) icon theme.  Since this might incur in some performance
penalties if you're sure only theme icons will be used, icon lookup order
may be specified with the elm_icon_order_lookup_set() function call; using
the lookup parameter as follows:

 - ELM_ICON_ORDER_FDO_THEME (default) will look up first fd.o, then the theme;
 - ELM_ICON_ORDER_THEME_FDO will look up first the theme, then fd.o;
 - ELM_ICON_ORDER_FDO will look up only fd.o; and
 - ELM_ICON_ORDER_THEME (old behaviour) will lookup only from the theme.

Elm_Icon will also try to use a different resolution image if the widget is
resized and the image source is fd.o.

fd.o support requires Efreet, but it should work nicely (falling back to the
old behaviour) if it isn't available.

SVN revision: 53433
2010-10-14 22:21:43 +00:00
Leandro Pereira 5c10641510 [Elementary] Use themeable icons in Elm_Toolbar.
This allows having themeable icons for toolbar items -- inclusing lower
resolution ones for the More menu button. Changes to Elm_Menu_Item in the
same spirit will follow.

SVN revision: 53407
2010-10-14 15:27:31 +00:00
Leandro Pereira 00c778f00b [Elementary] Implement priority in Elm_Toolbar.
Toolbars can now be scrollable, non-scrollable, or hide icons selectively
according to a priority.  This changed the API slightly, thus

   elm_toolbar_scrollable_set(obj, 1)

Should be

   elm_toolbar_mode_expand_set(obj, ELM_TOOLBAR_EXPAND_SCROLL)

Values for non-scrollable and scrollable remain the same, so if constants
aren't being used, just the function name should be changed.

The new mode, ELM_TOOLBAR_EXPAND_MENU, will create a menu of items when the
space isn't large enough to hold all the items.  Which items will be kept on
the toolbar or which items will be added to the menu is controlled by the
priority of each item: higher ones will be kept if possible, lower ones will
be tratored on the first opportunity.

SVN revision: 53406
2010-10-14 15:27:25 +00:00
Bruno Dilly 9fa9c659e5 Remove dead assignments from elementary
The only one remaining is on index code, related to the not yet
implemented horizontal mode.



SVN revision: 53396
2010-10-14 14:10:33 +00:00
Jonathan Atton 2dc274cc02 elm menu+toolbar: Rewrite the menu, add separator and submenus. Fix the separator in the toolbar
SVN revision: 43019
2009-10-11 13:37:01 +00:00
Jonathan Atton 142f0f04d9 Elemetary : add a new widget: menu. See elementary_test. submenu will coming soon. Rewrite the toolbar to use this new widget
SVN revision: 42943
2009-10-07 17:11:41 +00:00
Jonathan Atton 48a16579fc elm toolbar: add elm_toolbar_align_set(), set the alignment of the items. Defalt is 0.5 (center)
SVN revision: 42920
2009-10-06 20:14:46 +00:00
Jonathan Atton 145c90a7e4 elm toolbar: add menu. See the last item in the tollbar test. Thi implementation is simple: each item are a button with a custom style
SVN revision: 42904
2009-10-06 15:08:41 +00:00
Carsten Haitzler 492258e12e use some of the new macros and #defines i put into evas - they will help the
code to be more understandable, bgut i haven't done all of them. there are a
lot. they'll get done over time.



SVN revision: 42756
2009-09-28 05:53:28 +00:00
Carsten Haitzler 32a0cf3238 and more
SVN revision: 42484
2009-09-14 04:22:27 +00:00
Christopher Michael d4528aa391 Add a method to disable a toolbar item.
Add a couple of blank lines in elm_toolbar.c to separate variables from code
in certain functions.

Set first button in Toolbar Test to be disabled (just so Elm develops can
see how it looks & acts)

NB: The theme/colors for disabled text may need/warrant work. Not sure how
Elementary people want the disabled text to look, so I used the disabled
text colors from elm_button for now.

(Hopefully the code here is acceptable ;) If not, please let me know what
needs fixing)



SVN revision: 41990
2009-08-25 22:46:19 +00:00
Davide Andreoli cf6f01b171 * Split up elementary test.c in several files, one per widget
SVN revision: 41749
2009-08-13 22:41:43 +00:00