static void _smart_add(Evas_Object *obj) { Smart_Data *sd; /* Initialize smart data and clipping */ sd = calloc(1, sizeof(Smart_Data)); if (!sd) return; sd->obj = obj; sd->parent = NULL; sd->clip = evas_object_rectangle_add(evas_object_evas_get(obj)); evas_object_smart_member_add(sd->clip, obj); /* Set up edje object and canvas */ sd->edje = edje_object_add(evas_object_evas_get(obj)); edje_object_file_set(sd->edje, enscribi_theme_find("enscribi"), "enscribi/input"); evas_object_move(sd->edje, 0, 0); evas_object_show(sd->edje); sd->canvas = enscribi_canvas_add(evas_object_evas_get(obj)); edje_object_part_swallow(sd->edje, "canvas", sd->canvas); /* Set up callbacks */ edje_object_signal_callback_add(sd->edje, "canvas,matches,updated", "canvas", _enscribi_input_frame_cb_matches, sd); edje_object_signal_callback_add(sd->edje, "result,finished", "result", _enscribi_input_frame_cb_finished, sd); evas_object_smart_data_set(obj, sd); }
Evas_Object *clk_widget_create_button(Evas_Object * parent, const char *file, const char *group, Edje_Color_Class * color_class, Edje_Signal_Cb clicked_cb, void *data) { retvm_if(NULL_CHECK(parent), NULL, "parent null"); retvm_if(NULL_CHECK(file), NULL, "file null"); retvm_if(NULL_CHECK(group), NULL, "group null"); retvm_if(NULL_CHECK(color_class), NULL, "color_class null"); CLK_FUN_BEG(); Evas_Object *ret = NULL; ret = load_edj(parent, file, group); retvm_if(NULL_CHECK(ret), NULL, "ret null"); edje_object_signal_callback_add(_EDJ(ret), "mouse,down", "rect", _clk_btn_mouse_down_cb, (void *)color_class); edje_object_signal_callback_add(_EDJ(ret), "mouse,up", "rect", _clk_btn_mouse_up_cb, (void *)color_class); if (clicked_cb) { edje_object_signal_callback_add(_EDJ(ret), "mouse,clicked", "rect", clicked_cb, data); } CLK_FUN_END(); return ret; }
void eyelight_viewer_slideshow_start(Eyelight_Viewer* pres,int select) { Evas_Object *o; int w_win, h_win; const char* data; evas_output_viewport_get(pres->evas, NULL, NULL, &w_win, &h_win); pres->state = EYELIGHT_VIEWER_STATE_SLIDESHOW; pres->slideshow_current = select; o = edje_object_add(pres->evas); pres->slideshow_background = o; if(edje_object_file_set(o, pres->theme, "eyelight/slideshow") == 0) WARN("eyelight_viewer_slideshow_start(), edje_object_file_set() erreur!"); data = edje_object_data_get(o, "nb_slides"); pres->slideshow_nb_slides = atoi(data); evas_object_show(o); evas_object_resize(o, pres->current_size_w, pres->current_size_h); edje_object_scale_set(o, pres->current_scale); evas_object_smart_member_add(o, pres->smart_obj); evas_object_move(o, pres->current_pos_x, pres->current_pos_y); evas_object_clip_set(o, pres->current_clip); edje_object_signal_callback_add(o,"slideshow,slide,next","eyelight",_eyelight_viewer_slideshow_next_cb,pres); edje_object_signal_callback_add(o,"slideshow,slide,previous","eyelight",_eyelight_viewer_slideshow_previous_cb,pres); edje_object_signal_callback_add(o,"slideshow,next,end","eyelight",_eyelight_viewer_slideshow_next_end_cb,pres); edje_object_signal_callback_add(o,"slideshow,previous,end","eyelight",_eyelight_viewer_slideshow_previous_end_cb,pres); _eyelight_viewer_slideshow_slides_load(pres); edje_object_signal_emit(pres->slideshow_background, "show","eyelight"); }
int elicit_cslider_theme_set(Evas_Object *o, const char *file, const char *group) { Elicit_Cslider *cs; cs = evas_object_smart_data_get(o); if (cs->gui && cs->spectrum) edje_object_part_unswallow(cs->gui, cs->spectrum); if(!edje_object_file_set(cs->gui, file, group)) { fprintf(stderr, "[Elicit] Error setting cslider theme (%s, %s)\n", file, group); return 0; } edje_object_signal_callback_add(cs->gui, "drag", "slider", cb_drag, cs); edje_object_signal_callback_add(cs->gui, "elicit,scroll,*", "*", cb_scroll, cs); if (edje_object_part_exists(cs->gui, "spectrum")) { if (!cs->spectrum) { //cs->spectrum = evas_object_gradient_add(evas_object_evas_get(o)); //evas_object_gradient_angle_set(cs->spectrum, 270); } edje_object_part_swallow(cs->gui, "spectrum", cs->spectrum); } return 1; }
static E_Gadcon_Client * _gc_init (E_Gadcon * gc, const char *name, const char *id, const char *style) { Evas_Object *o; E_Gadcon_Client *gcc; Evas *evas; Instance *inst; char buf[4096]; inst = E_NEW (Instance, 1); inst->ci = _empris_config_item_get (id); if (!inst->ci->id) inst->ci->id = eina_stringshare_add (id); o = edje_object_add (gc->evas); snprintf (buf, sizeof (buf), "%s/empris.edj", e_module_dir_get (empris_config->module)); if (!e_theme_edje_object_set (o, "base/theme/modules/empris", "modules/empris/main")) edje_object_file_set (o, buf, "modules/empris/main"); evas_object_show (o); gcc = e_gadcon_client_new (gc, name, id, style, o); gcc->data = inst; inst->gcc = gcc; inst->empris = o; _empris_popup_create(inst, buf); evas_object_event_callback_add (o, EVAS_CALLBACK_MOUSE_DOWN, _empris_cb_mouse_down, inst); evas_object_event_callback_add (inst->empris, EVAS_CALLBACK_MOUSE_IN, _empris_cb_mouse_in, inst); evas_object_event_callback_add (inst->empris, EVAS_CALLBACK_MOUSE_OUT, _empris_cb_mouse_out, inst); edje_object_signal_callback_add (o, "empris,play", "", _empris_cb_play, inst); edje_object_signal_callback_add (o, "empris,stop", "", _empris_cb_stop, inst); edje_object_signal_callback_add (o, "empris,pause", "", _empris_cb_pause, inst); edje_object_signal_callback_add (o, "empris,next", "", _empris_cb_next, inst); edje_object_signal_callback_add (o, "empris,previous", "", _empris_cb_previous, inst); inst->cb_player_track_change = e_dbus_signal_handler_add (conn, bus_name, "/Player", mpris_interface, "TrackChange", _dbus_cb_track_change, inst); inst->cb_player_status_change = e_dbus_signal_handler_add (conn, bus_name, "/Player", mpris_interface, "StatusChange", _dbus_cb_status_change, inst); _dbus_send_msg("/TrackList", "GetCurrentTrack", _dbus_cb_current_track, inst); empris_config->instances = eina_list_append (empris_config->instances, inst); return gcc; }
static E_Gadcon_Client * _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) { Evas_Object *o; E_Gadcon_Client *gcc; Instance *inst; inst = E_NEW(Instance, 1); o = edje_object_add(gc->evas); if (alarm_config->theme) { char buf[4096]; snprintf(buf, sizeof(buf), "%s/alarm.edj", e_module_dir_get(alarm_config->module)); edje_object_file_set(o, buf, THEME_MAIN); } else e_theme_edje_object_set(o, THEME_IN_E, THEME_MAIN); edje_object_signal_callback_add(o, EDJE_SIG_RECV_ALARM_STATE_ON, _cb_edje_alarm_state_on, NULL); edje_object_signal_callback_add(o, EDJE_SIG_RECV_ALARM_STATE_OFF, _cb_edje_alarm_state_off, NULL); edje_object_signal_callback_add(o, EDJE_SIG_RECV_ALARM_RING_STOP, _cb_edje_alarm_ring_stop, NULL); gcc = e_gadcon_client_new(gc, name, id, style, o); gcc->data = inst; inst->gcc = gcc; inst->obj = o; inst->orient = E_GADCON_ORIENT_HORIZ; evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _button_cb_mouse_down, inst); alarm_config->instances = eina_list_append(alarm_config->instances, inst); alarm_details_change(); switch (alarm_config->alarms_state) { case ALARM_STATE_ON: edje_object_signal_emit(o, EDJE_SIG_SEND_ALARM_STATE_ON); break; case ALARM_STATE_OFF: edje_object_signal_emit(o, EDJE_SIG_SEND_ALARM_STATE_OFF); break; case ALARM_STATE_RINGING: edje_object_signal_emit(o, EDJE_SIG_SEND_ALARM_RING_START); break; } e_config_save_queue(); return gcc; }
void item_event_register(Evas_Object *item) { Evas_Object *item_edje; item_edje = _EDJ(item); evas_object_data_set(item_edje, "item", item); edje_object_signal_callback_add(item_edje, "item,down", "menu", _item_down_cb, NULL); edje_object_signal_callback_add(item_edje, "item,up", "menu", _item_up_cb, NULL); }
static E_Gadcon_Client * _gc_init (E_Gadcon * gc, const char *name, const char *id, const char *style) { Evas_Object *o; E_Gadcon_Client *gcc; Evas *evas; Instance *inst; char buf[4096]; inst = E_NEW (Instance, 1); inst->ci = _mpdule_config_item_get (id); if (!inst->ci->id) inst->ci->id = eina_stringshare_add (id); o = edje_object_add (gc->evas); snprintf (buf, sizeof (buf), "%s/mpdule.edj", e_module_dir_get (mpdule_config->module)); if (!e_theme_edje_object_set (o, "base/theme/modules/mpdule", "modules/mpdule/main")) edje_object_file_set (o, buf, "modules/mpdule/main"); evas_object_show (o); gcc = e_gadcon_client_new (gc, name, id, style, o); gcc->data = inst; inst->gcc = gcc; inst->mpdule = o; _mpdule_popup_create(inst, buf); evas_object_event_callback_add (o, EVAS_CALLBACK_MOUSE_DOWN, _mpdule_cb_mouse_down, inst); evas_object_event_callback_add (inst->mpdule, EVAS_CALLBACK_MOUSE_IN, _mpdule_cb_mouse_in, inst); evas_object_event_callback_add (inst->mpdule, EVAS_CALLBACK_MOUSE_OUT, _mpdule_cb_mouse_out, inst); edje_object_signal_callback_add (o, "mpdule,play", "", _mpdule_cb_play, inst); edje_object_signal_callback_add (o, "mpdule,stop", "", _mpdule_cb_stop, inst); edje_object_signal_callback_add (o, "mpdule,pause", "", _mpdule_cb_pause, inst); edje_object_signal_callback_add (o, "mpdule,next", "", _mpdule_cb_next, inst); edje_object_signal_callback_add (o, "mpdule,previous", "", _mpdule_cb_previous, inst); _mpdule_connect (inst); _mpdule_update_song (inst); inst->update_timer = ecore_timer_add (inst->ci->poll_time, _mpdule_update_song_cb, inst); mpdule_config->instances = eina_list_append (mpdule_config->instances, inst); return gcc; }
/* Called when the spinner is realized */ static Etk_Bool _etk_spinner_realized_cb(Etk_Object *object, void *data) { Etk_Spinner *spinner; Evas_Object *theme_object; Evas *evas; if (!(spinner = ETK_SPINNER(object)) || !(evas = etk_widget_toplevel_evas_get(ETK_WIDGET(spinner)))) return ETK_TRUE; if (!(theme_object = ETK_WIDGET(spinner)->theme_object)) return ETK_TRUE; /* Create the editable object */ spinner->editable_object = etk_editable_add(evas); evas_object_show(spinner->editable_object); etk_widget_member_object_add(ETK_WIDGET(spinner), spinner->editable_object); etk_editable_theme_set(spinner->editable_object, etk_widget_theme_file_get(ETK_WIDGET(spinner)), etk_widget_theme_group_get(ETK_WIDGET(spinner))); etk_editable_align_set(spinner->editable_object, 1.0); if (!etk_widget_is_focused(ETK_WIDGET(spinner))) { etk_editable_cursor_hide(spinner->editable_object); etk_editable_selection_hide(spinner->editable_object); } if (etk_widget_disabled_get(ETK_WIDGET(spinner))) etk_editable_disabled_set(spinner->editable_object, ETK_TRUE); evas_object_event_callback_add(spinner->editable_object, EVAS_CALLBACK_MOUSE_IN, _etk_spinner_editable_mouse_in_cb, spinner); evas_object_event_callback_add(spinner->editable_object, EVAS_CALLBACK_MOUSE_OUT, _etk_spinner_editable_mouse_out_cb, spinner); evas_object_event_callback_add(spinner->editable_object, EVAS_CALLBACK_MOUSE_DOWN, _etk_spinner_editable_mouse_down_cb, spinner); evas_object_event_callback_add(spinner->editable_object, EVAS_CALLBACK_MOUSE_UP, _etk_spinner_editable_mouse_up_cb, spinner); evas_object_event_callback_add(spinner->editable_object, EVAS_CALLBACK_MOUSE_MOVE, _etk_spinner_editable_mouse_move_cb, spinner); /* Connect the "decrement"/"increment" edje signals to callbacks */ edje_object_signal_callback_add(theme_object, "etk,action,decrement,start", "", _etk_spinner_step_start_cb, spinner); edje_object_signal_callback_add(theme_object, "etk,action,increment,start", "", _etk_spinner_step_start_cb, spinner); edje_object_signal_callback_add(theme_object, "etk,action,decrement,stop", "", _etk_spinner_step_stop_cb, spinner); edje_object_signal_callback_add(theme_object, "etk,action,increment,stop", "", _etk_spinner_step_stop_cb, spinner); /* Update the text of the editable object */ _etk_spinner_update_text_from_value(spinner); return ETK_TRUE; }
static void _edje_signal_cb(void *data, Evas_Object *obj, const char *emission, const char *source) { //printf("Emission : %s - Source : %s\n", emission, source); if (!strcmp(emission, "info,clicked")) { Evas_Object *textblock; Evas_Object *edje; printf("info clicked \n"); textblock = elm_layout_add(win); elm_layout_file_set(textblock, "tut22.edj", "infos_panel"); evas_object_show(textblock); evas_object_size_hint_weight_set(textblock, 1, 1); elm_object_part_content_set(layout, "panel_swallow", textblock); evas_object_show(textblock); elm_object_part_text_set(textblock, "textblock", "<h1>What is Enlightenment?</h1><br>" "<tab><h4>Enlightenment is not just a window manager for <hilight>Linux/X11</hilight> and others, but also a whole suite of libraries to help you create beautiful user interfaces with much less work than doing it the old fashioned way and fighting with traditional toolkits, not to mention a traditional window manager. It covers uses from small mobile devices like phones all the way to powerful multi-core desktops (which are the primary development environment). </h4><br>" "<br><h1>Enlightenment Foundation Libraries (EFL)</h1> <br>" "<tab>These provide both a semi-traditional toolkit set in <rhinoceros>Elementary</rhinoceros> as well as the object canvas <h2>(Evas)</h2> and powerful abstracted objects (Edje) that you can combine, mix and match, even layer on top of each other with alpha channels and events in-tact. It has <link><a href=\"evas_map\">3D transformations</a></link> for all objects and more. )"); edje = elm_layout_edje_get(textblock); edje_object_signal_callback_add(edje, "*", "*", _edje_signal_textblock_cb, NULL); edje = elm_layout_edje_get(layout); edje_object_signal_emit(edje, "hide,table,anim", "tuto"); } }
int main(int argc, char **argv) { Evas_Object *edje; elm_init(argc, argv); win = elm_win_add(NULL, "tuto", ELM_WIN_BASIC); elm_win_title_set(win, "Edje Tutorial"); evas_object_smart_callback_add(win, "delete,request", _win_del, NULL); layout = elm_layout_add(win); elm_layout_file_set(layout, "tut22.edj", "interface"); evas_object_show(layout); elm_win_resize_object_add(win, layout); table = elm_layout_add(layout); elm_layout_file_set(table, "tut22.edj", "table"); evas_object_show(table); evas_object_size_hint_weight_set(layout, 1, 1); elm_object_part_content_set(layout, "table_swallow", table); edje = elm_layout_edje_get(table); edje_object_signal_callback_add(edje, "*", "*", _edje_signal_cb, NULL); evas_object_resize(win, 800, 480); evas_object_show(win); elm_run(); elm_shutdown(); }
static void _empris_popup_create (Instance * inst, const char *dir) { Evas *evas; Evas_Object *o_popup; char buf[4096]; if (inst->ci->show_popup) { inst->popup = e_gadcon_popup_new (inst->gcc); evas = inst->popup->win->evas; o_popup = edje_object_add (evas); if (!e_theme_edje_object_set (o_popup, "base/theme/modules/empris", "modules/empris/popup")) { if (dir) { edje_object_file_set (o_popup, dir, "modules/empris/popup"); } else { snprintf(buf, sizeof(buf), "%s/empris.edj", e_module_dir_get(empris_config->module)); edje_object_file_set(o_popup, buf, "modules/empris/popup"); } } evas_object_show (o_popup); e_gadcon_popup_content_set (inst->popup, o_popup); edje_object_size_min_calc (o_popup, NULL, NULL); inst->o_popup = o_popup; edje_object_signal_callback_add (o_popup, "empris,play", "", _empris_cb_play, inst); edje_object_signal_callback_add (o_popup, "empris,stop", "", _empris_cb_stop, inst); edje_object_signal_callback_add (o_popup, "empris,pause", "", _empris_cb_pause, inst); edje_object_signal_callback_add (o_popup, "empris,next", "", _empris_cb_next, inst); edje_object_signal_callback_add (o_popup, "empris,previous", "", _empris_cb_previous, inst); } else { inst->popup = NULL; inst->o_popup = NULL; } }
void Object::connect (const std::string &emission, const std::string &source, const SignalSlot& slot) { SignalSignal* signal = new SignalSignal(); mSignalList[std::pair <std::string, std::string> (emission, source)] = signal; AllocTag( signal, emission ); signal->connect( slot ); edje_object_signal_callback_add( o, emission.c_str (), source.c_str (), &_edje_signal_handler_callback, static_cast<void*>( signal ) ); }
static void register_callbacks(ePlayer *player) { Evas_Object *e = player->gui.edje; int i; EdjeCallback cb[] = { {"QUIT", "*", (EdjeCb) cb_eplayer_quit}, {"PLAY_PREVIOUS", "*", (EdjeCb) cb_track_prev}, {"PLAY_NEXT", "*", (EdjeCb) cb_track_next}, {"SEEK_BACK", "*", (EdjeCb) cb_seek_backward}, {"SEEK_FORWARD", "*", (EdjeCb) cb_seek_forward}, {"SEEK_BACK_START", "*", (EdjeCb) cb_seek_backward_start}, {"SEEK_BACK_STOP", "*", (EdjeCb) cb_seek_backward_stop}, {"SEEK_FORWARD_START", "*", (EdjeCb) cb_seek_forward_start}, {"SEEK_FORWARD_STOP", "*", (EdjeCb) cb_seek_forward_stop}, {"PLAY", "*", (EdjeCb) cb_play}, {"PAUSE", "*", (EdjeCb) cb_pause}, {"STOP", "*", (EdjeCb) cb_stop}, {"VOL_INCR", "*", (EdjeCb) cb_volume_raise}, {"VOL_DECR", "*", (EdjeCb) cb_volume_lower}, {"TOGGLE_TIME_DISPLAY_MODE", "*", (EdjeCb) cb_time_display_toggle}, {"TOGGLE_REPEAT_MODE", "*", (EdjeCb) cb_repeat_mode_toggle}, {"SWITCH_GROUP", "*", (EdjeCb) cb_switch_group}, {"SEEKER*", "*", (EdjeCb) cb_update_seeker}, {"PLAYLIST_ADD", "*", (EdjeCb) cb_playlist_add}, {"PLAYLIST_DEL", "*", (EdjeCb) cb_playlist_del}}; for (i = 0; i < sizeof (cb) / sizeof (EdjeCallback); i++) edje_object_signal_callback_add(e, cb[i].name, cb[i].src, cb[i].func, player); /* Setup Key Binds */ evas_object_focus_set(e, 1); evas_object_event_callback_add(e, EVAS_CALLBACK_KEY_DOWN, cb_key_press, player); /* This is for a later time and place, see notes with cb_key_release() */ //evas_object_event_callback_add(e, EVAS_CALLBACK_KEY_UP, cb_key_release, player); }
/* externally accessible functions */ EAPI Evas_Object * e_widget_button_add(Evas *evas, const char *label, const char *icon, void (*func) (void *data, void *data2), void *data, void *data2) { Evas_Object *obj, *o; E_Widget_Data *wd; Evas_Coord mw, mh; obj = e_widget_add(evas); e_widget_del_hook_set(obj, _e_wid_del_hook); e_widget_focus_hook_set(obj, _e_wid_focus_hook); e_widget_activate_hook_set(obj, _e_wid_activate_hook); e_widget_disable_hook_set(obj, _e_wid_disable_hook); wd = calloc(1, sizeof(E_Widget_Data)); wd->func = func; wd->data = data; wd->data2 = data2; e_widget_data_set(obj, wd); o = edje_object_add(evas); wd->o_button = o; e_theme_edje_object_set(o, "base/theme/widgets", "e/widgets/button"); edje_object_signal_callback_add(o, "e,action,click", "", _e_wid_signal_cb1, obj); if ((label) && (label[0] != 0)) { edje_object_part_text_set(o, "e.text.label", label); wd->type |= E_WIDGET_BUTTON_TEXT; } e_widget_sub_object_add(obj, o); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _e_wid_focus_steal, obj); e_widget_resize_object_set(obj, o); evas_object_show(o); if (icon) { o = e_icon_add(evas); wd->o_icon = o; e_util_icon_theme_set(o, icon); edje_object_part_swallow(wd->o_button, "e.swallow.icon", o); e_widget_sub_object_add(obj, o); evas_object_show(o); wd->type |= E_WIDGET_BUTTON_ICON; } _e_wid_button_state_send(wd); edje_object_size_min_calc(wd->o_button, &mw, &mh); e_widget_size_min_set(obj, mw, mh); return obj; }
EAPI void e_obj_dialog_obj_theme_set(E_Obj_Dialog *od, char *theme_cat, char *theme_obj) { E_OBJECT_CHECK(od); E_OBJECT_TYPE_CHECK(od, E_OBJ_DIALOG_TYPE); e_theme_edje_object_set(od->bg_object, theme_cat, theme_obj); evas_object_move(od->bg_object, 0, 0); evas_object_show(od->bg_object); edje_object_signal_callback_add(od->bg_object, "e,action,close", "", _e_obj_dialog_cb_close, od); }
void create_buttons() { container_outer = edje_object_add(evas); edje_object_file_set(container_outer, default_theme, "widgets/scrollframe"); evas_object_move(container_outer, 0, 0); edje_object_signal_emit(container_outer, "hbar", "hide"); evas_object_resize(container_outer, barwidth - 19, container_height); evas_object_show(container_outer); edje_object_signal_callback_add(container_outer, "drag*", "vbar_bar", _scrolldrag, NULL); container = esmart_container_new(evas); edje_object_part_swallow(container_outer, "item", container); esmart_container_direction_set(container, CONTAINER_DIRECTION_VERTICAL); get_theme_list(); #define ADD_BUTTON(A, B, C)\ A = edje_object_add(evas);\ edje_object_file_set(A, default_theme, "widgets/button");\ evas_object_resize(A, 120, 24);\ edje_object_part_text_set(A, "label", C);\ evas_object_show(A); ADD_BUTTON(b_default, 40, "Default Theme"); evas_object_move(b_default, 5, container_height + 10); edje_object_signal_callback_add(b_default, "click", "", _preview_theme, NULL); ADD_BUTTON(b_apply, 60, "Apply"); evas_object_move(b_apply, 5, container_height + 40); edje_object_signal_callback_add(b_apply, "click", "", _set_theme, NULL); ADD_BUTTON(b_exit, 80, "Exit"); evas_object_move(b_exit, 5, container_height + 60); edje_object_signal_callback_add(b_exit, "click", "", _ethemes_exit, NULL); #undef ADD_BUTTON }
Object::Object( Evasxx::Canvas &canvas ) { // Initialize the Edje library Base::init (); o = edje_object_add( canvas.obj() ); init(); #ifdef CWDEBUG edje_object_message_handler_set( o, &_edje_message_handler_callback, 0 ); edje_object_signal_callback_add( o, "*", "*", &_edje_signal_handler_callback, 0 ); #endif }
Evas_Object * elm_keypad_add(Evas_Object * parent) { // Evas_Object *obj; Instead I'm using the wd->widget variable Evas *e; Widget_Data *wd; wd = ELM_NEW(Widget_Data); e = evas_object_evas_get(parent); wd->widget = elm_widget_add(e); elm_widget_data_set(wd->widget, wd); elm_widget_del_hook_set(wd->widget, _del_hook); wd->keypad = edje_object_add(e); g_debug("keypad evas object: %d", wd->keypad); edje_object_file_set(wd->keypad, KEYPAD_FILE, "keypad"); edje_object_signal_callback_add(wd->keypad, "*", "input", _signal_clicked, wd->widget); edje_object_signal_callback_add(wd->keypad, "0", "mouse_up", _zero_mouse_up, wd->widget); edje_object_signal_callback_add(wd->keypad, "0", "mouse_down", _zero_mouse_down, wd->widget); edje_object_part_text_set(wd->keypad, "text2_desc", D_("ABC")); edje_object_part_text_set(wd->keypad, "text3_desc", D_("DEF")); edje_object_part_text_set(wd->keypad, "text4_desc", D_("GHI")); edje_object_part_text_set(wd->keypad, "text5_desc", D_("JKL")); edje_object_part_text_set(wd->keypad, "text6_desc", D_("MNO")); edje_object_part_text_set(wd->keypad, "text7_desc", D_("PQRS")); edje_object_part_text_set(wd->keypad, "text8_desc", D_("TUV")); edje_object_part_text_set(wd->keypad, "text9_desc", D_("XYZ")); elm_widget_resize_object_set(wd->widget, wd->keypad); //evas_object_smart_callback_add(wd->widget, "sub-object-del", _sub_del, wd->widget); _sizing_eval(wd->widget); return wd->widget; }
void eyelight_viewer_tableofcontents_start(Eyelight_Viewer* pres,int select) { Evas_Object *o; int w_win, h_win; const char* data; evas_output_viewport_get(pres->evas, NULL, NULL, &w_win, &h_win); pres->state = EYELIGHT_VIEWER_STATE_TABLEOFCONTENTS; pres->tableofcontents_current = select; o = edje_object_add(pres->evas); pres->tableofcontents_background = o; if(edje_object_file_set(o, pres->theme, "eyelight/tableofcontents") == 0) { WARN("table of contents is not supported by the theme"); return ; } data = edje_object_data_get(o, "nb_slides"); pres->tableofcontents_nb_slides = atoi(data); evas_object_show(o); evas_object_resize(o, pres->current_size_w, pres->current_size_h); edje_object_scale_set(o, pres->current_scale); evas_object_move(o, pres->current_pos_x, pres->current_pos_y); evas_object_smart_member_add(o,pres->smart_obj); evas_object_clip_set(o, pres->current_clip); edje_object_signal_callback_add(o,"tableofcontents,slide,next","eyelight",_eyelight_viewer_tableofcontents_next_cb,pres); edje_object_signal_callback_add(o,"tableofcontents,slide,previous","eyelight",_eyelight_viewer_tableofcontents_previous_cb,pres); edje_object_signal_callback_add(o,"tableofcontents,next,end","eyelight",_eyelight_viewer_tableofcontents_next_end_cb,pres); edje_object_signal_callback_add(o,"tableofcontents,previous,end","eyelight",_eyelight_viewer_tableofcontents_previous_end_cb,pres); _eyelight_viewer_tableofcontents_slides_load(pres); edje_object_signal_emit(pres->tableofcontents_background, "show","eyelight"); }
static E_Gadcon_Client * _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) { Instance *inst; E_Gadcon_Client *gcc; char buf[PATH_MAX]; snprintf(buf, sizeof(buf), "%s/net.edj", e_module_dir_get(net_cfg->mod)); inst = E_NEW(Instance, 1); inst->ci = _net_config_item_get(id); inst->o_net = edje_object_add(gc->evas); if (!e_theme_edje_object_set(inst->o_net, "base/theme/modules/net", "modules/net/main")) edje_object_file_set(inst->o_net, buf, "modules/net/main"); edje_object_signal_callback_add(inst->o_net, "e,action,mouse,in", "", _net_cb_mouse_in, inst); edje_object_signal_callback_add(inst->o_net, "e,action,mouse,out", "", _net_cb_mouse_out, inst); evas_object_show(inst->o_net); if (!inst->ci->show_text) edje_object_signal_emit(inst->o_net, "e,state,text,hide", "e"); else edje_object_signal_emit(inst->o_net, "e,state,text,show", "e"); gcc = e_gadcon_client_new(gc, name, id, style, inst->o_net); gcc->data = inst; inst->gcc = gcc; inst->timer = ecore_timer_add(0.5, _net_cb_poll, inst); evas_object_event_callback_add(inst->o_net, EVAS_CALLBACK_MOUSE_DOWN, _net_cb_mouse_down, inst); net_cfg->instances = eina_list_append(net_cfg->instances, inst); return gcc; }
Object::Object( Evasxx::Canvas &canvas, const std::string &filename, const std::string &groupname ) { // Initialize the Edje library Base::init (); o = edje_object_add( canvas.obj() ); init(); #ifdef CWDEBUG edje_object_message_handler_set( o, &_edje_message_handler_callback, 0 ); edje_object_signal_callback_add( o, "*", "*", &_edje_signal_handler_callback, 0 ); #endif setFile( filename, groupname ); }
void _eli_edje_frontend_menu_container_fill(Eli_App * eap, Evas_Object * container) { const char ** games; char * file; file = ecore_config_theme_with_path_from_name_get(eap->theme.gui.current); games = elitaire_available_games_get(); for (int i = 0; games[i][0]; i++) { Evas_Object * item; item = edje_object_add(evas_object_evas_get(container)); if (edje_object_file_set(item, file, "elitaire/element")) { Evas_Coord w, h; edje_object_size_min_get(item, NULL, &h); evas_object_geometry_get(container, NULL, NULL, &w, NULL); evas_object_resize(item, w, h); if (edje_object_part_exists(item, "elitaire_element_value")) { edje_object_part_text_set(item, "elitaire_element_value", games[i]); evas_object_show(item); edje_object_signal_callback_add(item, "item_selected", "item_selected", _eli_edje_frontend_new_game_cb, eap); esmart_container_element_append(container, item); } else { fprintf(stderr, _("Elitaire Error in %s: " "missing element_value part!\n"), file); evas_object_del(item); } } else { fprintf(stderr, _("Elitaire Error in %s: missing element group!\n"), file); evas_object_del(item); } } }
int idle_screen_view_init() { Evas_Object *win; int ret; ret = ui_utils_view_init(VIEW_PTR(view), ELM_WIN_BASIC, D_("Idle_Screen"), NULL, NULL, NULL); if (ret) { g_critical("Failed to init idle screen"); return ret; } ui_utils_view_delete_callback_set(VIEW_PTR(view), _delete_cb); ui_utils_view_layout_set(VIEW_PTR(view), IDLE_SCREEN_THEME, "phoneui/idle_screen/idle_screen"); edje_object_signal_emit(ui_utils_view_layout_get(VIEW_PTR(view)), "clock_init", ""); win = ui_utils_view_window_get(VIEW_PTR(view)); _set_edje_size(); elm_win_fullscreen_set(win, 1); elm_win_layer_set(win, 200); elm_win_keyboard_mode_set(win, ELM_WIN_KEYBOARD_OFF); evas_object_show(view.wallpaper); edje_object_signal_callback_add(ui_utils_view_layout_get(VIEW_PTR(view)), "unlockScreen", "slider", idle_screen_view_hide, NULL); phoneui_info_register_and_request_resource_status(_resource_status, NULL); phoneui_info_register_and_request_network_status(_network_status, NULL); phoneui_info_register_and_request_signal_strength(_signal_strength, NULL); phoneui_info_register_backlight_power(_backlight_power, NULL); phoneui_info_register_and_request_pdp_context_status(_pdp_context_status, NULL); phoneui_info_register_and_request_profile_changes(_profile_change, NULL); phoneui_info_register_and_request_capacity_changes(_capacity_change, NULL); phoneui_info_register_and_request_missed_calls(_missed_calls, NULL); phoneui_info_register_and_request_unread_messages(_unread_messages, NULL); phoneui_info_register_and_request_unfinished_tasks(_unfinished_tasks, NULL); return 0; }
static void _item_refresh_mode_one(News_Item *ni, int changed_order, int changed_state) { Evas_Object *box; Evas_Object *obj; box = ni->view.box; obj = ni->view.obj_mode_one; /* create obj */ if (!obj) { obj = edje_object_add(ni->gcc->gadcon->evas); news_theme_edje_set(obj, NEWS_THEME_FEEDONE); edje_object_signal_callback_add(obj, "e,action,open", "e", _cb_item_open, ni); } if (!ni->view.obj_mode_one || changed_order) { e_box_pack_end(box, obj); e_box_pack_options_set(obj, 1, 1, /* fill */ 1, 1, /* expand */ 0, 0, /* align */ 0, 0, -1, -1 ); evas_object_show(obj); } /* state */ if (!ni->view.obj_mode_one || changed_state) { if (ni->unread_count) edje_object_signal_emit(obj, "e,state,new,set", "e"); else edje_object_signal_emit(obj, "e,state,new,unset", "e"); } ni->view.obj_mode_one = obj; }
Etheme_Object * etheme_new(const char * t) { Etheme_Object * o; o = (Etheme_Object *) malloc(sizeof(Etheme_Object)); o->theme = (char *) strdup(t); o->thumbpath = e_preview_thumb_file_get(t); int size = strlen(t) - 4; /* without .edj */ o->label = malloc(sizeof(char) * size); o->label = strncpy(o->label, t, size); o->label[size] = 0; o->button = edje_object_add(evas); edje_object_file_set(o->button, default_theme, "fileman/icon_normal"); evas_object_resize(o->button, 100, 120); edje_object_part_text_set(o->button, "icon_title" , o->label); esmart_container_element_append(container, o->button); if (e_preview_thumb_check(t)) e_preview_thumb_generate(t); o->thumb = evas_object_image_add(evas); evas_object_image_size_set(o->thumb, 640, 480); evas_object_image_fill_set(o->thumb, 0, 0, 85, 85); e_preview_thumb_image(o->thumbpath, o->thumb); edje_object_part_swallow(o->button, "icon_swallow", o->thumb); evas_object_show(o->button); edje_object_signal_callback_add(o->button, "mouse,up,1", "icon_event", _preview_theme, o); return o; }
void theme_init(const char *theme) { Evas_Object *o; char buf[4096]; if (!theme) theme = "default"; o = edje_object_add(evas); if ((theme) && (theme[0] != '/') && (!!strncmp(theme, "./", 2)) && (!!strncmp(theme, "../", 3))) snprintf(buf, sizeof(buf), THEMES"/%s.edj", theme); else snprintf(buf, sizeof(buf), "%s", theme); edje_object_file_set(o, buf, "exquisite/theme"); evas_object_move(o, 0, 0); evas_object_resize(o, scr_w, scr_h); edje_object_signal_callback_add(o, "exquisite", "done", _theme_cb_exit_done, NULL); evas_object_show(o); o_bg = o; }
static E_Gadcon_Client * _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) { Instance *inst; inst = E_NEW(Instance, 1); inst->o_toggle = edje_object_add(gc->evas); e_theme_edje_object_set(inst->o_toggle, "base/theme/modules/conf", "e/modules/conf/main"); inst->gcc = e_gadcon_client_new(gc, name, id, style, inst->o_toggle); inst->gcc->data = inst; edje_object_signal_callback_add(inst->o_toggle, "e,action,conf", "", _cb_action_conf, inst); instances = eina_list_append(instances, inst); e_gadcon_client_util_menu_attach(inst->gcc); return inst->gcc; }
/* Called when the statusbar is realized */ static Etk_Bool _etk_statusbar_realized_cb(Etk_Object *object, void *data) { Etk_Statusbar *statusbar; Etk_Widget *statusbar_widget; if (!(statusbar = ETK_STATUSBAR(object))) return ETK_TRUE; statusbar_widget = ETK_WIDGET(statusbar); if (statusbar->has_resize_grip) etk_widget_theme_signal_emit(statusbar_widget, "etk,action,show,resize_grip", ETK_TRUE); else etk_widget_theme_signal_emit(statusbar_widget, "etk,action,hide,resize_grip", ETK_TRUE); _etk_statusbar_update(statusbar); if (statusbar_widget->theme_object) { edje_object_signal_callback_add(statusbar_widget->theme_object, "*", "etk.event.resize", _etk_statusbar_resize_grip_cb, object); } return ETK_TRUE; }
/** * Creates a check box widget * * @param evas pointer * @param label the text to asign to check widget * @param val pointer to int where changes are stored * @return the newly created evas object */ EAPI Evas_Object * e_widget_check_add(Evas *evas, const char *label, int *val) { Evas_Object *obj, *o; E_Widget_Data *wd; Evas_Coord mw, mh; obj = e_widget_add(evas); e_widget_del_hook_set(obj, _e_wid_del_hook); e_widget_focus_hook_set(obj, _e_wid_focus_hook); e_widget_activate_hook_set(obj, _e_wid_activate_hook); e_widget_disable_hook_set(obj, _e_wid_disable_hook); wd = calloc(1, sizeof(E_Widget_Data)); wd->valptr = val; e_widget_data_set(obj, wd); o = edje_object_add(evas); wd->o_check = o; e_theme_edje_object_set(o, "base/theme/widgets", "e/widgets/check"); edje_object_signal_callback_add(o, "e,action,toggle", "*", _e_wid_signal_cb1, obj); edje_object_part_text_set(o, "e.text.label", label); evas_object_show(o); edje_object_size_min_calc(o, &mw, &mh); e_widget_size_min_set(obj, mw, mh); if (wd->valptr) { if (*(wd->valptr)) edje_object_signal_emit(o, "e,state,checked", "e"); } e_widget_sub_object_add(obj, o); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _e_wid_focus_steal, obj); e_widget_resize_object_set(obj, o); return obj; }