From b4d86785951851935c2f778b75e1e76e5a01b760 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Wed, 3 Aug 2016 15:39:46 +0900 Subject: [PATCH] Support individual group view size. Now, groups keep their own view size on their own contexts. This will help user simultaneous group editing. --- src/bin/live_edit.c | 8 ++++---- src/bin/main.c | 26 ++++++++++---------------- src/bin/preference_setting.c | 2 +- src/bin/statusbar.c | 24 ++++++++---------------- src/lib/enventor_smart.c | 18 +----------------- 5 files changed, 24 insertions(+), 54 deletions(-) diff --git a/src/bin/live_edit.c b/src/bin/live_edit.c index 63e7770..3926cea 100644 --- a/src/bin/live_edit.c +++ b/src/bin/live_edit.c @@ -260,11 +260,11 @@ info_text_update(live_data *ld) Evas_Coord lx, ly, lw, lh; evas_object_geometry_get(ld->live_view, &lx, &ly, &lw, &lh); - Evas_Coord vw, vh; - config_view_size_get(&vw, &vh); - Enventor_Object *enventor = base_enventor_get(); + Evas_Coord vw, vh; + enventor_object_live_view_size_get(enventor, &vw, &vh); + //reverse coordinates if mirror mode is enabled. double ox = ld->rel_info.rel1_x; double ox2 = ld->rel_info.rel2_x; @@ -361,7 +361,7 @@ calc_relative_info(live_data *ld) //For real min size of Live Edit Item Evas_Coord vw, vh; - config_view_size_get(&vw, &vh); + enventor_object_live_view_size_get(base_enventor_get(), &vw, &vh); //Calculate real min size of Live Edit Item base on current relative Evas_Coord min_w = (Evas_Coord) (((double) vw) * diff --git a/src/bin/main.c b/src/bin/main.c index 138826f..babd334 100644 --- a/src/bin/main.c +++ b/src/bin/main.c @@ -123,10 +123,6 @@ config_update_cb(void *data EINA_UNUSED) syntax_color_update(enventor); - //Live View Size - Evas_Coord w, h; - config_view_size_get(&w, &h); - enventor_object_live_view_size_set(enventor, w, h); stats_view_scale_update(config_view_scale_get()); base_tools_toggle(EINA_FALSE); base_statusbar_toggle(EINA_FALSE); @@ -158,10 +154,6 @@ main_mouse_wheel_cb(void *data EINA_UNUSED, int type EINA_UNUSED, void *ev) scale = config_view_scale_get(); enventor_object_live_view_scale_set(base_enventor_get(), scale); - Evas_Coord ww, hh; - config_view_size_get(&ww, &hh); - enventor_object_live_view_size_set(base_enventor_get(), ww, hh); - //Just in live edit mode case. live_edit_update(); @@ -429,6 +421,16 @@ enventor_cursor_group_changed_cb(void *data EINA_UNUSED, const char *group_name = event_info; stats_edc_group_update(group_name); base_edc_navigator_group_update(); + + //Set default view size if this view has no size. + int w, h; + enventor_object_live_view_size_get(obj, &w, &h); + if ((w == 0) && (h == 0)) + { + config_view_size_get(&w, &h); + enventor_object_live_view_size_set(obj, w, h); + } + stats_view_size_update(w, h); } static void @@ -447,7 +449,6 @@ enventor_live_view_resized_cb(void *data EINA_UNUSED, { Enventor_Live_View_Size *size = event_info; stats_view_size_update(size->w, size->h); - config_view_size_set(size->w, size->h); } static void @@ -455,13 +456,6 @@ enventor_live_view_loaded_cb(void *data EINA_UNUSED, Enventor_Object *obj, void *event_info EINA_UNUSED) { Evas_Coord view_w, view_h; - enventor_object_live_view_size_get(obj, &view_w, &view_h); - if (!view_w && !view_h) - { - Evas_Coord w, h; - config_view_size_get(&w, &h); - enventor_object_live_view_size_set(obj, w, h); - } base_edc_navigator_group_update(); } diff --git a/src/bin/preference_setting.c b/src/bin/preference_setting.c index b2b462b..ac41400 100644 --- a/src/bin/preference_setting.c +++ b/src/bin/preference_setting.c @@ -168,7 +168,7 @@ preference_setting_content_get(preference_setting_data *psd, elm_box_pack_end(box2, layout_padding3); Evas_Object *label_view_size = label_create(layout_padding3, - _("View Size")); + _("Default View Size")); elm_object_part_content_set(layout_padding3, "elm.swallow.content", label_view_size); diff --git a/src/bin/statusbar.c b/src/bin/statusbar.c index 75aee5f..feed2b2 100644 --- a/src/bin/statusbar.c +++ b/src/bin/statusbar.c @@ -41,10 +41,6 @@ view_scale_slider_changed_cb(void *data EINA_UNUSED, Evas_Object *obj, scale = config_view_scale_get(); enventor_object_live_view_scale_set(base_enventor_get(), scale); - Evas_Coord w, h; - config_view_size_get(&w, &h); - enventor_object_live_view_size_set(base_enventor_get(), w, h); - //Just in live edit mode case. live_edit_update(); @@ -80,7 +76,9 @@ static void view_invert_transit_end(void *data, Elm_Transit *transit EINA_UNUSED) { invert_data *id = data; - config_view_size_set((id->orig_w + id->diff_w), (id->orig_h + id->diff_h)); + enventor_object_live_view_size_set(base_enventor_get(), + (id->orig_w + id->diff_w), + (id->orig_h + id->diff_h)); free(id); } @@ -91,7 +89,7 @@ view_invert_btn_cb(void *data EINA_UNUSED, Evas_Object *obj, invert_data *id = malloc(sizeof(invert_data)); Evas_Coord w, h; - config_view_size_get(&w, &h); + enventor_object_live_view_size_get(base_enventor_get(), &w, &h); id->orig_w = w; id->orig_h = h; id->diff_w = h - w; @@ -122,17 +120,11 @@ view_resize_slider_changed_cb(void *data, Evas_Object *obj EINA_UNUSED, "elm.swallow.slider"); int val = elm_slider_value_get(slider); int w, h; - config_view_size_get(&w, &h); + enventor_object_live_view_size_get(base_enventor_get(), &w, &h); if (horizontal) - { - config_view_size_set(val, h); - enventor_object_live_view_size_set(base_enventor_get(), val, h); - } + enventor_object_live_view_size_set(base_enventor_get(), val, h); else - { - config_view_size_set(w, val); - enventor_object_live_view_size_set(base_enventor_get(), w, val); - } + enventor_object_live_view_size_set(base_enventor_get(), w, val); //Just in live edit mode case. live_edit_update(); @@ -190,7 +182,7 @@ view_resize_btn_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) Evas_Object *slider; Evas_Coord w, h; - config_view_size_get(&w, &h); + enventor_object_live_view_size_get(base_enventor_get(), &w, &h); //Slider 1 slider = view_resize_slider_layout_create(box, VIEW_RESIZE_TYPE_W, w); diff --git a/src/lib/enventor_smart.c b/src/lib/enventor_smart.c index 951c630..04ef34d 100644 --- a/src/lib/enventor_smart.c +++ b/src/lib/enventor_smart.c @@ -139,23 +139,7 @@ edit_view_sync_cb(void *data, Eina_Stringshare *state_name, double state_value, if (pd->group_name != group_name) { view_data *vd = edj_mgr_view_get(group_name); - if (vd) - { - edj_mgr_view_switch_to(vd); - - Evas_Coord prev_w, prev_h; - view_data *prev_vd = edj_mgr_view_get(pd->group_name); - view_size_get(prev_vd, &prev_w, &prev_h); - - static Enventor_Live_View_Size size; - view_size_get(vd, &size.w, &size.h); - if (size.w && size.h && - ((size.w != prev_w) || (size.h != prev_h))) - { - evas_object_smart_callback_call(pd->obj, - SIG_LIVE_VIEW_RESIZED, &size); - } - } + if (vd) edj_mgr_view_switch_to(vd); else { vd = edj_mgr_view_new(it, group_name);