Subject: [E-devel] Fwd: [Patch] elm_toolbar add signals patch.
For new style of toolbar (align icon and text to center of item) are
necessary some signals ("elm,state,text,visible",
"elm,state,text,hidden", "elm,state,icon,visible",
"elm,state,icon,hidden")
New style for toolbar, where icon and text are align to center of item.
SVN revision: 73028
Instead of them, add the APIs elm_toolbar_standard_priority_set/get.
The items which are lower than standard priority are located in more menu or panel.
SVN revision: 71777
new schema.
els_icon smart object was brought to be the base of the image widget,
in the form of an image class.
An elm icon is now a elm image, with a little more on top of it.
An elm photo is a now base widget aggregating an icon.
Toolbar's internal usage of the former els_icon is now changed to
icons, instead.
Some naviframe instantiations were set to enable events during
transitions, because this code is buggy and my chages exposed the
problem. It will be fixed as soon as I get to port Naviframe.
SVN revision: 71429
sometimes the only separators are shown even though the items are hidden.
So the separator's visibility is desided by it's previous item.
SVN revision: 71093
1. delete old content object
2. check whether new content object is same as old content object
3. rename internal content set hook function
4. elm_widget_sub_object_del will be followed by evas_object_del
5. added some doxygen description.
SVN revision: 69738
in the future, rewrites like this MUST be submitted as PATCHES, not direct commits. this allows application authors to continue having fun writing code without suddenly having broken widgets.
I have left the newly committed edc, as it does not seem likely to cause issues on its own.
SVN revision: 68586
The toolbar item was edje object. Because edje object cannot be focused, toolbar item cannot be focused, either.
But toolbar item should be focused in order to move the focus by each item.
Later, we will be able to move the focus by using arrow keyboard.
So I change toolbar item to be made up with button object.
Since toolbar cannot access button's edje object, the effect of content set and text set is moved in button.
SVN revision: 68495
Now it returns the bool value to free the widget item.
Some widget items(i,e genlist) should not be deleted directly when elm_object_item_del is called.
So, if the pre_hook function returns EINA_FALSE, then the widget item will not be deleted.
SVN revision: 67565
Disabled is a property of Elm_Object_Item and was a property of
Elm_Toolbar_Item as well. The aforementioned commit didn't remove the
property from the latter and then used both properties in an
inconsistent manner which caused data not to be up to date.
SVN revision: 65989
First things first, I'm not sure I'm setting the right variable on
the setlocale() call, so someone more knowledgeable can look at it and fix it.
How this works, you say? Just like elm_object_text_part_set(), except now it
will pass the string given through dgettext() with the given domain (NULL
means it uses whatever the app set with textdomain()), and when changing
language with elm_language_set(), it will re-set the strings with a new
translation.
SVN revision: 64179
elm_object_item_object_get() should probably be implemented at some point, but that is definitely one of the dumbest function names I have ever heard
SVN revision: 63711
when this mode is enabled, a toolbar item will always be selected. if the selected item is deleted, the next item will be selected. if there is no next item, the first item will be selected. if there is no next or first item, you can go <expletive deleted> yourself.
SVN revision: 63691
Deprecated existing APIs but not removed them. They will be removed
sometime later or when elm 1.0 is released. And added new APIs.
I fixed box, table and toolbar. I will modify other codes in trunk soon.
SVN revision: 59160
If you try to create a new widget, you must be sure that the parent
is really an evas object.
With the previous implementation it was possible to call an _add
function for an elementary widget with any non-null pointer as parent
eventually causing crashes (like with the elm_box).
SVN revision: 55521
If it was added to mask a bug, we are unmasking it, so we can
solve it and use the toolbar for programs that want more than
48 pixels.
SVN revision: 54336
If there is only one item inside more menu and if this item is smaller
than more item, the toolbar wont show the more menu.
By: Otavio Pontes <otavio@profusion.mobi>
SVN revision: 54187
Inform that the item was disabled, highlighted or selected.
If a toolbar icon is an edje it can receive this signal and change the
icon image to a disabled image.
By: Otavio Pontes <otavio@profusion.mobi>
SVN revision: 54006
When functions to change icon or labels are called a signal is sent to
edje that can perform an animation.
By: Otavio Pontes <otavio@profusion.mobi>
SVN revision: 54005
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
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
Only two getters continue without const:
* elm_theme_get
Need name review, or comportament.
* elm_toolbar_item_menu_get
Need comportament review, but will be fixed by bdilly.
SVN revision: 53874
Instead of just setting the bounce property to its scroller, each widget now
first checks in the profile used whether bounce is enabled or not.
SVN revision: 53730
Previously, if there were buttons with menus in the toolbar, they would be
added but not its menu items. Even though this is working fine, this is a
hack, since Elm_Menu should really offer reparenting or something like that
-- and this will destroy and recreate the whole menu structure on every
toolbar resize.
SVN revision: 53695
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
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
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
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
With this commit is now possible to not use theme's cursor (default behevior)
that could be overriding cursors defined by the engine.
SVN revision: 52761
Basically, get the group from widget theme, using the string passed to
elm_object_cursor_set, get hot spots x and y from the theme (keeps the object
and these two integers on cursor struct).
Cursor is set with ecore_evas_object_cursor_set()
Some functions to change style were added to the api.
SVN revision: 52760
Widgets can have customized cursors setting it with elm_object_cursor_set.
Widget's item can use elm_X_item_cursor_set to set a different cursor
for each item.
It will work only if HAVE_ELEMENTARY_X for now, but support for themeable
cursors is planned.
SVN revision: 52382
Now owner widget (elm_widget) is just used to listen for theme changes
and create/destroy the tooltip data. The actual mouse events operates
on all Evas_Object and is the one where tooltip data is actually
stored.
The public API is basically the same, just the event_info is now NULL
to avoid confusion.
The internal API introduces elm_object_sub_tooltip_content_cb_set()
and as the first parameter the eventarea. While this may be confusing,
as the second parameter is the actual elementary object, it is the one
that all other calls receive, like elm_object_tooltip_hide() or
elm_object_tooltip_unset(), thus it does make sense to have such order.
Also internal API, elm_widget_item_tooltip_* functions were
added. They are a variation of the widget API to handle its items, as
such the func() gets one more parameter: item, and the del_cb() gets
the item as event_info (that's why the public widget version got
event_info always NULL, to not confuse with this one!)
Widgets with items that makes sense to have tooltips got extra API:
* toolbar
* list
* gengrid
* genlist
SVN revision: 52173
This patch changes all Elm_*_Item to use new infrastructure of
Elm_Widget_Item. This patch is basically a find-and-replace, but even
that was a bit tricky since every code had different names for the
same things, particularly for "view" and "widget" the names ranged
from "o"/"obj" to "base"/"o", quite confusing!
It is worth noting that Genlist and variants that adopted its "item
class" style such as Gengrid and Slideshow already provide a "del()"
callback there and I'm keeping them, however we should reconsider if
it is good to remove them and use elm_widget_item_del_cb_set()
instead. The drawback is that onde would have to set it, while the
other is done automatically when you create the object with the
class. Nonetheless this patch already introduces support to use
elm_widget_item_pre_notify_del(), but it will be void in such code as
nobody ever sets it.
Some new setters and getters were introduced to normalize code... and
they would be required once people write python-bindings for them,
like index and carousel.
SVN revision: 52118
* Remove vim modelines:
find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;
* Remove leading blank lines:
find . -name '*.[cxh]' -exec sed -i '/./,$!d'
If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0
SVN revision: 50816
elm.diff is a patch which implements a number of convenience functions
for various widgets, as well as some new features for toolbar and panel.
With the panel widget, I've written a number of calls related to
toolbar items and the selected item in particular, allowing
manipulation of the selection and toolbar items more easily. These
functions are as follows:
+elm_toolbar_item_get_all() returns a Eina_List* of all the toolbar
items
+elm_toolbar_item_get_first() returns the first toolbar item
+elm_toolbar_item_get_last() returns the last toolbar item
+elm_toolbar_item_get_next() returns the item after the
currently selected item
+elm_toolbar_item_select_next() moves the selection to the next valid
item
+elm_toolbar_item_select_first() selects the first valid item
+elm_toolbar_item_select_last() selects the last valid item
+elm_toolbar_item_find_by_label() returns the first Elm_Toolbar_Item
matching "label"
The new panel functions I have written allow for control of the panel's
state from code, and are as follows:
+elm_panel_hidden_set() sets the panel's toggle state to a bool value
and runs the animation
+elm_panel_hidden_get() returns whether the panel is hidden
+elm_panel_toggle() toggles the panel to its other state
The remainder of the functions are just general wd->data returns which
were missing, the functionality of which may be of use to people.
SVN revision: 48355
GENERAL WARNING:
do NOT delete sub-objects (elm_widget_sub_object_add) or resize object
(elm_widget_resize_object_set) from del_hook()!! These are deleted
automatically before this function is called, thus you might double
free.
Fixed all occurrences I've spotted with valgrind. Please do not add more :-)
SVN revision: 43682
Evas_Box layouts don't get along with what elm expects,
so for now, it's using the old els_box calculate functions
as a custom layout.
SVN revision: 42863
* putting policy into modules
* multitouch handling being able to be farmed off to modules
* farming off things that are not compatible with license/code of elm into a
3rd party piece of code via a clean defined interface API
2. fix doc image - dont need it
3. fix toolbar bounce settings. was wrong
SVN revision: 42793
that the toolbar box sets everything homogenous.
Fix some formatting.
Reduce register use in certain places.
Reduce number of calculations to get scale in certain places.
SVN revision: 42109