genlist, hover, index, list, map, photocam, progressbar, radio, scroller, slider, slideshow, spinner, toolbar, win.
{SIG_LANG_CHANGED, ""},
{SIG_PRESSED, ""},
{SIG_RELEASED, ""},
+ {"focused", ""}, /**< handled by elm_widget */
+ {"unfocused", ""}, /**< handled by elm_widget */
{NULL, NULL}
};
* when the user releases an item or keyboard selection is moved so the item
* is physically unhighlighted. The %c event_info parameter is the item that
* was unhighlighted.
+ * - @c "focused" - When the genlist has received focus. (since 1.8)
+ * - @c "unfocused" - When the genlist has lost focus. (since 1.8)
*
*
* Supported elm_object_item common APIs
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_CLICKED, ""},
{SIG_SMART_LOCATION_CHANGED, ""},
+ {"focused", ""}, /**< handled by elm_widget */
+ {"unfocused", ""}, /**< handled by elm_widget */
{NULL, NULL}
};
* @li @c "clicked" - the user clicked the empty space in the hover to dismiss
* @li @c "smart,changed" - a content object placed under the "smart"
* policy was replaced to a new slot direction.
+ * @li @c "focused" - When the hover has received focus. (since 1.8)
+ * @li @c "unfocused" - When the hover has lost focus. (since 1.8)
*
* Default content parts of the hover widget that you can use for are:
* @li @c "left"
{SIG_LEVEL_UP, ""},
{SIG_LEVEL_DOWN, ""},
{SIG_LANG_CHANGED, ""},
+ {"focused", ""}, /**< handled by elm_widget */
+ {"unfocused", ""}, /**< handled by elm_widget */
{NULL, NULL}
};
* - @c "level,down" - when the user moves a finger from the second
* level to the first level
* - @c "language,changed" - the program's language changed
+ * - @c "focused" - When the index has received focus. (since 1.8)
+ * - @c "unfocused" - When the index has lost focus. (since 1.8)
*
* The @c "delay,changed" event is so that it'll wait a small time
* before actually reporting those events and, moreover, just the
{SIG_SWIPE, ""},
{SIG_HIGHLIGHTED, ""},
{SIG_UNHIGHLIGHTED, ""},
+ {"focused", ""}, /**< handled by elm_widget */
+ {"unfocused", ""}, /**< handled by elm_widget */
{NULL, NULL}
};
* is physically unhighlighted. The %c event_info parameter is the item that
* was unhighlighted.
* - @c "language,changed" - the program's language changed
+ * - @c "focused" - When the list has received focus. (since 1.8)
+ * - @c "unfocused" - When the list has lost focus. (since 1.8)
*
* Available styles for it are:
* - @c "default"
{SIG_OVERLAY_CLICKED, ""},
{SIG_OVERLAY_DEL, ""},
{SIG_LANG_CHANGED, ""},
+ {"focused", ""}, /**< handled by elm_widget */
+ {"unfocused", ""}, /**< handled by elm_widget */
{NULL, NULL}
};
* - @c "overlay,clicked" - A overlay is clicked.
* - @c "loaded" - when a map is finally loaded. @since 1.7
* - @c "language,changed" - the program's language changed
+ * - @c "focused" - When the map has received focus. (since 1.8)
+ * - @c "unfocused" - When the map has lost focus. (since 1.8)
*
* Available style for map widget:
* - @c "default"
{SIG_SCROLL_ANIM_STOP, ""},
{SIG_SCROLL_DRAG_START, ""},
{SIG_SCROLL_DRAG_STOP, ""},
+ {"focused", ""}, /**< handled by elm_widget */
+ {"unfocused", ""}, /**< handled by elm_widget */
{NULL, NULL}
};
* @li @c "scroll,anim,stop" - scrolling animation has stopped
* @li @c "scroll,drag,start" - dragging the contents around has started
* @li @c "scroll,drag,stop" - dragging the contents around has stopped
+ * @li @c "focused" - When the photocam has received focus. (since 1.8)
+ * @li @c "unfocused" - When the photocam has lost focus. (since 1.8)
*
* This widget implements the @b @ref elm-scrollable-interface
* interface, so that all (non-deprecated) functions for the base @ref
* ones coming from elm layout): */
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_CHANGED, ""},
+ {"focused", ""}, /**< handled by elm_widget */
+ {"unfocused", ""}, /**< handled by elm_widget */
{NULL, NULL}
};
* @ref Layout:
* @li @c "changed" - when the value is changed
* @since 1.7
+ * @li @c "focused" - When the progressbar has received focus. (since 1.8)
+ * @li @c "unfocused" - When the progressbar has lost focus. (since 1.8)
*
* This widget has the following styles:
* - @c "default"
static const char SIG_CHANGED[] = "changed";
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_CHANGED, ""},
+ {"focused", ""}, /**< handled by elm_widget */
+ {"unfocused", ""}, /**< handled by elm_widget */
{NULL, NULL}
};
* @ref Layout:
* @li changed - This is called whenever the user changes the state of one of
* the radio objects within the group of radio objects that work together.
+ * @li @c "focused" - When the radio has received focus. (since 1.8)
+ * @li @c "unfocused" - When the radio has lost focus. (since 1.8)
*
* Default text parts of the radio widget that you can use for are:
* @li "default" - Label of the radio
{SIG_HBAR_PRESS, ""},
{SIG_HBAR_UNPRESS, ""},
{SIG_SCROLL_PAGE_CHANGE, ""},
+ {"focused", ""}, /**< handled by elm_widget */
+ {"unfocused", ""}, /**< handled by elm_widget */
{NULL, NULL}
};
* @li @c "hbar,press" - the horizontal scroll bar has been pressed
* @li @c "hbar,unpress" - the horizontal scroll bar has been unpressed
* @li @c "scroll,page,changed" - the visible page has changed
+ * @li @c "focused" - When the scroller has received focus. (since 1.8)
+ * @li @c "unfocused" - When the scroller has lost focus. (since 1.8)
*
* This widget implements the @ref elm-scrollable-interface interface.
* Its (non-deprecated) API functions, except for elm_scroller_add(),
{SIG_DELAY_CHANGED, ""},
{SIG_DRAG_START, ""},
{SIG_DRAG_STOP, ""},
+ {"focused", ""}, /**< handled by elm_widget */
+ {"unfocused", ""}, /**< handled by elm_widget */
{NULL, NULL}
};
* a very short period or when they release their
* finger/mouse, so it avoids possibly expensive reactions to
* the value change.
+ * - @c "focused" - When the slider has received focus. (since 1.8)
+ * - @c "unfocused" - When the slider has lost focus. (since 1.8)
*
* Available styles for it:
* - @c "default"
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_CHANGED, ""},
{SIG_TRANSITION_END, ""},
+ {"focused", ""}, /**< handled by elm_widget */
+ {"unfocused", ""}, /**< handled by elm_widget */
{NULL, NULL}
};
* item. event_info parameter in callback contains the current visible item
* - @c "transition,end" - when a slide transition ends. event_info parameter
* in callback contains the current visible item
+ * - @c "focused" - When the slideshow has received focus. (since 1.8)
+ * - @c "unfocused" - When the slideshow has lost focus. (since 1.8)
*
* List of examples for the slideshow widget:
* @li @ref slideshow_example
{SIG_CHANGED, ""},
{SIG_DELAY_CHANGED, ""},
{SIG_LANG_CHANGED, ""},
+ {"focused", ""}, /**< handled by elm_widget */
+ {"unfocused", ""}, /**< handled by elm_widget */
{NULL, NULL}
};
* for a very short period or when they release their finger/mouse,
* so it avoids possibly expensive reactions to the value change.
* - @c "language,changed" - the program's language changed
+ * - @c "focused" - When the spinner has received focus. (since 1.8)
+ * - @c "unfocused" - When the spinner has lost focus. (since 1.8)
*
* Available styles for it:
* - @c "default";
{SIG_LONGPRESSED, ""},
{SIG_CLICKED_DOUBLE, ""},
{SIG_LANG_CHANGED, ""},
+ {"focused", ""}, /**< handled by elm_widget */
+ {"unfocused", ""}, /**< handled by elm_widget */
{NULL, NULL}
};
* - @c "longpressed" - when the toolbar is pressed for a certain
* amount of time.
* - @c "language,changed" - when the program language changes.
+ * - @c "focused" - When the toolbar has received focus. (since 1.8)
+ * - @c "unfocused" - When the toolbar has lost focus. (since 1.8)
*
* Available styles for it:
* - @c "default"
};
static const char SIG_DELETE_REQUEST[] = "delete,request";
-static const char SIG_FOCUS_OUT[] = "focus,out";
-static const char SIG_FOCUS_IN[] = "focus,in";
+static const char SIG_FOCUS_OUT[] = "focus,out"; // deprecated. use "focused" instead.
+static const char SIG_FOCUS_IN[] = "focus,in"; // deprecated. use "unfocused" instead.
static const char SIG_MOVED[] = "moved";
static const char SIG_WITHDRAWN[] = "withdrawn";
static const char SIG_ICONIFIED[] = "iconified";
static const char SIG_INDICATOR_PROP_CHANGED[] = "indicator,prop,changed";
static const char SIG_ROTATION_CHANGED[] = "rotation,changed";
static const char SIG_PROFILE_CHANGED[] = "profile,changed";
+static const char SIG_FOCUSED[] = "focused";
+static const char SIG_UNFOCUSED[] = "unfocused";
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_DELETE_REQUEST, ""},
{SIG_INDICATOR_PROP_CHANGED, ""},
{SIG_ROTATION_CHANGED, ""},
{SIG_PROFILE_CHANGED, ""},
+ {SIG_FOCUSED, ""},
+ {SIG_UNFOCUSED, ""},
{NULL, NULL}
};
else
elm_widget_focus_restore(obj);
evas_object_smart_callback_call(obj, SIG_FOCUS_IN, NULL);
+ evas_object_smart_callback_call(obj, SIG_FOCUSED, NULL);
sd->focus_highlight.cur.visible = EINA_TRUE;
_elm_win_focus_highlight_reconfigure_job_start(sd);
if (sd->frame_obj)
elm_object_focus_set(obj, EINA_FALSE);
_elm_widget_top_win_focused_set(obj, EINA_FALSE);
evas_object_smart_callback_call(obj, SIG_FOCUS_OUT, NULL);
+ evas_object_smart_callback_call(obj, SIG_UNFOCUSED, NULL);
sd->focus_highlight.cur.visible = EINA_FALSE;
_elm_win_focus_highlight_reconfigure_job_start(sd);
if (sd->frame_obj)
*
* @li "delete,request": the user requested to close the window. See
* elm_win_autodel_set().
- * @li "focus,in": window got focus
- * @li "focus,out": window lost focus
+ * @li "focus,in": window got focus (deprecated. use "focused" instead.)
+ * @li "focus,out": window lost focus (deprecated. use "unfocused" instead.)
* @li "moved": window that holds the canvas was moved
* @li "withdrawn": window is still managed normally but removed from view
* @li "iconified": window is minimized (perhaps into an icon or taskbar)
* @li "indicator,prop,changed": an indicator's property has been changed
* @li "rotation,changed": window rotation has been changed
* @li "profile,changed": profile of the window has been changed
+ * @li "focused" : When the win has received focus. (since 1.8)
+ * @li "unfocused" : When the win has lost focus. (since 1.8)
*
* Examples:
* @li @ref win_example_01