static const char SMART_NAME[] = "elm_widget";
-#define API_ENTRY \
- Smart_Data *sd = evas_object_smart_data_get(obj); \
- if ((!obj) || (!sd) || (!_elm_widget_is(obj)))
-#define INTERNAL_ENTRY \
- Smart_Data *sd = evas_object_smart_data_get(obj); \
- if (!sd) return;
-
-typedef struct _Smart_Data Smart_Data;
-typedef struct _Edje_Signal_Data Edje_Signal_Data;
+#define API_ENTRY \
+ Smart_Data * sd = evas_object_smart_data_get(obj); \
+ if ((!obj) || (!sd) || (!_elm_widget_is(obj)))
+#define INTERNAL_ENTRY \
+ Smart_Data * sd = evas_object_smart_data_get(obj); \
+ if (!sd) return;
+
+typedef struct _Smart_Data Smart_Data;
+typedef struct _Edje_Signal_Data Edje_Signal_Data;
typedef struct _Elm_Event_Cb_Data Elm_Event_Cb_Data;
struct _Smart_Data
{
- Evas_Object *obj;
- const char *type;
- Evas_Object *parent_obj;
- Evas_Coord x, y, w, h;
- Eina_List *subobjs;
- Evas_Object *resize_obj;
- Evas_Object *hover_obj;
- Eina_List *tooltips, *cursors;
- void (*del_func) (Evas_Object *obj);
- void (*del_pre_func) (Evas_Object *obj);
- void (*focus_func) (Evas_Object *obj);
- void (*activate_func) (Evas_Object *obj);
- void (*disable_func) (Evas_Object *obj);
- void (*theme_func) (Evas_Object *obj);
- Eina_Bool (*event_func) (Evas_Object *obj, Evas_Object *source, Evas_Callback_Type type, void *event_info);
- void (*signal_func) (Evas_Object *obj, const char *emission,
- const char *source);
- void (*callback_add_func) (Evas_Object *obj, const char *emission,
- const char *source, Edje_Signal_Cb func, void *data);
- void (*callback_del_func) (Evas_Object *obj, const char *emission,
- const char *source, Edje_Signal_Cb func, void *data);
- void (*changed_func) (Evas_Object *obj);
- Eina_Bool (*focus_next_func) (const Evas_Object *obj, Elm_Focus_Direction dir,
- Evas_Object **next);
- void (*on_focus_func) (void *data, Evas_Object *obj);
- void *on_focus_data;
- void (*on_change_func) (void *data, Evas_Object *obj);
- void *on_change_data;
- void (*on_show_region_func) (void *data, Evas_Object *obj);
- void *on_show_region_data;
- void (*focus_region_func) (Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
- void (*on_focus_region_func) (const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
- void *data;
- Evas_Coord rx, ry, rw, rh;
- int scroll_hold;
- int scroll_freeze;
- double scale;
- Elm_Theme *theme;
- const char *style;
- unsigned int focus_order;
- Eina_Bool focus_order_on_calc;
-
- int child_drag_x_locked;
- int child_drag_y_locked;
-
- Eina_List *edje_signals;
-
- Eina_Bool drag_x_locked : 1;
- Eina_Bool drag_y_locked : 1;
-
- Eina_Bool can_focus : 1;
- Eina_Bool child_can_focus : 1;
- Eina_Bool focused : 1;
- Eina_Bool highlight_ignore : 1;
- Eina_Bool highlight_in_theme : 1;
- Eina_Bool disabled : 1;
- Eina_Bool is_mirrored : 1;
- Eina_Bool mirrored_auto_mode : 1; /* This is TRUE by default */
-
- Eina_List *focus_chain;
- Eina_List *event_cb;
+ Evas_Object *obj;
+ const char *type;
+ Evas_Object *parent_obj;
+ Evas_Coord x, y, w, h;
+ Eina_List *subobjs;
+ Evas_Object *resize_obj;
+ Evas_Object *hover_obj;
+ Eina_List *tooltips, *cursors;
+ void (*del_func)(Evas_Object *obj);
+ void (*del_pre_func)(Evas_Object *obj);
+ void (*focus_func)(Evas_Object *obj);
+ void (*activate_func)(Evas_Object *obj);
+ void (*disable_func)(Evas_Object *obj);
+ void (*theme_func)(Evas_Object *obj);
+ Eina_Bool (*event_func)(Evas_Object *obj,
+ Evas_Object *source,
+ Evas_Callback_Type type,
+ void *event_info);
+ void (*signal_func)(Evas_Object *obj,
+ const char *emission,
+ const char *source);
+ void (*callback_add_func)(Evas_Object *obj,
+ const char *emission,
+ const char *source,
+ Edje_Signal_Cb func,
+ void *data);
+ void (*callback_del_func)(Evas_Object *obj,
+ const char *emission,
+ const char *source,
+ Edje_Signal_Cb func,
+ void *data);
+ void (*changed_func)(Evas_Object *obj);
+ Eina_Bool (*focus_next_func)(const Evas_Object *obj,
+ Elm_Focus_Direction dir,
+ Evas_Object **next);
+ void (*on_focus_func)(void *data,
+ Evas_Object *obj);
+ void *on_focus_data;
+ void (*on_change_func)(void *data,
+ Evas_Object *obj);
+ void *on_change_data;
+ void (*on_show_region_func)(void *data,
+ Evas_Object *obj);
+ void *on_show_region_data;
+ void (*focus_region_func)(Evas_Object *obj,
+ Evas_Coord x,
+ Evas_Coord y,
+ Evas_Coord w,
+ Evas_Coord h);
+ void (*on_focus_region_func)(const Evas_Object *obj,
+ Evas_Coord *x,
+ Evas_Coord *y,
+ Evas_Coord *w,
+ Evas_Coord *h);
+ void *data;
+ Evas_Coord rx, ry, rw, rh;
+ int scroll_hold;
+ int scroll_freeze;
+ double scale;
+ Elm_Theme *theme;
+ const char *style;
+ unsigned int focus_order;
+ Eina_Bool focus_order_on_calc;
+
+ int child_drag_x_locked;
+ int child_drag_y_locked;
+
+ Eina_List *edje_signals;
+
+ Eina_Bool drag_x_locked : 1;
+ Eina_Bool drag_y_locked : 1;
+
+ Eina_Bool can_focus : 1;
+ Eina_Bool child_can_focus : 1;
+ Eina_Bool focused : 1;
+ Eina_Bool highlight_ignore : 1;
+ Eina_Bool highlight_in_theme : 1;
+ Eina_Bool disabled : 1;
+ Eina_Bool is_mirrored : 1;
+ Eina_Bool mirrored_auto_mode : 1; /* This is TRUE by default */
+
+ Eina_List *focus_chain;
+ Eina_List *event_cb;
};
struct _Edje_Signal_Data
{
- Evas_Object *obj;
+ Evas_Object *obj;
Edje_Signal_Cb func;
- const char *emission;
- const char *source;
- void *data;
+ const char *emission;
+ const char *source;
+ void *data;
};
-struct _Elm_Event_Cb_Data {
- Elm_Event_Cb func;
- const void *data;
+struct _Elm_Event_Cb_Data
+{
+ Elm_Event_Cb func;
+ const void *data;
};
/* local subsystem functions */
static void _smart_reconfigure(Smart_Data *sd);
static void _smart_add(Evas_Object *obj);
static void _smart_del(Evas_Object *obj);
-static void _smart_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y);
-static void _smart_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h);
+static void _smart_move(Evas_Object *obj,
+ Evas_Coord x,
+ Evas_Coord y);
+static void _smart_resize(Evas_Object *obj,
+ Evas_Coord w,
+ Evas_Coord h);
static void _smart_show(Evas_Object *obj);
static void _smart_hide(Evas_Object *obj);
-static void _smart_color_set(Evas_Object *obj, int r, int g, int b, int a);
-static void _smart_clip_set(Evas_Object *obj, Evas_Object * clip);
+static void _smart_color_set(Evas_Object *obj,
+ int r,
+ int g,
+ int b,
+ int a);
+static void _smart_clip_set(Evas_Object *obj,
+ Evas_Object *clip);
static void _smart_clip_unset(Evas_Object *obj);
static void _smart_calculate(Evas_Object *obj);
static void _smart_init(void);
-static void _if_focused_revert(Evas_Object *obj, Eina_Bool can_focus_only);
-static Evas_Object *_newest_focus_order_get(Evas_Object *obj, unsigned int *newest_focus_order, Eina_Bool can_focus_only);
+static void _if_focused_revert(Evas_Object *obj,
+ Eina_Bool can_focus_only);
+static Evas_Object *_newest_focus_order_get(Evas_Object *obj,
+ unsigned int *newest_focus_order,
+ Eina_Bool can_focus_only);
/* local subsystem globals */
static Evas_Smart *_e_smart = NULL;
}
static void
-_sub_obj_del(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
+_sub_obj_del(void *data,
+ Evas *e __UNUSED__,
+ Evas_Object *obj,
+ void *event_info __UNUSED__)
{
Smart_Data *sd = data;
}
static void
-_sub_obj_hide(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
+_sub_obj_hide(void *data __UNUSED__,
+ Evas *e __UNUSED__,
+ Evas_Object *obj,
+ void *event_info __UNUSED__)
{
_if_focused_revert(obj, EINA_TRUE);
}
static void
-_sub_obj_mouse_down(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
+_sub_obj_mouse_down(void *data __UNUSED__,
+ Evas *e __UNUSED__,
+ Evas_Object *obj,
+ void *event_info __UNUSED__)
{
Evas_Object *o = obj;
do
}
static void
-_propagate_x_drag_lock(Evas_Object *obj, int dir)
+_propagate_x_drag_lock(Evas_Object *obj,
+ int dir)
{
INTERNAL_ENTRY
- if (sd->parent_obj)
- {
- Smart_Data *sd2 = evas_object_smart_data_get(sd->parent_obj);
- if (sd2)
- {
- sd2->child_drag_x_locked += dir;
- _propagate_x_drag_lock(sd->parent_obj, dir);
- }
- }
+ if (sd->parent_obj)
+ {
+ Smart_Data *sd2 = evas_object_smart_data_get(sd->parent_obj);
+ if (sd2)
+ {
+ sd2->child_drag_x_locked += dir;
+ _propagate_x_drag_lock(sd->parent_obj, dir);
+ }
+ }
}
static void
-_propagate_y_drag_lock(Evas_Object *obj, int dir)
+_propagate_y_drag_lock(Evas_Object *obj,
+ int dir)
{
INTERNAL_ENTRY
- if (sd->parent_obj)
- {
- Smart_Data *sd2 = evas_object_smart_data_get(sd->parent_obj);
- if (sd2)
- {
- sd2->child_drag_y_locked += dir;
- _propagate_y_drag_lock(sd->parent_obj, dir);
- }
- }
+ if (sd->parent_obj)
+ {
+ Smart_Data *sd2 = evas_object_smart_data_get(sd->parent_obj);
+ if (sd2)
+ {
+ sd2->child_drag_y_locked += dir;
+ _propagate_y_drag_lock(sd->parent_obj, dir);
+ }
+ }
}
static void
-_propagate_event(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info)
+_propagate_event(void *data,
+ Evas *e __UNUSED__,
+ Evas_Object *obj,
+ void *event_info)
{
INTERNAL_ENTRY
- Evas_Callback_Type type = (Evas_Callback_Type)(long) data;
+ Evas_Callback_Type type = (Evas_Callback_Type)(long)data;
Evas_Event_Flags *event_flags = NULL;
switch (type)
{
case EVAS_CALLBACK_KEY_DOWN:
- {
- Evas_Event_Key_Down *ev = event_info;
- event_flags = &(ev->event_flags);
- break;
- }
+ Evas_Event_Key_Down *ev = event_info;
+ event_flags = &(ev->event_flags);
+ break;
+
case EVAS_CALLBACK_KEY_UP:
- {
- Evas_Event_Key_Up *ev = event_info;
- event_flags = &(ev->event_flags);
- break;
- }
+ Evas_Event_Key_Up *ev = event_info;
+ event_flags = &(ev->event_flags);
+ break;
+
case EVAS_CALLBACK_MOUSE_WHEEL:
- {
- Evas_Event_Mouse_Wheel *ev = event_info;
- event_flags = &(ev->event_flags);
- break;
- }
+ Evas_Event_Mouse_Wheel *ev = event_info;
+ event_flags = &(ev->event_flags);
+ break;
+
default:
- break;
+ break;
}
elm_widget_event_propagate(obj, type, event_info, event_flags);
}
static void
-_elm_object_focus_chain_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
+_elm_object_focus_chain_del_cb(void *data,
+ Evas *e __UNUSED__,
+ Evas_Object *obj,
+ void *event_info __UNUSED__)
{
Smart_Data *sd = data;
}
EAPI void
-elm_widget_del_hook_set(Evas_Object *obj, void (*func) (Evas_Object *obj))
+elm_widget_del_hook_set(Evas_Object *obj,
+ void (*func)(Evas_Object *obj))
{
API_ENTRY return;
sd->del_func = func;
}
EAPI void
-elm_widget_del_pre_hook_set(Evas_Object *obj, void (*func) (Evas_Object *obj))
+elm_widget_del_pre_hook_set(Evas_Object *obj,
+ void (*func)(Evas_Object *obj))
{
API_ENTRY return;
sd->del_pre_func = func;
}
EAPI void
-elm_widget_focus_hook_set(Evas_Object *obj, void (*func) (Evas_Object *obj))
+elm_widget_focus_hook_set(Evas_Object *obj,
+ void (*func)(Evas_Object *obj))
{
API_ENTRY return;
sd->focus_func = func;
}
EAPI void
-elm_widget_activate_hook_set(Evas_Object *obj, void (*func) (Evas_Object *obj))
+elm_widget_activate_hook_set(Evas_Object *obj,
+ void (*func)(Evas_Object *obj))
{
API_ENTRY return;
sd->activate_func = func;
}
EAPI void
-elm_widget_disable_hook_set(Evas_Object *obj, void (*func) (Evas_Object *obj))
+elm_widget_disable_hook_set(Evas_Object *obj,
+ void (*func)(Evas_Object *obj))
{
API_ENTRY return;
sd->disable_func = func;
}
EAPI void
-elm_widget_theme_hook_set(Evas_Object *obj, void (*func) (Evas_Object *obj))
+elm_widget_theme_hook_set(Evas_Object *obj,
+ void (*func)(Evas_Object *obj))
{
API_ENTRY return;
sd->theme_func = func;
}
EAPI void
-elm_widget_event_hook_set(Evas_Object *obj, Eina_Bool (*func) (Evas_Object *obj, Evas_Object *source, Evas_Callback_Type type, void *event_info))
+elm_widget_event_hook_set(Evas_Object *obj,
+ Eina_Bool (*func)(Evas_Object *obj,
+ Evas_Object *source,
+ Evas_Callback_Type type,
+ void *event_info))
{
API_ENTRY return;
sd->event_func = func;
}
EAPI void
-elm_widget_changed_hook_set(Evas_Object *obj, void (*func) (Evas_Object *obj))
+elm_widget_changed_hook_set(Evas_Object *obj,
+ void (*func)(Evas_Object *obj))
{
API_ENTRY return;
sd->changed_func = func;
}
EAPI void
-elm_widget_signal_emit_hook_set(Evas_Object *obj, void (*func) (Evas_Object *obj, const char *emission, const char *source))
+elm_widget_signal_emit_hook_set(Evas_Object *obj,
+ void (*func)(Evas_Object *obj,
+ const char *emission,
+ const char *source))
{
API_ENTRY return;
sd->signal_func = func;
}
EAPI void
-elm_widget_signal_callback_add_hook_set(Evas_Object *obj, void (*func) (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data))
+elm_widget_signal_callback_add_hook_set(Evas_Object *obj,
+ void (*func)(Evas_Object *obj,
+ const char *emission,
+ const char *source,
+ Edje_Signal_Cb func_cb,
+ void *data))
{
API_ENTRY return;
sd->callback_add_func = func;
}
EAPI void
-elm_widget_signal_callback_del_hook_set(Evas_Object *obj, void (*func) (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data))
+elm_widget_signal_callback_del_hook_set(Evas_Object *obj,
+ void (*func)(Evas_Object *obj,
+ const char *emission,
+ const char *source,
+ Edje_Signal_Cb func_cb,
+ void *data))
{
API_ENTRY return;
sd->callback_del_func = func;
}
EAPI void
-elm_widget_theme_specific(Evas_Object *obj, Elm_Theme *th, Eina_Bool force)
+elm_widget_theme_specific(Evas_Object *obj,
+ Elm_Theme *th,
+ Eina_Bool force)
{
const Eina_List *l;
Evas_Object *child;
}
if (!force) return;
EINA_LIST_FOREACH(sd->subobjs, l, child)
- elm_widget_theme_specific(child, th, force);
+ elm_widget_theme_specific(child, th, force);
if (sd->resize_obj) elm_widget_theme(sd->resize_obj);
if (sd->hover_obj) elm_widget_theme(sd->hover_obj);
EINA_LIST_FOREACH(sd->tooltips, l, tt) elm_tooltip_theme(tt);
* @ingroup Widget
*/
EAPI void
-elm_widget_focus_next_hook_set(Evas_Object *obj, Eina_Bool (*func) (const Evas_Object *obj, Elm_Focus_Direction dir, Evas_Object **next))
+elm_widget_focus_next_hook_set(Evas_Object *obj,
+ Eina_Bool (*func)(const Evas_Object *obj,
+ Elm_Focus_Direction dir,
+ Evas_Object **next))
{
API_ENTRY return;
sd->focus_next_func = func;
* @param mirrored EINA_TRUE to set mirrored mode. EINA_FALSE to unset.
*/
EAPI void
-elm_widget_mirrored_set(Evas_Object *obj, Eina_Bool mirrored)
+elm_widget_mirrored_set(Evas_Object *obj,
+ Eina_Bool mirrored)
{
API_ENTRY return;
if (sd->is_mirrored != mirrored)
* @param automatic EINA_TRUE for auto mirrored mode. EINA_FALSE for manual.
*/
EAPI void
-elm_widget_mirrored_automatic_set(Evas_Object *obj, Eina_Bool automatic)
+elm_widget_mirrored_automatic_set(Evas_Object *obj,
+ Eina_Bool automatic)
{
API_ENTRY return;
if (sd->mirrored_auto_mode != automatic)
}
EAPI void
-elm_widget_on_focus_hook_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), void *data)
+elm_widget_on_focus_hook_set(Evas_Object *obj,
+ void (*func)(void *data,
+ Evas_Object *obj),
+ void *data)
{
API_ENTRY return;
sd->on_focus_func = func;
}
EAPI void
-elm_widget_on_change_hook_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), void *data)
+elm_widget_on_change_hook_set(Evas_Object *obj,
+ void (*func)(void *data,
+ Evas_Object *obj),
+ void *data)
{
API_ENTRY return;
sd->on_change_func = func;
}
EAPI void
-elm_widget_on_show_region_hook_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), void *data)
+elm_widget_on_show_region_hook_set(Evas_Object *obj,
+ void (*func)(void *data,
+ Evas_Object *obj),
+ void *data)
{
API_ENTRY return;
sd->on_show_region_func = func;
* @ingroup Widget
*/
EAPI void
-elm_widget_focus_region_hook_set(Evas_Object *obj, void (*func) (Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h))
+elm_widget_focus_region_hook_set(Evas_Object *obj,
+ void (*func)(Evas_Object *obj,
+ Evas_Coord x,
+ Evas_Coord y,
+ Evas_Coord w,
+ Evas_Coord h))
{
API_ENTRY return;
sd->focus_region_func = func;
* @ingroup Widget
*/
EAPI void
-elm_widget_on_focus_region_hook_set(Evas_Object *obj, void (*func) (const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h))
+elm_widget_on_focus_region_hook_set(Evas_Object *obj,
+ void (*func)(const Evas_Object *obj,
+ Evas_Coord *x,
+ Evas_Coord *y,
+ Evas_Coord *w,
+ Evas_Coord *h))
{
API_ENTRY return;
sd->on_focus_region_func = func;
}
EAPI void
-elm_widget_data_set(Evas_Object *obj, void *data)
+elm_widget_data_set(Evas_Object *obj,
+ void *data)
{
API_ENTRY return;
sd->data = data;
}
EAPI void
-elm_widget_sub_object_add(Evas_Object *obj, Evas_Object *sobj)
+elm_widget_sub_object_add(Evas_Object *obj,
+ Evas_Object *sobj)
{
API_ENTRY return;
double scale, pscale = elm_widget_scale_get(sobj);
}
EAPI void
-elm_widget_sub_object_del(Evas_Object *obj, Evas_Object *sobj)
+elm_widget_sub_object_del(Evas_Object *obj,
+ Evas_Object *sobj)
{
Evas_Object *sobj_parent;
API_ENTRY return;
}
EAPI void
-elm_widget_resize_object_set(Evas_Object *obj, Evas_Object *sobj)
+elm_widget_resize_object_set(Evas_Object *obj,
+ Evas_Object *sobj)
{
API_ENTRY return;
// orphan previous resize obj
}
EAPI void
-elm_widget_hover_object_set(Evas_Object *obj, Evas_Object *sobj)
+elm_widget_hover_object_set(Evas_Object *obj,
+ Evas_Object *sobj)
{
API_ENTRY return;
if (sd->hover_obj)
}
EAPI void
-elm_widget_can_focus_set(Evas_Object *obj, Eina_Bool can_focus)
+elm_widget_can_focus_set(Evas_Object *obj,
+ Eina_Bool can_focus)
{
API_ENTRY return;
sd->can_focus = can_focus;
{
evas_object_event_callback_add(obj, EVAS_CALLBACK_KEY_DOWN,
_propagate_event,
- (void *)(long) EVAS_CALLBACK_KEY_DOWN);
+ (void *)(long)EVAS_CALLBACK_KEY_DOWN);
evas_object_event_callback_add(obj, EVAS_CALLBACK_KEY_UP,
_propagate_event,
- (void *)(long) EVAS_CALLBACK_KEY_UP);
+ (void *)(long)EVAS_CALLBACK_KEY_UP);
evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_WHEEL,
_propagate_event,
(void *)(long)EVAS_CALLBACK_MOUSE_WHEEL);
}
EAPI void
-elm_widget_highlight_ignore_set(Evas_Object *obj, Eina_Bool ignore)
+elm_widget_highlight_ignore_set(Evas_Object *obj,
+ Eina_Bool ignore)
{
API_ENTRY return;
sd->highlight_ignore = !!ignore;
}
EAPI void
-elm_widget_highlight_in_theme_set(Evas_Object *obj, Eina_Bool highlight)
+elm_widget_highlight_in_theme_set(Evas_Object *obj,
+ Eina_Bool highlight)
{
API_ENTRY return;
sd->highlight_in_theme = !!highlight;
}
EAPI void
-elm_widget_event_callback_add(Evas_Object *obj, Elm_Event_Cb func, const void *data)
+elm_widget_event_callback_add(Evas_Object *obj,
+ Elm_Event_Cb func,
+ const void *data)
{
API_ENTRY return;
EINA_SAFETY_ON_NULL_RETURN(func);
}
EAPI void *
-elm_widget_event_callback_del(Evas_Object *obj, Elm_Event_Cb func, const void *data)
+elm_widget_event_callback_del(Evas_Object *obj,
+ Elm_Event_Cb func,
+ const void *data)
{
API_ENTRY return NULL;
EINA_SAFETY_ON_NULL_RETURN_VAL(func, NULL);
Eina_List *l;
Elm_Event_Cb_Data *ecd;
EINA_LIST_FOREACH(sd->event_cb, l, ecd)
- if ((ecd->func == func) && (ecd->data == data))
- {
- free(ecd);
- sd->event_cb = eina_list_remove_list(sd->event_cb, l);
- return (void *)data;
- }
+ if ((ecd->func == func) && (ecd->data == data))
+ {
+ free(ecd);
+ sd->event_cb = eina_list_remove_list(sd->event_cb, l);
+ return (void *)data;
+ }
return NULL;
}
EAPI Eina_Bool
-elm_widget_event_propagate(Evas_Object *obj, Evas_Callback_Type type, void *event_info, Evas_Event_Flags *event_flags)
+elm_widget_event_propagate(Evas_Object *obj,
+ Evas_Callback_Type type,
+ void *event_info,
+ Evas_Event_Flags *event_flags)
{
API_ENTRY return EINA_FALSE; //TODO reduce.
if (!_elm_widget_is(obj)) return EINA_FALSE;
* @ingroup Widget
*/
EAPI void
-elm_widget_focus_custom_chain_set(Evas_Object *obj, Eina_List *objs)
+elm_widget_focus_custom_chain_set(Evas_Object *obj,
+ Eina_List *objs)
{
API_ENTRY return;
if (!sd->focus_next_func)
elm_widget_focus_custom_chain_get(const Evas_Object *obj)
{
API_ENTRY return NULL;
- return (const Eina_List *) sd->focus_chain;
+ return (const Eina_List *)sd->focus_chain;
}
/**
* @ingroup Widget
*/
EAPI void
-elm_widget_focus_custom_chain_append(Evas_Object *obj, Evas_Object *child, Evas_Object *relative_child)
+elm_widget_focus_custom_chain_append(Evas_Object *obj,
+ Evas_Object *child,
+ Evas_Object *relative_child)
{
API_ENTRY return;
EINA_SAFETY_ON_NULL_RETURN(child);
* @ingroup Widget
*/
EAPI void
-elm_widget_focus_custom_chain_prepend(Evas_Object *obj, Evas_Object *child, Evas_Object *relative_child)
+elm_widget_focus_custom_chain_prepend(Evas_Object *obj,
+ Evas_Object *child,
+ Evas_Object *relative_child)
{
API_ENTRY return;
EINA_SAFETY_ON_NULL_RETURN(child);
* @ingroup Widget
*/
EAPI void
-elm_widget_focus_cycle(Evas_Object *obj, Elm_Focus_Direction dir)
+elm_widget_focus_cycle(Evas_Object *obj,
+ Elm_Focus_Direction dir)
{
Evas_Object *target = NULL;
if (!_elm_widget_is(obj))
* @ingroup Widget
*/
EAPI void
-elm_widget_focus_direction_go(Evas_Object *obj __UNUSED__, int x __UNUSED__, int y __UNUSED__)
+elm_widget_focus_direction_go(Evas_Object *obj __UNUSED__,
+ int x __UNUSED__,
+ int y __UNUSED__)
{
return; /* TODO */
}
* @ingroup Widget
*/
EAPI Eina_Bool
-elm_widget_focus_next_get(const Evas_Object *obj, Elm_Focus_Direction dir, Evas_Object **next)
+elm_widget_focus_next_get(const Evas_Object *obj,
+ Elm_Focus_Direction dir,
+ Evas_Object **next)
{
if (!next)
return EINA_FALSE;
return !elm_widget_focus_get(obj);
}
-
/**
* @internal
*
* @ingroup Widget
*/
EAPI Eina_Bool
-elm_widget_focus_list_next_get(const Evas_Object *obj, const Eina_List *items, void *(*list_data_get) (const Eina_List *list), Elm_Focus_Direction dir, Evas_Object **next)
+elm_widget_focus_list_next_get(const Evas_Object *obj,
+ const Eina_List *items,
+ void *(*list_data_get)(const Eina_List * list),
+ Elm_Focus_Direction dir,
+ Evas_Object **next)
{
- Eina_List *(*list_next) (const Eina_List *list);
+ Eina_List *(*list_next)(const Eina_List * list);
if (!next)
return EINA_FALSE;
l = items;
/* Get First possible */
- for (;l != start; l = list_next(l))
+ for (; l != start; l = list_next(l))
{
Evas_Object *tmp = NULL;
Evas_Object *cur = list_data_get(l);
}
EAPI void
-elm_widget_signal_emit(Evas_Object *obj, const char *emission, const char *source)
+elm_widget_signal_emit(Evas_Object *obj,
+ const char *emission,
+ const char *source)
{
API_ENTRY return;
if (!sd->signal_func) return;
}
static void
-_edje_signal_callback(void *data, Evas_Object *obj __UNUSED__, const char *emission, const char *source)
+_edje_signal_callback(void *data,
+ Evas_Object *obj __UNUSED__,
+ const char *emission,
+ const char *source)
{
Edje_Signal_Data *esd = data;
esd->func(esd->data, esd->obj, emission, source);
}
EAPI void
-elm_widget_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data)
+elm_widget_signal_callback_add(Evas_Object *obj,
+ const char *emission,
+ const char *source,
+ Edje_Signal_Cb func,
+ void *data)
{
Edje_Signal_Data *esd;
API_ENTRY return;
}
EAPI void *
-elm_widget_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func)
+elm_widget_signal_callback_del(Evas_Object *obj,
+ const char *emission,
+ const char *source,
+ Edje_Signal_Cb func)
{
Edje_Signal_Data *esd;
Eina_List *l;
}
EAPI void
-elm_widget_focus_set(Evas_Object *obj, int first)
+elm_widget_focus_set(Evas_Object *obj,
+ int first)
{
API_ENTRY return;
if (!sd->focused)
}
EAPI void
-elm_widget_disabled_set(Evas_Object *obj, int disabled)
+elm_widget_disabled_set(Evas_Object *obj,
+ int disabled)
{
API_ENTRY return;
}
EAPI void
-elm_widget_show_region_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)
+elm_widget_show_region_set(Evas_Object *obj,
+ Evas_Coord x,
+ Evas_Coord y,
+ Evas_Coord w,
+ Evas_Coord h)
{
Evas_Object *parent_obj, *child_obj;
Evas_Coord px, py, cx, cy;
}
EAPI void
-elm_widget_show_region_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
+elm_widget_show_region_get(const Evas_Object *obj,
+ Evas_Coord *x,
+ Evas_Coord *y,
+ Evas_Coord *w,
+ Evas_Coord *h)
{
API_ENTRY return;
if (x) *x = sd->rx;
* @ingroup Widget
*/
EAPI void
-elm_widget_focus_region_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
+elm_widget_focus_region_get(const Evas_Object *obj,
+ Evas_Coord *x,
+ Evas_Coord *y,
+ Evas_Coord *w,
+ Evas_Coord *h)
{
Smart_Data *sd;
}
EAPI void
-elm_widget_scale_set(Evas_Object *obj, double scale)
+elm_widget_scale_set(Evas_Object *obj,
+ double scale)
{
API_ENTRY return;
if (scale <= 0.0) scale = 0.0;
}
EAPI void
-elm_widget_theme_set(Evas_Object *obj, Elm_Theme *th)
+elm_widget_theme_set(Evas_Object *obj,
+ Elm_Theme *th)
{
API_ENTRY return;
if (sd->theme != th)
}
EAPI void
-elm_widget_style_set(Evas_Object *obj, const char *style)
+elm_widget_style_set(Evas_Object *obj,
+ const char *style)
{
API_ENTRY return;
}
EAPI void
-elm_widget_type_set(Evas_Object *obj, const char *type)
+elm_widget_type_set(Evas_Object *obj,
+ const char *type)
{
API_ENTRY return;
eina_stringshare_replace(&sd->type, type);
}
EAPI void
-elm_widget_tooltip_add(Evas_Object *obj, Elm_Tooltip *tt)
+elm_widget_tooltip_add(Evas_Object *obj,
+ Elm_Tooltip *tt)
{
API_ENTRY return;
sd->tooltips = eina_list_append(sd->tooltips, tt);
}
EAPI void
-elm_widget_tooltip_del(Evas_Object *obj, Elm_Tooltip *tt)
+elm_widget_tooltip_del(Evas_Object *obj,
+ Elm_Tooltip *tt)
{
API_ENTRY return;
sd->tooltips = eina_list_remove(sd->tooltips, tt);
}
EAPI void
-elm_widget_cursor_add(Evas_Object *obj, Elm_Cursor *cur)
+elm_widget_cursor_add(Evas_Object *obj,
+ Elm_Cursor *cur)
{
API_ENTRY return;
sd->cursors = eina_list_append(sd->cursors, cur);
}
EAPI void
-elm_widget_cursor_del(Evas_Object *obj, Elm_Cursor *cur)
+elm_widget_cursor_del(Evas_Object *obj,
+ Elm_Cursor *cur)
{
API_ENTRY return;
sd->cursors = eina_list_remove(sd->cursors, cur);
}
EAPI void
-elm_widget_drag_lock_x_set(Evas_Object *obj, Eina_Bool lock)
+elm_widget_drag_lock_x_set(Evas_Object *obj,
+ Eina_Bool lock)
{
API_ENTRY return;
if (sd->drag_x_locked == lock) return;
}
EAPI void
-elm_widget_drag_lock_y_set(Evas_Object *obj, Eina_Bool lock)
+elm_widget_drag_lock_y_set(Evas_Object *obj,
+ Eina_Bool lock)
{
API_ENTRY return;
if (sd->drag_y_locked == lock) return;
}
EAPI Eina_Bool
-elm_widget_theme_object_set(Evas_Object *obj, Evas_Object *edj, const char *wname, const char *welement, const char *wstyle)
+elm_widget_theme_object_set(Evas_Object *obj,
+ Evas_Object *edj,
+ const char *wname,
+ const char *welement,
+ const char *wstyle)
{
API_ENTRY return EINA_FALSE;
return _elm_theme_object_set(obj, edj, wname, welement, wstyle);
}
EAPI Eina_Bool
-elm_widget_type_check(const Evas_Object *obj, const char *type)
+elm_widget_type_check(const Evas_Object *obj,
+ const char *type)
{
const char *provided, *expected = "(unknown)";
static int abort_on_warn = -1;
* @ingroup Widget
*/
EAPI Elm_Widget_Item *
-_elm_widget_item_new(Evas_Object *widget, size_t alloc_size)
+_elm_widget_item_new(Evas_Object *widget,
+ size_t alloc_size)
{
if (!_elm_widget_is(widget))
return NULL;
* @ingroup Widget
*/
EAPI void
-_elm_widget_item_del_cb_set(Elm_Widget_Item *item, Evas_Smart_Cb del_cb)
+_elm_widget_item_del_cb_set(Elm_Widget_Item *item,
+ Evas_Smart_Cb del_cb)
{
ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
* @ingroup Widget
*/
EAPI void
-_elm_widget_item_data_set(Elm_Widget_Item *item, const void *data)
+_elm_widget_item_data_set(Elm_Widget_Item *item,
+ const void *data)
{
ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
if ((item->data) && (item->data != data))
struct _Elm_Widget_Item_Tooltip
{
- Elm_Widget_Item *item;
- Elm_Tooltip_Item_Content_Cb func;
- Evas_Smart_Cb del_cb;
- const void *data;
+ Elm_Widget_Item *item;
+ Elm_Tooltip_Item_Content_Cb func;
+ Evas_Smart_Cb del_cb;
+ const void *data;
};
static Evas_Object *
-_elm_widget_item_tooltip_label_create(void *data, Evas_Object *obj, void *item __UNUSED__)
+_elm_widget_item_tooltip_label_create(void *data,
+ Evas_Object *obj,
+ void *item __UNUSED__)
{
Evas_Object *label = elm_label_add(obj);
if (!label)
}
static void
-_elm_widget_item_tooltip_label_del_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+_elm_widget_item_tooltip_label_del_cb(void *data,
+ Evas_Object *obj __UNUSED__,
+ void *event_info __UNUSED__)
{
eina_stringshare_del(data);
}
* @ingroup Widget
*/
EAPI void
-_elm_widget_item_tooltip_text_set(Elm_Widget_Item *item, const char *text)
+_elm_widget_item_tooltip_text_set(Elm_Widget_Item *item,
+ const char *text)
{
ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
EINA_SAFETY_ON_NULL_RETURN(text);
text = eina_stringshare_add(text);
_elm_widget_item_tooltip_content_cb_set
- (item, _elm_widget_item_tooltip_label_create, text,
- _elm_widget_item_tooltip_label_del_cb);
+ (item, _elm_widget_item_tooltip_label_create, text,
+ _elm_widget_item_tooltip_label_del_cb);
}
static Evas_Object *
-_elm_widget_item_tooltip_create(void *data, Evas_Object *obj)
+_elm_widget_item_tooltip_create(void *data,
+ Evas_Object *obj)
{
Elm_Widget_Item_Tooltip *wit = data;
return wit->func((void *)wit->data, obj, wit->item);
}
static void
-_elm_widget_item_tooltip_del_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
+_elm_widget_item_tooltip_del_cb(void *data,
+ Evas_Object *obj,
+ void *event_info __UNUSED__)
{
Elm_Widget_Item_Tooltip *wit = data;
if (wit->del_cb) wit->del_cb((void *)wit->data, obj, wit->item);
* @ingroup Widget
*/
EAPI void
-_elm_widget_item_tooltip_content_cb_set(Elm_Widget_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb)
+_elm_widget_item_tooltip_content_cb_set(Elm_Widget_Item *item,
+ Elm_Tooltip_Item_Content_Cb func,
+ const void *data,
+ Evas_Smart_Cb del_cb)
{
Elm_Widget_Item_Tooltip *wit;
wit->del_cb = del_cb;
elm_object_sub_tooltip_content_cb_set
- (item->view, item->widget, _elm_widget_item_tooltip_create, wit,
- _elm_widget_item_tooltip_del_cb);
+ (item->view, item->widget, _elm_widget_item_tooltip_create, wit,
+ _elm_widget_item_tooltip_del_cb);
return;
* @ingroup Widget
*/
EAPI void
-_elm_widget_item_tooltip_style_set(Elm_Widget_Item *item, const char *style)
+_elm_widget_item_tooltip_style_set(Elm_Widget_Item *item,
+ const char *style)
{
ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
elm_object_tooltip_style_set(item->view, style);
}
EAPI void
-_elm_widget_item_cursor_set(Elm_Widget_Item *item, const char *cursor)
+_elm_widget_item_cursor_set(Elm_Widget_Item *item,
+ const char *cursor)
{
ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
elm_object_sub_cursor_set(item->view, item->widget, cursor);
* @ingroup Widget
*/
EAPI void
-_elm_widget_item_cursor_style_set(Elm_Widget_Item *item, const char *style)
+_elm_widget_item_cursor_style_set(Elm_Widget_Item *item,
+ const char *style)
{
ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
elm_object_cursor_style_set(item->view, style);
* @ingroup Widget
*/
EAPI void
-_elm_widget_item_cursor_engine_only_set(Elm_Widget_Item *item, Eina_Bool engine_only)
+_elm_widget_item_cursor_engine_only_set(Elm_Widget_Item *item,
+ Eina_Bool engine_only)
{
ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
elm_object_cursor_engine_only_set(item->view, engine_only);
}
static Evas_Object *
-_newest_focus_order_get(Evas_Object *obj, unsigned int *newest_focus_order, Eina_Bool can_focus_only)
+_newest_focus_order_get(Evas_Object *obj,
+ unsigned int *newest_focus_order,
+ Eina_Bool can_focus_only)
{
const Eina_List *l;
Evas_Object *child, *ret, *best;
}
static void
-_if_focused_revert(Evas_Object *obj, Eina_Bool can_focus_only)
+_if_focused_revert(Evas_Object *obj,
+ Eina_Bool can_focus_only)
{
Evas_Object *top;
Evas_Object *newest = NULL;
}
static void
-_smart_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
+_smart_move(Evas_Object *obj,
+ Evas_Coord x,
+ Evas_Coord y)
{
INTERNAL_ENTRY
sd->x = x;
}
static void
-_smart_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
+_smart_resize(Evas_Object *obj,
+ Evas_Coord w,
+ Evas_Coord h)
{
INTERNAL_ENTRY
sd->w = w;
Eina_List *list;
Evas_Object *o;
INTERNAL_ENTRY
- list = evas_object_smart_members_get(obj);
+ list = evas_object_smart_members_get(obj);
EINA_LIST_FREE(list, o)
{
if (evas_object_data_get(o, "_elm_leaveme")) continue;
}
static void
-_smart_color_set(Evas_Object *obj, int r, int g, int b, int a)
+_smart_color_set(Evas_Object *obj,
+ int r,
+ int g,
+ int b,
+ int a)
{
Eina_List *list;
Evas_Object *o;
}
static void
-_smart_clip_set(Evas_Object *obj, Evas_Object *clip)
+_smart_clip_set(Evas_Object *obj,
+ Evas_Object *clip)
{
Eina_List *list;
Evas_Object *o;
_smart_init(void)
{
if (_e_smart) return;
- {
- static const Evas_Smart_Class sc =
- {
- SMART_NAME,
- EVAS_SMART_CLASS_VERSION,
- _smart_add,
- _smart_del,
- _smart_move,
- _smart_resize,
- _smart_show,
- _smart_hide,
- _smart_color_set,
- _smart_clip_set,
- _smart_clip_unset,
- _smart_calculate,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL
- };
- _e_smart = evas_smart_class_new(&sc);
- }
+ {
+ static const Evas_Smart_Class sc =
+ {
+ SMART_NAME,
+ EVAS_SMART_CLASS_VERSION,
+ _smart_add,
+ _smart_del,
+ _smart_move,
+ _smart_resize,
+ _smart_show,
+ _smart_hide,
+ _smart_color_set,
+ _smart_clip_set,
+ _smart_clip_unset,
+ _smart_calculate,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ };
+ _e_smart = evas_smart_class_new(&sc);
+ }
}
/* happy debug functions */
#ifdef ELM_DEBUG
static void
-_sub_obj_tree_dump(const Evas_Object *obj, int lvl)
+_sub_obj_tree_dump(const Evas_Object *obj,
+ int lvl)
{
int i;
- for (i = 0; i < lvl*3; i++)
+ for (i = 0; i < lvl * 3; i++)
putchar(' ');
if (_elm_widget_is(obj))
{
Eina_List *l;
INTERNAL_ENTRY
- printf("+ %s(%p)\n", sd->type, obj);
+ printf("+ %s(%p)\n",
+ sd->type,
+ obj);
if (sd->resize_obj)
_sub_obj_tree_dump(sd->resize_obj, lvl + 1);
EINA_LIST_FOREACH(sd->subobjs, l, obj)
}
static void
-_sub_obj_tree_dot_dump(const Evas_Object *obj, FILE *output)
+_sub_obj_tree_dot_dump(const Evas_Object *obj,
+ FILE *output)
{
if (!_elm_widget_is(obj))
return;
INTERNAL_ENTRY
- Eina_Bool visible = evas_object_visible_get(obj);
+ Eina_Bool visible = evas_object_visible_get(obj);
Eina_Bool disabled = elm_widget_disabled_get(obj);
Eina_Bool focused = elm_widget_focus_get(obj);
Eina_Bool can_focus = elm_widget_can_focus_get(obj);
}
fprintf(output, "\"%p\" [ label = \"{%p|%s|%s|visible: %d|"
- "disabled: %d|focused: %d/%d|focus order:%d}\"", obj, obj, sd->type,
+ "disabled: %d|focused: %d/%d|focus order:%d}\"", obj, obj, sd->type,
evas_object_name_get(obj), visible, disabled, focused, can_focus,
sd->focus_order);
if ((disabled) || (!visible))
fprintf(output, ", color=gray");
-
fprintf(output, " ];\n");
Eina_List *l;
Evas_Object *o;
EINA_LIST_FOREACH(sd->subobjs, l, o)
- _sub_obj_tree_dot_dump(o, output);
+ _sub_obj_tree_dot_dump(o, output);
}
#endif
}
EAPI void
-elm_widget_tree_dot_dump(const Evas_Object *top, FILE *output)
+elm_widget_tree_dot_dump(const Evas_Object *top,
+ FILE *output)
{
#ifdef ELM_DEBUG
if (!_elm_widget_is(top))
return;
- fprintf(output, "graph "" { node [shape=record];\n");
+ fprintf(output, "graph " " { node [shape=record];\n");
_sub_obj_tree_dot_dump(top, output);
fprintf(output, "}\n");
#else
(void)top;
(void)output;
#endif
-}
+}
\ No newline at end of file