static void _test_layout() { Evas_Object *win, *box, *ly, *bt; char buf[PATH_MAX]; win = eailu_create_test_window_with_glib_init(_on_done, _on_focus_in); box = elm_box_add(win); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, box); evas_object_show(box); ly = elm_layout_add(win); if (!elm_layout_theme_set( ly, "layout", "application", "titlebar")) fprintf(stderr, "Failed to set layout"); elm_object_part_text_set(ly, "elm.text", "Some title"); evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, ly); evas_object_show(ly); bt = elm_icon_add(win); elm_icon_standard_set(bt, "chat"); evas_object_size_hint_min_set(bt, 20, 20); elm_layout_icon_set(ly, bt); bt = elm_icon_add(win); elm_icon_standard_set(bt, "close"); evas_object_size_hint_min_set(bt, 20, 20); elm_layout_end_set(ly, bt); ly = elm_layout_add(win); snprintf(buf, sizeof(buf), "%s/test.edj","./data/"); elm_layout_file_set(ly, buf, "layout"); evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(box, ly); //elm_win_resize_object_add(win, ly); evas_object_show(ly); bt = elm_button_add(win); elm_object_text_set(bt, "Button 1"); elm_object_part_content_set(ly, "element1", bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Button 2"); elm_object_part_content_set(ly, "element2", bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Button 3"); elm_object_part_content_set(ly, "element3", bt); evas_object_show(bt); evas_object_show(win); }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *bt, *bt2, *rect, *rect2, *rect3, *hover; win = elm_win_add(NULL, "hover", ELM_WIN_BASIC); elm_win_title_set(win, "Hover"); elm_win_autodel_set(win, EINA_TRUE); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); bg = elm_bg_add(win); elm_win_resize_object_add(win, bg); evas_object_show(bg); rect = evas_object_rectangle_add(evas_object_evas_get(win)); evas_object_size_hint_min_set(rect, 25, 25); evas_object_color_set(rect, 255, 0, 0, 255); evas_object_show(rect); rect2 = evas_object_rectangle_add(evas_object_evas_get(win)); evas_object_size_hint_min_set(rect2, 25, 25); evas_object_color_set(rect2, 0, 255, 0, 255); evas_object_show(rect2); rect3 = evas_object_rectangle_add(evas_object_evas_get(win)); evas_object_size_hint_min_set(rect3, 25, 25); evas_object_color_set(rect3, 0, 0, 255, 255); evas_object_show(rect3); bt = elm_button_add(win); elm_object_text_set(bt, "Show hover"); evas_object_move(bt, 60, 90); evas_object_resize(bt, 80, 20); evas_object_show(bt); bt2 = elm_button_add(win); elm_object_text_set(bt2, "Hide hover"); evas_object_show(bt2); hover = elm_hover_add(win); elm_hover_parent_set(hover, win); elm_hover_target_set(hover, bt); elm_object_style_set(hover, "popout"); elm_hover_content_set(hover, "left", rect); elm_hover_content_set(hover, "top", rect2); elm_hover_content_set(hover, "right", rect3); elm_hover_content_set(hover, "middle", bt2); evas_object_smart_callback_add(bt, "clicked", _show_hover, hover); evas_object_smart_callback_add(bt2, "clicked", _hide_hover, hover); evas_object_resize(win, 200, 200); evas_object_show(win); elm_run(); return 0; }
static void _recalc(void *data) { ELM_LABEL_DATA_GET(data, sd); Evas_Coord minw = -1, minh = -1; Evas_Coord resw; evas_event_freeze(evas_object_evas_get(data)); evas_object_geometry_get (ELM_WIDGET_DATA(sd)->resize_obj, NULL, NULL, &resw, NULL); if (sd->wrap_w > resw) resw = sd->wrap_w; edje_object_size_min_restricted_calc (ELM_WIDGET_DATA(sd)->resize_obj, &minw, &minh, resw, 0); /* This is a hack to workaround the way min size hints are treated. * If the minimum width is smaller than the restricted width, it means * the mininmum doesn't matter. */ if ((minw <= resw) && (minw != sd->wrap_w)) { Evas_Coord ominw = -1; evas_object_size_hint_min_get(data, &ominw, NULL); minw = ominw; } evas_object_size_hint_min_set(data, minw, minh); evas_event_thaw(evas_object_evas_get(data)); evas_event_thaw_eval(evas_object_evas_get(data)); }
static void _sizing_eval(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); Evas_Coord minw = -1, minh = -1; int i; if (!wd) return; elm_coords_finger_size_adjust(1, &minw, 1, &minh); for (i = 0; i < 4; i++) { if (wd->cp[i]->bg_rect) _colorselector_set_size_hints(wd->cp[i]->bg_rect, 1, 1); _colorselector_set_size_hints(wd->cp[i]->bar, 1, 1); _colorselector_set_size_hints(wd->cp[i]->rbt, 1, 1); _colorselector_set_size_hints(wd->cp[i]->lbt, 1, 1); _colorselector_set_size_hints(wd->cp[i]->colorbar, 4, 1); } elm_coords_finger_size_adjust(4, &minw, 4, &minh); edje_object_size_min_restricted_calc(wd->base, &minw, &minh, minw, minh); evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, -1, -1); }
int main(int argc, char **argv) { Evas_Object *win; Evas_Object *layout; Evas_Object *table; 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, "tut19.edj", "interface"); evas_object_show(layout); elm_win_resize_object_add(win, layout); table = elm_layout_add(layout); elm_layout_file_set(table, "tut19.edj", "table"); evas_object_show(table); evas_object_size_hint_weight_set(layout, 1, 1); elm_object_part_content_set(layout, "table_swallow", table); evas_object_size_hint_min_set(layout, 64, 64); evas_object_resize(win, 800, 480); evas_object_show(win); elm_run(); elm_shutdown(); }
static Evas_Object *_minictrl_load_viewer(Evas_Object *parent, struct _viewer_item *item) { Evas_Object *viewer = NULL; if (!parent) { ERR("parent is NULL"); return NULL; } if (!item) { ERR("item is NULL"); return NULL; } if (!item->name) { ERR("item name is NULL"); return NULL; } viewer = minicontrol_viewer_add(parent, item->name); if (!viewer) { ERR("fail to create viewer for [%s]", item->name); return NULL; } evas_object_size_hint_min_set(viewer, item->width , item->height); return viewer; }
static Evas_Object* _add_entry ( Evas_Object *window, Evas_Object *container, const gchar *label_text) { Evas_Object *frame = NULL; Evas_Object *entry = NULL; if (label_text) { frame = elm_frame_add(window); elm_object_text_set(frame, label_text); evas_object_size_hint_weight_set(frame, 0.0, 0.0); evas_object_size_hint_align_set(frame, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(container, frame); evas_object_show(frame); } entry = elm_entry_add (window); elm_entry_single_line_set (entry, EINA_TRUE); elm_entry_scrollable_set (entry, EINA_TRUE); evas_object_size_hint_min_set (entry, 150, 80); evas_object_size_hint_align_set (entry, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, 0.0); frame ? elm_object_content_set (frame, entry) : elm_box_pack_end (container, entry); return entry; }
static void _elm_label_smart_sizing_eval(Evas_Object *obj) { Evas_Coord minw = -1, minh = -1; Evas_Coord resw, resh; ELM_LABEL_DATA_GET(obj, sd); if (sd->linewrap) { evas_object_geometry_get (ELM_WIDGET_DATA(sd)->resize_obj, NULL, NULL, &resw, &resh); if (resw == sd->lastw) return; sd->lastw = resw; _recalc(obj); } else { evas_event_freeze(evas_object_evas_get(obj)); evas_object_geometry_get (ELM_WIDGET_DATA(sd)->resize_obj, NULL, NULL, &resw, &resh); edje_object_size_min_calc (ELM_WIDGET_DATA(sd)->resize_obj, &minw, &minh); if (sd->wrap_w > 0 && minw > sd->wrap_w) minw = sd->wrap_w; evas_object_size_hint_min_set(obj, minw, minh); evas_event_thaw(evas_object_evas_get(obj)); evas_event_thaw_eval(evas_object_evas_get(obj)); } }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg; Evas_Object *thumb; char buf[PATH_MAX]; #ifdef ELM_ETHUMB Ethumb_Client *client; #endif elm_need_ethumb(); elm_app_info_set(elm_main, "elementary", "images/plant_01.jpg"); win = elm_win_add(NULL, "thumb", ELM_WIN_BASIC); elm_win_title_set(win, "Thumbnailer"); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_autodel_set(win, EINA_TRUE); bg = elm_bg_add(win); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); #ifdef ELM_ETHUMB client = elm_thumb_ethumb_client_get(); if (!client) { printf("error: could not get Ethumb client.\n"); return 1; } ethumb_client_size_set(client, 160, 160); #endif thumb = elm_thumb_add(win); evas_object_smart_callback_add(thumb, "generate,start", _generation_started_cb, NULL); evas_object_smart_callback_add(thumb, "generate,stop", _generation_finished_cb, NULL); evas_object_smart_callback_add(thumb, "generate,error", _generation_error_cb, NULL); elm_thumb_editable_set(thumb, EINA_FALSE); snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); elm_thumb_file_set(thumb, buf, NULL); elm_thumb_reload(thumb); evas_object_size_hint_weight_set(thumb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, thumb); evas_object_show(thumb); evas_object_size_hint_min_set(bg, 160, 160); evas_object_size_hint_max_set(bg, 640, 640); evas_object_resize(win, 320, 320); evas_object_show(win); elm_run(); /* and run the program now, starting to handle all * events, etc. */ elm_shutdown(); /* clean up and shut down */ /* exit code */ return 0; }
static void _walle_wall_cb_resize(void *data, Evas *e, Evas_Object *obj, void *einfo) { Walle *walle = data; Evas_Coord ow, oh; evas_object_geometry_get(walle->o_scroll, NULL, NULL, &ow, &oh); evas_object_size_hint_min_set(walle->o_wall, ow, oh); }
Eo* float_new(PropertyValue* val, Eo* obj) { Evas_Object *bx; bx = elm_box_add(obj); elm_box_horizontal_set(bx, EINA_TRUE); elm_box_padding_set(bx, 4, 0); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL); Evas_Coord fw = -1, fh = -1; elm_coords_finger_size_adjust(1, &fw, 1, &fh); evas_object_size_hint_min_set(bx, 0, fh); const char* name; /* Eo* l = elm_layout_add(obj); elm_layout_file_set(l, "edc/entry.edj", "main"); evas_object_size_hint_weight_set(l, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(l, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(l); elm_box_pack_end(bx, l); return bx; */ //Evas_Object* en = smart_entry_add(evas_object_evas_get(obj)); //Evas_Object* en = smart_entry_add(obj); //chris //Evas_Object *en = eo_add(JK_ENTRY_CLASS, obj); Evas_Object *en = jk_entry_add(obj); //evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); //evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5); evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(en); elm_box_pack_end(bx, en); //Eo* rect = evas_object_rectangle_add(evas_object_evas_get(obj)); //evas_object_show(rect); //evas_object_color_set(rect, rand() % 255, rand() % 255, rand() % 255, 255/2); //evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); //evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL); // //elm_box_pack_end(bx, rect); evas_object_smart_callback_add(en, "changed,end", _jk_entry_changed_end_cb_list, val); evas_object_smart_callback_add(en, "changed", _jk_entry_changed_cb_list, val); const float* f = val->data; //eo_do(en, jk_entry_value_set(*f)); jk_entry_value_set(en, *f); val->item_eo = en; evas_object_show(bx); return bx; }
static void _sizing_eval(Evas_Object *obj) { Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1; //TODO: get socket object size evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, maxw, maxh); }
EAPI int elm_main(int argc, char **argv) { Evas_Object *win=NULL, *bg=NULL, *pattern=NULL, *edje=NULL, *object=NULL, *item=NULL; Ecore_X_Window xwin, rootxwin; char theme[PATH_MAX]; setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); win = elm_win_add(NULL, "e_pattern_lock", ELM_WIN_BASIC); elm_win_autodel_set(win, EINA_TRUE); elm_win_maximized_set(win, EINA_TRUE); // change to full screen and above everything for lockscreen effect evas_object_size_hint_min_set(win, 480, 480); evas_object_size_hint_max_set(win, 640, 640); elm_win_fullscreen_set(win, EINA_TRUE); elm_win_sticky_set(win, EINA_TRUE); elm_win_keyboard_mode_set(win, ELM_WIN_KEYBOARD_OFF); elm_win_layer_set(win, INT_MAX); xwin = elm_win_xwindow_get(win); rootxwin = ecore_x_window_root_get(xwin); ecore_x_pointer_grab(xwin); ecore_x_keyboard_grab(rootxwin); bg = elm_bg_add(win); evas_object_size_hint_weight_set(bg, 1.0, 1.0); elm_win_resize_object_add(win, bg); evas_object_show(bg); snprintf(theme, sizeof(theme), "%s/themes/default.edj", PKGDATADIR); elm_theme_extension_add(NULL, theme); elm_theme_overlay_add(NULL, theme); pattern = elm_layout_add(win); elm_layout_file_set(pattern, theme, "e_lock/table/default"); evas_object_size_hint_weight_set(pattern, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(pattern, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_win_resize_object_add(win, pattern); edje = elm_layout_edje_get(pattern); set_event_cbs(0, 0, "top_left"); set_event_cbs(1, 0, "top"); set_event_cbs(2, 0, "top_right"); set_event_cbs(0, 1, "left"); set_event_cbs(1, 1, "center"); set_event_cbs(2, 1, "right"); set_event_cbs(0, 2, "bottom_left"); set_event_cbs(1, 2, "bottom"); set_event_cbs(2, 2, "bottom_right"); evas_object_show(pattern); evas_object_show(win); elm_run(); elm_shutdown(); return(0); }
EOLIAN static void _elm_actionslider_elm_layout_sizing_eval(Eo *obj, Elm_Actionslider_Data *sd) { Evas_Coord minw = -1, minh = -1; ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); elm_coords_finger_size_adjust(1, &minw, 1, &minh); evas_object_size_hint_min_set(sd->drag_button_base, minw, minh); evas_object_size_hint_max_set(sd->drag_button_base, -1, -1); minw = -1; minh = -1; elm_coords_finger_size_adjust(3, &minw, 1, &minh); edje_object_size_min_restricted_calc (wd->resize_obj, &minw, &minh, minw, minh); evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, -1, -1); }
static void _sizing_eval(Evas_Object * obj) { Widget_Data *wd = elm_widget_data_get(obj); Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1; edje_object_size_min_calc(wd->keypad, &minw, &minh); evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, maxw, maxh); }
EAPI_MAIN int elm_main(int argc, char *argv[]) { Evas_Object *win, *bg, *bx, *datetime; win = elm_win_add(NULL, "Datetime", ELM_WIN_BASIC); elm_win_title_set(win, "Datetime"); evas_object_smart_callback_add(win, "delete,request", _on_done, NULL); bg = elm_bg_add(win); elm_win_resize_object_add(win, bg); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(bg); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bx); elm_box_horizontal_set(bx, EINA_FALSE); evas_object_show(bx); evas_object_size_hint_min_set(bx, 360, 200); //datetime showing only DATE datetime = elm_datetime_add(bx); evas_object_size_hint_weight_set(datetime, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(datetime, EVAS_HINT_FILL, 0.5); elm_datetime_field_visible_set(datetime, ELM_DATETIME_HOUR, EINA_FALSE); elm_datetime_field_visible_set(datetime, ELM_DATETIME_MINUTE, EINA_FALSE); elm_datetime_field_visible_set(datetime, ELM_DATETIME_AMPM, EINA_FALSE); elm_box_pack_end(bx, datetime); evas_object_show(datetime); //datetime showing only TIME datetime = elm_datetime_add(bx); evas_object_size_hint_weight_set(datetime, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(datetime, EVAS_HINT_FILL, 0.5); elm_datetime_field_visible_set(datetime, ELM_DATETIME_YEAR, EINA_FALSE); elm_datetime_field_visible_set(datetime, ELM_DATETIME_MONTH, EINA_FALSE); elm_datetime_field_visible_set(datetime, ELM_DATETIME_DATE, EINA_FALSE); elm_box_pack_end(bx, datetime); evas_object_show(datetime); //datetime showing both DATE and TIME datetime = elm_datetime_add(bx); evas_object_size_hint_weight_set(datetime, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(datetime, EVAS_HINT_FILL, 0.5); elm_box_pack_end(bx, datetime); evas_object_show(datetime); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *box; Evas_Object *list; win = elm_win_add(NULL, "icon", ELM_WIN_BASIC); elm_win_title_set(win, "Icon"); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_autodel_set(win, EINA_TRUE); bg = elm_bg_add(win); elm_bg_color_set(bg, 255,255 ,255); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); box = elm_box_add(win); elm_box_horizontal_set(box, EINA_TRUE); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_win_resize_object_add(win, box); evas_object_show(box); if (!_itc) { _itc = elm_genlist_item_class_new(); _itc->item_style = "double_label"; _itc->func.text_get = _item_label_get; _itc->func.content_get = _item_content_get; _itc->func.state_get = NULL; _itc->func.del = NULL; } list = _genlist_add(box); _genlist_fill(list); list = _genlist_add(box); elm_genlist_mode_set(list, ELM_LIST_LIMIT); _genlist_fill(list); list = _genlist_add(box); elm_genlist_mode_set(list, ELM_LIST_COMPRESS); _genlist_fill(list); evas_object_size_hint_min_set(bg, 800, 160); evas_object_size_hint_max_set(bg, 800, 640); evas_object_resize(win, 800, 320); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
/** * Creates a new entry widget * * @param evas the evas where to add the new entry widget * @param text_location the location where to store the text of the entry. * @param func DOCUMENT ME! * @param data DOCUMENT ME! * @param data2 DOCUMENT ME! * The current value will be used to initialize the entry * @return Returns the new entry widget */ EAPI Evas_Object * e_widget_entry_add(Evas *evas, char **text_location, void (*func)(void *data, void *data2), void *data, void *data2) { Evas_Object *obj, *o; E_Widget_Data *wd; Evas_Coord minw, minh; 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_disable_hook_set(obj, _e_wid_disable_hook); wd = calloc(1, sizeof(E_Widget_Data)); e_widget_data_set(obj, wd); wd->text_location = text_location; o = e_entry_add(evas); wd->o_entry = o; e_widget_sub_object_add(obj, o); e_widget_resize_object_set(obj, o); evas_object_show(o); evas_object_event_callback_add(o, EVAS_CALLBACK_KEY_DOWN, _e_wid_keydown, obj); evas_object_event_callback_add(o, EVAS_CALLBACK_MOVE, _e_wid_movresz, obj); evas_object_event_callback_add(o, EVAS_CALLBACK_RESIZE, _e_wid_movresz, obj); o = evas_object_rectangle_add(evas); wd->o_inout = o; evas_object_repeat_events_set(o, EINA_TRUE); evas_object_color_set(o, 0, 0, 0, 0); e_widget_sub_object_add(obj, o); evas_object_smart_member_add(o, obj); evas_object_show(o); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _e_wid_focus_steal, obj); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_IN, _e_wid_in, obj); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_OUT, _e_wid_out, obj); o = wd->o_entry; if ((text_location) && (*text_location)) e_entry_text_set(o, *text_location); e_entry_size_min_get(o, &minw, &minh); e_widget_size_min_set(obj, minw, minh); evas_object_size_hint_min_set(obj, minw, minh); wd->func = func; wd->data = data; wd->data2 = data2; evas_object_smart_callback_add(o, "changed", _e_wid_changed_cb, obj); return obj; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *prefs, *layout; Elm_Prefs_Data *prefs_data; win = elm_win_add(NULL, "Prefs", ELM_WIN_BASIC); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_title_set(win, "Prefs Example 03"); elm_win_autodel_set(win, EINA_TRUE); bg = elm_bg_add(win); elm_win_resize_object_add(win, bg); evas_object_size_hint_min_set(bg, WIDTH, HEIGHT); evas_object_size_hint_max_set(bg, WIDTH, HEIGHT); evas_object_show(bg); layout = elm_layout_add(win); elm_layout_file_set(layout, "prefs_example_03.edj", "prefs_edje"); prefs = elm_prefs_add(win); evas_object_size_hint_weight_set(prefs, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_resize(prefs, WIDTH, HEIGHT); evas_object_show(prefs); evas_object_smart_callback_add(prefs, "page,loaded", _page_loaded_cb, layout); evas_object_smart_callback_add(prefs, "item,changed", _item_changed_cb, layout); elm_prefs_autosave_set(prefs, EINA_TRUE); prefs_data = elm_prefs_data_new("./prefs_example_03.cfg", NULL, EET_FILE_MODE_READ_WRITE); elm_prefs_file_set(prefs, "prefs_example_03.epb", NULL); elm_prefs_data_set(prefs, prefs_data); elm_prefs_item_swallow(prefs, "main:swal", layout); _update_animation_time(prefs, layout); _update_animation(prefs, layout); evas_object_resize(win, WIDTH, HEIGHT); evas_object_show(win); elm_run(); elm_prefs_data_unref(prefs_data); elm_shutdown(); return 0; }
static void _sizing_eval(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1; if (!wd) return; elm_coords_finger_size_adjust(1, &minw, 1, &minh); edje_object_size_min_restricted_calc(wd->bbl, &minw, &minh, minw, minh); evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, maxw, maxh); }
static void _sizing_eval(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1; if (!wd) return; //TODO: get socket object size evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, maxw, maxh); }
static void _colorselector_set_size_hints(Evas_Object *obj, int timesw, int timesh) { Evas_Coord minw = -1, minh = -1; elm_coords_finger_size_adjust(timesw, &minw, timesh, &minh); edje_object_size_min_restricted_calc(obj, &minw, &minh, minw, minh); evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, -1, -1); }
E_API void e_widget_preview_size_set(Evas_Object *obj, int minw, int minh) { E_Widget_Data *wd; int mw, mh; wd = e_widget_data_get(obj); e_livethumb_vsize_set(wd->img, minw * 2, minh * 2); evas_object_size_hint_min_set(wd->img, minw, minh); edje_object_size_min_calc(wd->o_frame, &mw, &mh); e_widget_size_min_set(obj, mw, mh); }
static void _changed_size_hints_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { Evas_Object *map; Evas_Coord w, h; evas_object_size_hint_min_get(obj, &w, &h); map = mapbuf_get_mapbuf(obj); if (map) { evas_object_size_hint_min_set(map, w, h); } }
static void _layout_resize_cb(void *data , Evas *e, Evas_Object *obj, void *event_info) { int w1, h1, w2, h2; page_data *pd = (page_data *)data; evas_object_geometry_get(obj, NULL, NULL, &w1, &h1); evas_object_geometry_get(pd->main_layout, NULL, NULL, &w2, &h2); evas_object_size_hint_min_set(pd->left_right_rect, (w2 - w1) / 2, h2 / 2); elm_scroller_page_size_set(pd->scroller, w1, h1); }
static Evas_Object * _genlist_add(Evas_Object *box) { Evas_Object *list = elm_genlist_add(elm_object_parent_widget_get(box)); evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_min_set(list, 200, 160); elm_box_pack_end(box, list); evas_object_show(list); return list; }
static void _elm_fileselector_smart_sizing_eval(Evas_Object *obj) { Evas_Coord minw = -1, minh = -1; ELM_FILESELECTOR_DATA_GET(obj, sd); elm_coords_finger_size_adjust(1, &minw, 1, &minh); edje_object_size_min_restricted_calc (ELM_WIDGET_DATA(sd)->resize_obj, &minw, &minh, minw, minh); evas_object_size_hint_min_set(obj, minw, minh); }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *btn, *layout; char buf[PATH_MAX]; elm_app_info_set(elm_main, "elementary", "examples/layout_example.edj"); win = elm_win_add(NULL, "layout", ELM_WIN_BASIC); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_autodel_set(win, EINA_TRUE); bg = elm_bg_add(win); elm_bg_color_set(bg, 255,255 ,255); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); // Adding layout layout = elm_layout_add(win); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, layout); snprintf(buf, sizeof(buf), "%s/examples/layout_example.edj", elm_app_data_dir_get()); elm_layout_file_set(layout, buf, "example/mylayout3"); evas_object_show(layout); elm_object_signal_callback_add(layout, "size,changed", "", _size_changed_cb, layout); // Setting title const char *title = elm_layout_data_get(layout, "title"); if (title) { elm_win_title_set(win, title); elm_object_part_text_set(layout, TITLE, title); } btn = elm_button_add(win); elm_object_text_set(btn, "Enlarge me!"); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_part_content_set(layout, SWALLOW, btn); evas_object_smart_callback_add(btn, "clicked", _swallow_btn_cb, layout); evas_object_size_hint_min_set(bg, 160, 160); evas_object_size_hint_max_set(bg, 640, 640); evas_object_resize(win, 160, 160); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
static void _sizing_eval(Evas_Object *obj) { Evas_Coord minw = 0, minh = 0, maxw = -1, maxh = -1; double scale; ELM_PHOTO_DATA_GET(obj, sd); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); if (sd->size <= 0) return; scale = (sd->size * efl_gfx_entity_scale_get(obj) * elm_config_scale_get()); evas_object_size_hint_min_set(sd->icon, scale, scale); elm_coords_finger_size_adjust(1, &minw, 1, &minh); edje_object_size_min_restricted_calc (wd->resize_obj, &minw, &minh, minw, minh); maxw = minw; maxh = minh; evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, maxw, maxh); }
static void _elm_bubble_smart_sizing_eval(Evas_Object *obj) { Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1; ELM_BUBBLE_DATA_GET(obj, sd); elm_coords_finger_size_adjust(1, &minw, 1, &minh); edje_object_size_min_restricted_calc (ELM_WIDGET_DATA(sd)->resize_obj, &minw, &minh, minw, minh); evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, maxw, maxh); }