Describe more widgets callbacks.
These are all that Editje support now :-) Add others later as required, but patches are welcome! SVN revision: 47488
This commit is contained in:
parent
c70784c37c
commit
9c951bc6fc
|
@ -12,6 +12,37 @@ struct _Widget_Data
|
|||
};
|
||||
|
||||
static const char *widtype = NULL;
|
||||
|
||||
static const char SIG_CHANGED[] = "changed";
|
||||
static const char SIG_ACTIVATED[] = "activated";
|
||||
static const char SIG_PRESS[] = "press";
|
||||
static const char SIG_LONGPRESSED[] = "longpressed";
|
||||
static const char SIG_CLICKED[] = "clicked";
|
||||
static const char SIG_CLICKED_DOUBLE[] = "clicked,double";
|
||||
static const char SIG_SELECTION_PASTE[] = "selection,paste";
|
||||
static const char SIG_SELECTION_COPY[] = "selection,copy";
|
||||
static const char SIG_SELECTION_CUT[] = "selection,cut";
|
||||
static const char SIG_SELECTION_START[] = "selection,start";
|
||||
static const char SIG_SELECTION_CHANGED[] = "selection,changed";
|
||||
static const char SIG_SELECTION_CLEARED[] = "selection,cleared";
|
||||
static const char SIG_CURSOR_CHANGED[] = "cursor,changed";
|
||||
static const char SIG_ANCHOR_CLICKED[] = "anchor,clicked";
|
||||
static const Evas_Smart_Cb_Description _signals[] = {
|
||||
{SIG_CHANGED, ""},
|
||||
{SIG_ACTIVATED, ""},
|
||||
{SIG_PRESS, ""},
|
||||
{SIG_LONGPRESSED, ""},
|
||||
{SIG_SELECTION_PASTE, ""},
|
||||
{SIG_SELECTION_COPY, ""},
|
||||
{SIG_SELECTION_CUT, ""},
|
||||
{SIG_SELECTION_START, ""},
|
||||
{SIG_SELECTION_CHANGED, ""},
|
||||
{SIG_SELECTION_CLEARED, ""},
|
||||
{SIG_CURSOR_CHANGED, ""},
|
||||
{SIG_ANCHOR_CLICKED, ""},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
static void
|
||||
_del_hook(Evas_Object *obj)
|
||||
{
|
||||
|
@ -64,85 +95,85 @@ static void
|
|||
_entry_changed(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
_sizing_eval(data);
|
||||
evas_object_smart_callback_call(data, "changed", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_CHANGED, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_entry_activated(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "activated", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_ACTIVATED, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_entry_press(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "press", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_PRESS, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_entry_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "clicked", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_CLICKED, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_entry_clicked_double(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "clicked,double", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_CLICKED_DOUBLE, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_entry_cursor_changed(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "cursor,changed", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_CURSOR_CHANGED, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_entry_anchor_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "anchor,clicked", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_ANCHOR_CLICKED, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_entry_selection_start(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "selection,start", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SELECTION_START, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_entry_selection_changed(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "selection,changed", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SELECTION_CHANGED, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_entry_selection_cleared(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "selection,cleared", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SELECTION_CLEARED, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_entry_selection_paste(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "selection,paste", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SELECTION_PASTE, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_entry_selection_copy(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "selection,copy", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SELECTION_COPY, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_entry_selection_cut(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "selection,cut", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SELECTION_CUT, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_entry_longpressed(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "longpressed", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_LONGPRESSED, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -206,6 +237,9 @@ elm_scrolled_entry_add(Evas_Object *parent)
|
|||
|
||||
_sizing_eval(obj);
|
||||
|
||||
// TODO: convert Elementary to subclassing of Evas_Smart_Class
|
||||
// TODO: and save some bytes, making descriptions per-class and not instance!
|
||||
evas_object_smart_callbacks_descriptions_set(obj, _signals);
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
|
|
@ -40,6 +40,12 @@ static void _signal_check_off(void *data, Evas_Object *obj, const char *emission
|
|||
static void _signal_check_on(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||
static void _signal_check_toggle(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||
|
||||
static const char SIG_CHANGED[] = "changed";
|
||||
static const Evas_Smart_Cb_Description _signals[] = {
|
||||
{SIG_CHANGED, ""},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
static void
|
||||
_del_hook(Evas_Object *obj)
|
||||
{
|
||||
|
@ -132,7 +138,7 @@ _signal_check_off(void *data, Evas_Object *obj __UNUSED__, const char *emission
|
|||
wd->state = EINA_FALSE;
|
||||
if (wd->statep) *wd->statep = wd->state;
|
||||
edje_object_signal_emit(wd->chk, "elm,state,check,off", "elm");
|
||||
evas_object_smart_callback_call(data, "changed", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_CHANGED, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -143,7 +149,7 @@ _signal_check_on(void *data, Evas_Object *obj __UNUSED__, const char *emission _
|
|||
wd->state = EINA_TRUE;
|
||||
if (wd->statep) *wd->statep = wd->state;
|
||||
edje_object_signal_emit(wd->chk, "elm,state,check,on", "elm");
|
||||
evas_object_smart_callback_call(data, "changed", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_CHANGED, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -157,7 +163,7 @@ _signal_check_toggle(void *data, Evas_Object *obj __UNUSED__, const char *emissi
|
|||
edje_object_signal_emit(wd->chk, "elm,state,check,on", "elm");
|
||||
else
|
||||
edje_object_signal_emit(wd->chk, "elm,state,check,off", "elm");
|
||||
evas_object_smart_callback_call(data, "changed", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_CHANGED, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -199,6 +205,10 @@ elm_check_add(Evas_Object *parent)
|
|||
evas_object_smart_callback_add(obj, "sub-object-del", _sub_del, obj);
|
||||
|
||||
_sizing_eval(obj);
|
||||
|
||||
// TODO: convert Elementary to subclassing of Evas_Smart_Class
|
||||
// TODO: and save some bytes, making descriptions per-class and not instance!
|
||||
evas_object_smart_callbacks_descriptions_set(obj, _signals);
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
|
|
@ -63,6 +63,36 @@ static void _signal_entry_copy_notify(void *data, Evas_Object *obj, const char *
|
|||
static void _signal_entry_cut_notify(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||
static void _signal_cursor_changed(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||
|
||||
static const char SIG_CHANGED[] = "changed";
|
||||
static const char SIG_ACTIVATED[] = "activated";
|
||||
static const char SIG_PRESS[] = "press";
|
||||
static const char SIG_LONGPRESSED[] = "longpressed";
|
||||
static const char SIG_CLICKED[] = "clicked";
|
||||
static const char SIG_CLICKED_DOUBLE[] = "clicked,double";
|
||||
static const char SIG_SELECTION_PASTE[] = "selection,paste";
|
||||
static const char SIG_SELECTION_COPY[] = "selection,copy";
|
||||
static const char SIG_SELECTION_CUT[] = "selection,cut";
|
||||
static const char SIG_SELECTION_START[] = "selection,start";
|
||||
static const char SIG_SELECTION_CHANGED[] = "selection,changed";
|
||||
static const char SIG_SELECTION_CLEARED[] = "selection,cleared";
|
||||
static const char SIG_CURSOR_CHANGED[] = "cursor,changed";
|
||||
static const char SIG_ANCHOR_CLICKED[] = "anchor,clicked";
|
||||
static const Evas_Smart_Cb_Description _signals[] = {
|
||||
{SIG_CHANGED, ""},
|
||||
{SIG_ACTIVATED, ""},
|
||||
{SIG_PRESS, ""},
|
||||
{SIG_LONGPRESSED, ""},
|
||||
{SIG_SELECTION_PASTE, ""},
|
||||
{SIG_SELECTION_COPY, ""},
|
||||
{SIG_SELECTION_CUT, ""},
|
||||
{SIG_SELECTION_START, ""},
|
||||
{SIG_SELECTION_CHANGED, ""},
|
||||
{SIG_SELECTION_CLEARED, ""},
|
||||
{SIG_CURSOR_CHANGED, ""},
|
||||
{SIG_ANCHOR_CLICKED, ""},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
static Eina_List *entries = NULL;
|
||||
|
||||
struct _Mod_Api
|
||||
|
@ -300,7 +330,7 @@ _paste(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
|||
{
|
||||
Widget_Data *wd = elm_widget_data_get(data);
|
||||
if (!wd) return;
|
||||
evas_object_smart_callback_call(data, "selection,paste", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SELECTION_PASTE, NULL);
|
||||
if (wd->sel_notify_handler)
|
||||
{
|
||||
#ifdef HAVE_ELEMENTARY_X
|
||||
|
@ -447,7 +477,7 @@ _long_press(void *data)
|
|||
edje_object_part_text_select_abort(wd->ent, "elm.text");
|
||||
}
|
||||
wd->longpress_timer = NULL;
|
||||
evas_object_smart_callback_call(data, "longpressed", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_LONGPRESSED, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -757,7 +787,7 @@ _signal_entry_changed(void *data, Evas_Object *obj __UNUSED__, const char *emiss
|
|||
_sizing_eval(data);
|
||||
if (wd->text) eina_stringshare_del(wd->text);
|
||||
wd->text = NULL;
|
||||
evas_object_smart_callback_call(data, "changed", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_CHANGED, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -772,7 +802,7 @@ _signal_selection_start(void *data, Evas_Object *obj __UNUSED__, const char *emi
|
|||
if (entry != data) elm_entry_select_none(entry);
|
||||
}
|
||||
wd->have_selection = EINA_TRUE;
|
||||
evas_object_smart_callback_call(data, "selection,start", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SELECTION_START, NULL);
|
||||
if (wd->sel_notify_handler)
|
||||
{
|
||||
char *txt = _mkup_to_text(elm_entry_selection_get(data));
|
||||
|
@ -798,7 +828,7 @@ _signal_selection_changed(void *data, Evas_Object *obj __UNUSED__, const char *e
|
|||
Widget_Data *wd = elm_widget_data_get(data);
|
||||
if (!wd) return;
|
||||
wd->have_selection = EINA_TRUE;
|
||||
evas_object_smart_callback_call(data, "selection,changed", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SELECTION_CHANGED, NULL);
|
||||
if (wd->sel_notify_handler)
|
||||
{
|
||||
char *txt = _mkup_to_text(elm_entry_selection_get(data));
|
||||
|
@ -825,7 +855,7 @@ _signal_selection_cleared(void *data, Evas_Object *obj __UNUSED__, const char *e
|
|||
if (!wd) return;
|
||||
if (!wd->have_selection) return;
|
||||
wd->have_selection = EINA_FALSE;
|
||||
evas_object_smart_callback_call(data, "selection,cleared", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SELECTION_CLEARED, NULL);
|
||||
if (wd->sel_notify_handler)
|
||||
{
|
||||
if (wd->cut_sel)
|
||||
|
@ -868,7 +898,7 @@ _signal_entry_paste_request(void *data, Evas_Object *obj __UNUSED__, const char
|
|||
{
|
||||
Widget_Data *wd = elm_widget_data_get(data);
|
||||
if (!wd) return;
|
||||
evas_object_smart_callback_call(data, "selection,paste", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SELECTION_PASTE, NULL);
|
||||
if (wd->sel_notify_handler)
|
||||
{
|
||||
#ifdef HAVE_ELEMENTARY_X
|
||||
|
@ -890,7 +920,7 @@ _signal_entry_copy_notify(void *data, Evas_Object *obj __UNUSED__, const char *e
|
|||
{
|
||||
Widget_Data *wd = elm_widget_data_get(data);
|
||||
if (!wd) return;
|
||||
evas_object_smart_callback_call(data, "selection,copy", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SELECTION_COPY, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -899,7 +929,7 @@ _signal_entry_cut_notify(void *data, Evas_Object *obj __UNUSED__, const char *em
|
|||
Widget_Data *wd = elm_widget_data_get(data);
|
||||
char *txt;
|
||||
if (!wd) return;
|
||||
evas_object_smart_callback_call(data, "selection,cut", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SELECTION_CUT, NULL);
|
||||
txt = _mkup_to_text(elm_entry_selection_get(data));
|
||||
eina_stringshare_replace(&wd->cut_sel, txt);
|
||||
if (txt) free(txt);
|
||||
|
@ -914,7 +944,7 @@ _signal_cursor_changed(void *data, Evas_Object *obj __UNUSED__, const char *emis
|
|||
Widget_Data *wd = elm_widget_data_get(data);
|
||||
Evas_Coord cx, cy, cw, ch;
|
||||
if (!wd) return;
|
||||
evas_object_smart_callback_call(data, "cursor,changed", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_CURSOR_CHANGED, NULL);
|
||||
edje_object_part_text_cursor_geometry_get(wd->ent, "elm.text",
|
||||
&cx, &cy, &cw, &ch);
|
||||
if (!wd->deferred_recalc_job)
|
||||
|
@ -986,7 +1016,7 @@ _signal_anchor_up(void *data, Evas_Object *obj __UNUSED__, const char *emission,
|
|||
}
|
||||
}
|
||||
if (!wd->disabled)
|
||||
evas_object_smart_callback_call(data, "anchor,clicked", &ei);
|
||||
evas_object_smart_callback_call(data, SIG_ANCHOR_CLICKED, &ei);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1016,7 +1046,7 @@ _signal_key_enter(void *data, Evas_Object *obj __UNUSED__, const char *emission
|
|||
{
|
||||
Widget_Data *wd = elm_widget_data_get(data);
|
||||
if (!wd) return;
|
||||
evas_object_smart_callback_call(data, "activated", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_ACTIVATED, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1024,7 +1054,7 @@ _signal_mouse_down(void *data, Evas_Object *obj __UNUSED__, const char *emission
|
|||
{
|
||||
Widget_Data *wd = elm_widget_data_get(data);
|
||||
if (!wd) return;
|
||||
evas_object_smart_callback_call(data, "press", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_PRESS, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1032,7 +1062,7 @@ _signal_mouse_up(void *data, Evas_Object *obj __UNUSED__, const char *emission _
|
|||
{
|
||||
Widget_Data *wd = elm_widget_data_get(data);
|
||||
if (!wd) return;
|
||||
evas_object_smart_callback_call(data, "clicked", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_CLICKED, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1040,7 +1070,7 @@ _signal_mouse_double(void *data, Evas_Object *obj __UNUSED__, const char *emissi
|
|||
{
|
||||
Widget_Data *wd = elm_widget_data_get(data);
|
||||
if (!wd) return;
|
||||
evas_object_smart_callback_call(data, "clicked,double", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_CLICKED_DOUBLE, NULL);
|
||||
}
|
||||
|
||||
#ifdef HAVE_ELEMENTARY_X
|
||||
|
@ -1186,6 +1216,9 @@ elm_entry_add(Evas_Object *parent)
|
|||
// if found - hook in
|
||||
if ((wd->api) && (wd->api->obj_hook)) wd->api->obj_hook(obj);
|
||||
|
||||
// TODO: convert Elementary to subclassing of Evas_Smart_Class
|
||||
// TODO: and save some bytes, making descriptions per-class and not instance!
|
||||
evas_object_smart_callbacks_descriptions_set(obj, _signals);
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
|
|
@ -60,6 +60,12 @@ static void _changed_size_hints(void *data, Evas *e, Evas_Object *obj, void *eve
|
|||
static void _sub_del(void *data, Evas_Object *obj, void *event_info);
|
||||
static void _signal_radio_on(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||
|
||||
static const char SIG_CHANGED[] = "changed";
|
||||
static const Evas_Smart_Cb_Description _signals[] = {
|
||||
{SIG_CHANGED, ""},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
static void
|
||||
_del_hook(Evas_Object *obj)
|
||||
{
|
||||
|
@ -192,7 +198,7 @@ _signal_radio_on(void *data, Evas_Object *obj __UNUSED__, const char *emission _
|
|||
wd->group->value = wd->value;
|
||||
if (wd->group->valuep) *(wd->group->valuep) = wd->group->value;
|
||||
_state_set_all(wd);
|
||||
evas_object_smart_callback_call(data, "changed", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_CHANGED, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -234,6 +240,10 @@ elm_radio_add(Evas_Object *parent)
|
|||
wd->state = 0;
|
||||
|
||||
_sizing_eval(obj);
|
||||
|
||||
// TODO: convert Elementary to subclassing of Evas_Smart_Class
|
||||
// TODO: and save some bytes, making descriptions per-class and not instance!
|
||||
evas_object_smart_callbacks_descriptions_set(obj, _signals);
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
|
|
@ -50,6 +50,28 @@ static void _show_region_hook(void *data, Evas_Object *obj);
|
|||
static void _sizing_eval(Evas_Object *obj);
|
||||
static void _sub_del(void *data, Evas_Object *obj, void *event_info);
|
||||
|
||||
static const char SIG_SCROLL[] = "scroll";
|
||||
static const char SIG_SCROLL_ANIM_START[] = "scroll,anim,start";
|
||||
static const char SIG_SCROLL_ANIM_STOP[] = "scroll,anim,stop";
|
||||
static const char SIG_SCROLL_DRAG_START[] = "scroll,drag,start";
|
||||
static const char SIG_SCROLL_DRAG_STOP[] = "scroll,drag,stop";
|
||||
static const char SIG_EDGE_LEFT[] = "edge,left";
|
||||
static const char SIG_EDGE_RIGHT[] = "edge,right";
|
||||
static const char SIG_EDGE_TOP[] = "edge,top";
|
||||
static const char SIG_EDGE_BOTTOM[] = "edge,bottom";
|
||||
static const Evas_Smart_Cb_Description _signals[] = {
|
||||
{SIG_SCROLL, ""},
|
||||
{SIG_SCROLL_ANIM_START, ""},
|
||||
{SIG_SCROLL_ANIM_STOP, ""},
|
||||
{SIG_SCROLL_DRAG_START, ""},
|
||||
{SIG_SCROLL_DRAG_STOP, ""},
|
||||
{SIG_EDGE_LEFT, ""},
|
||||
{SIG_EDGE_RIGHT, ""},
|
||||
{SIG_EDGE_TOP, ""},
|
||||
{SIG_EDGE_BOTTOM, ""},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
static void
|
||||
_del_hook(Evas_Object *obj)
|
||||
{
|
||||
|
@ -204,55 +226,55 @@ _resize(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event
|
|||
static void
|
||||
_edge_left(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "edge,left", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_EDGE_LEFT, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_edge_right(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "edge,right", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_EDGE_RIGHT, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_edge_top(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "edge,top", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_EDGE_TOP, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_edge_bottom(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "edge,bottom", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_EDGE_BOTTOM, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_scroll(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "scroll", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SCROLL, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_scroll_anim_start(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "scroll,anim,start", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SCROLL_ANIM_START, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_scroll_anim_stop(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "scroll,anim,stop", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SCROLL_ANIM_STOP, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_scroll_drag_start(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "scroll,drag,start", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SCROLL_DRAG_START, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_scroll_drag_stop(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
evas_object_smart_callback_call(data, "scroll,drag,stop", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_SCROLL_DRAG_STOP, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -314,6 +336,10 @@ elm_scroller_add(Evas_Object *parent)
|
|||
evas_object_smart_callback_add(wd->scr, "drag,stop", _scroll_drag_stop, obj);
|
||||
|
||||
_sizing_eval(obj);
|
||||
|
||||
// TODO: convert Elementary to subclassing of Evas_Smart_Class
|
||||
// TODO: and save some bytes, making descriptions per-class and not instance!
|
||||
evas_object_smart_callbacks_descriptions_set(obj, _signals);
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
|
|
@ -66,6 +66,18 @@ static void _sub_del(void *data, Evas_Object *obj, void *event_info);
|
|||
static void _units_set(Evas_Object *obj);
|
||||
static void _indicator_set(Evas_Object *obj);
|
||||
|
||||
static const char SIG_CHANGED[] = "changed";
|
||||
static const char SIG_DELAY_CHANGED[] = "delay,changed";
|
||||
static const char SIG_DRAG_START[] = "slider,drag,start";
|
||||
static const char SIG_DRAG_STOP[] = "slider,drag,stop";
|
||||
static const Evas_Smart_Cb_Description _signals[] = {
|
||||
{SIG_CHANGED, ""},
|
||||
{SIG_DELAY_CHANGED, ""},
|
||||
{SIG_DRAG_START, ""},
|
||||
{SIG_DRAG_STOP, ""},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
static void
|
||||
_del_hook(Evas_Object *obj)
|
||||
{
|
||||
|
@ -158,7 +170,7 @@ _delay_change(void *data)
|
|||
Widget_Data *wd = elm_widget_data_get(data);
|
||||
if (!wd) return 0;
|
||||
wd->delay = NULL;
|
||||
evas_object_smart_callback_call(data, "delay,changed", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_DELAY_CHANGED, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -177,7 +189,7 @@ _val_fetch(Evas_Object *obj)
|
|||
if (val != wd->val)
|
||||
{
|
||||
wd->val = val;
|
||||
evas_object_smart_callback_call(obj, "changed", NULL);
|
||||
evas_object_smart_callback_call(obj, SIG_CHANGED, NULL);
|
||||
if (wd->delay) ecore_timer_del(wd->delay);
|
||||
wd->delay = ecore_timer_add(0.2, _delay_change, obj);
|
||||
}
|
||||
|
@ -248,7 +260,7 @@ static void
|
|||
_drag_start(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
|
||||
{
|
||||
_val_fetch(data);
|
||||
evas_object_smart_callback_call(data, "slider,drag,start", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_DRAG_START, NULL);
|
||||
_units_set(data);
|
||||
_indicator_set(data);
|
||||
}
|
||||
|
@ -257,7 +269,7 @@ static void
|
|||
_drag_stop(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
|
||||
{
|
||||
_val_fetch(data);
|
||||
evas_object_smart_callback_call(data, "slider,drag,stop", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_DRAG_STOP, NULL);
|
||||
_units_set(data);
|
||||
_indicator_set(data);
|
||||
}
|
||||
|
@ -328,6 +340,10 @@ elm_slider_add(Evas_Object *parent)
|
|||
evas_object_smart_callback_add(obj, "sub-object-del", _sub_del, obj);
|
||||
|
||||
_sizing_eval(obj);
|
||||
|
||||
// TODO: convert Elementary to subclassing of Evas_Smart_Class
|
||||
// TODO: and save some bytes, making descriptions per-class and not instance!
|
||||
evas_object_smart_callbacks_descriptions_set(obj, _signals);
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,12 @@ static void _sub_del(void *data, Evas_Object *obj, void *event_info);
|
|||
static void _signal_toggle_off(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||
static void _signal_toggle_on(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||
|
||||
static const char SIG_CHANGED[] = "changed";
|
||||
static const Evas_Smart_Cb_Description _signals[] = {
|
||||
{SIG_CHANGED, ""},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
static void
|
||||
_del_hook(Evas_Object *obj)
|
||||
{
|
||||
|
@ -117,7 +123,7 @@ _signal_toggle_off(void *data, Evas_Object *obj __UNUSED__, const char *emission
|
|||
if (!wd) return;
|
||||
wd->state = 0;
|
||||
if (wd->statep) *wd->statep = wd->state;
|
||||
evas_object_smart_callback_call(data, "changed", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_CHANGED, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -127,7 +133,7 @@ _signal_toggle_on(void *data, Evas_Object *obj __UNUSED__, const char *emission
|
|||
if (!wd) return;
|
||||
wd->state = 1;
|
||||
if (wd->statep) *wd->statep = wd->state;
|
||||
evas_object_smart_callback_call(data, "changed", NULL);
|
||||
evas_object_smart_callback_call(data, SIG_CHANGED, NULL);
|
||||
}
|
||||
|
||||
EAPI Evas_Object *
|
||||
|
@ -163,6 +169,10 @@ elm_toggle_add(Evas_Object *parent)
|
|||
evas_object_smart_callback_add(obj, "sub-object-del", _sub_del, obj);
|
||||
|
||||
_sizing_eval(obj);
|
||||
|
||||
// TODO: convert Elementary to subclassing of Evas_Smart_Class
|
||||
// TODO: and save some bytes, making descriptions per-class and not instance!
|
||||
evas_object_smart_callbacks_descriptions_set(obj, _signals);
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue