don't connect twice to the same object (happened whenever not using
sub-items), then the callback was being called twice.
also set the dead object pointer to NULL, so we avoid operating on it
any further.
SVN revision: 52354
The els_scroller.c:_smart_add() as disabling event propagation on
itself, that way an owner object (ie: elm_scroller,
elm_scrolled_entry, elm_list, ...) was not getting the mouse events it
gets, thus any evas_object_event_callback_add(..., EVAS_CALLBACK_MOUSE_*...)
were not working (effectively breaking tooltips).
Seems that the reason to do so was double-event reporting. It could
happen as the elm_smart_scroller has an event_obj that repeats event,
thus the object behind it, the edje_object, could get and possibly
repeat them as well.
As we are sure event_obj always get the events, but not sure of the
edje, as it depend on user contents, the logic is now changed to stop
propagation of the edje instead (it still processes the events! just
not propagates to elm_smart_scroller).
I hope this patch does not break anything, but please check your software!
SVN revision: 52350
It was elm_panes_horizontal_is, but grep shows no matches.
So I'm guessing horiztonal_get.
Seems was originally comited by watchwolf when the file was added.
SVN revision: 52287
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
Whenever object starts hiding Elementary sends "elm,action,hide", so
when it aborts such action it must always emit "elm,action,show" and
the best place to do this is at _elm_tooltip_hide_anim_stop().
Note: _elm_tooltip_hide() calls _elm_tooltip_hide_anim_stop() and thus
would show the object, but this is void as right after that the
tooltip object is deleted and thus the signal is never processed and
as we don't go back to main loop, nothing changes on screen.
SVN revision: 52167
I always wished tooltips would be less boring, and so we have them all
fancy and nice :-)
* tooltip theme can request a timeout before hiding. This means we
can fade out the tooltips nicely.
* tooltip theme get enough information to track its origin. The
current theme will show a small tip where it was created, and
dynamically follows it. The graphics kinda suck, but I tried to
achieve a cartoon-like buble using Inkscape.
* label style is set to "tooltip". I'm providing a default with
dark-gray text and 8 as size.
SVN revision: 52166
The Elm_Object_Layer is a convenience enumeration to help standardize
values so we don't ride into problems in future.
Tooltip has now its own layer, so set it there and avoid newly created
objects being created on top of them (usually they show on top of
everything as they are the last created, thus the topmost on the
default layer)
SVN revision: 52158
Tooltips are set using elm_object_tooltip_content_cb_set(), that
returns the desired Evas_Object to use as contents, or using the
helper function elm_object_tooltip_text_set() that uses that
underneath.
The behavior is controlled part on elm_config, theme and user
application. In elm_config one defines the tooltip timeout. The theme
defines the padding around cursor x/y and window border x/y, as well
as the look and feel. Last but not least, the user application may
want to change the tooltip style with elm_object_tooltip_style_set().
Have fun!
This code was initially written by Tiago Falcao and Fabiano Fidencio,
I did some API review and changed some bits.
TODO: elm widget item support, like with toolbar items.
SVN revision: 52150