netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=9f89171b62eb44e1d6beec9f4253defaeb271bc5

commit 9f89171b62eb44e1d6beec9f4253defaeb271bc5
Author: Alastair Poole <nets...@gmail.com>
Date:   Fri Mar 12 10:47:34 2021 +0000

    packing: defer showing until after the pack.
---
 src/bin/ui/ui_disk.c         | 19 +++++++++----------
 src/bin/ui/ui_memory.c       | 14 ++++++++++++--
 src/bin/ui/ui_process_list.c | 14 ++++++--------
 src/bin/ui/ui_sensors.c      | 12 ++++++------
 4 files changed, 33 insertions(+), 26 deletions(-)

diff --git a/src/bin/ui/ui_disk.c b/src/bin/ui/ui_disk.c
index 14a15db..61f0aac 100644
--- a/src/bin/ui/ui_disk.c
+++ b/src/bin/ui/ui_disk.c
@@ -53,13 +53,13 @@ _item_column_add(Evas_Object *tb, const char *text, int col)
 
    lb = elm_label_add(tb);
    evas_object_data_set(tb, text, lb);
-   evas_object_show(lb);
 
    rec = evas_object_rectangle_add(evas_object_evas_get(tb));
    evas_object_data_set(lb, "rect", rec);
 
    elm_table_pack(tb, lb, col, 0, 1, 1);
    elm_table_pack(tb, rec, col, 0, 1, 1);
+   evas_object_show(lb);
 
    return lb;
 }
@@ -585,79 +585,77 @@ ui_disk_win_add(Evisum_Ui *ui)
    pd->btn_device = btn = elm_button_add(win);
    evas_object_size_hint_weight_set(btn, EXPAND, EXPAND);
    evas_object_size_hint_align_set(btn, FILL, FILL);
-   evas_object_show(btn);
    elm_object_text_set(btn, _("device"));
    evas_object_smart_callback_add(btn, "clicked", _btn_device_clicked_cb, pd);
    _btn_icon_state_set(btn, 0);
    elm_table_pack(tb, btn, i++, 0, 1, 1);
+   evas_object_show(btn);
 
    pd->btn_mount = btn = elm_button_add(win);
    evas_object_size_hint_weight_set(btn, EXPAND, EXPAND);
    evas_object_size_hint_align_set(btn, FILL, FILL);
-   evas_object_show(btn);
    elm_object_text_set(btn, _("mount"));
    evas_object_smart_callback_add(btn, "clicked", _btn_mount_clicked_cb, pd);
    _btn_icon_state_set(btn, 0);
    elm_table_pack(tb, btn, i++, 0, 1, 1);
+   evas_object_show(btn);
 
    pd->btn_fs = btn = elm_button_add(win);
    evas_object_size_hint_weight_set(btn, EXPAND, EXPAND);
    evas_object_size_hint_align_set(btn, FILL, FILL);
-   evas_object_show(btn);
    elm_object_text_set(btn, _("type"));
    evas_object_smart_callback_add(btn, "clicked", _btn_fs_clicked_cb, pd);
    _btn_icon_state_set(btn, 0);
    elm_table_pack(tb, btn, i++, 0, 1, 1);
+   evas_object_show(btn);
 
    pd->btn_total = btn = elm_button_add(win);
    evas_object_size_hint_weight_set(btn, 0, EXPAND);
    evas_object_size_hint_align_set(btn, FILL, FILL);
-   evas_object_show(btn);
    elm_object_text_set(btn, _("total"));
    evas_object_smart_callback_add(btn, "clicked", _btn_total_clicked_cb, pd);
    _btn_icon_state_set(btn, 0);
    rec = _btn_min_size(btn);
    elm_table_pack(tb, rec, i, i, 1, 1);
    elm_table_pack(tb, btn, i++, 0, 1, 1);
+   evas_object_show(btn);
 
    pd->btn_used = btn = elm_button_add(win);
    evas_object_size_hint_weight_set(btn, 0, EXPAND);
    evas_object_size_hint_align_set(btn, FILL, FILL);
-   evas_object_show(btn);
    elm_object_text_set(btn, _("used"));
    evas_object_smart_callback_add(btn, "clicked", _btn_used_clicked_cb, pd);
    _btn_icon_state_set(btn, 0);
    rec = _btn_min_size(btn);
    elm_table_pack(tb, rec, i, i, 1, 1);
    elm_table_pack(tb, btn, i++, 0, 1, 1);
+   evas_object_show(btn);
 
    pd->btn_free = btn = elm_button_add(win);
    evas_object_size_hint_weight_set(btn, 0, EXPAND);
    evas_object_size_hint_align_set(btn, FILL, FILL);
-   evas_object_show(btn);
    elm_object_text_set(btn, _("free"));
    evas_object_smart_callback_add(btn, "clicked", _btn_free_clicked_cb, pd);
    _btn_icon_state_set(btn, 0);
    rec = _btn_min_size(btn);
    elm_table_pack(tb, rec, i, i, 1, 1);
    elm_table_pack(tb, btn, i++, 0, 1, 1);
+   evas_object_show(btn);
 
    pd->btn_usage = btn = elm_button_add(win);
    evas_object_size_hint_weight_set(btn, EXPAND, EXPAND);
    evas_object_size_hint_align_set(btn, FILL, FILL);
-   evas_object_show(btn);
    elm_object_text_set(btn, _("usage"));
    evas_object_smart_callback_add(btn, "clicked", _btn_usage_clicked_cb, pd);
    _btn_icon_state_set(btn, 0);
    elm_table_pack(tb, btn, i++, 0, 1, 1);
+   evas_object_show(btn);
 
    scr = elm_scroller_add(win);
    evas_object_size_hint_weight_set(scr, EXPAND, EXPAND);
    evas_object_size_hint_align_set(scr, FILL, FILL);
    elm_scroller_policy_set(scr,
                            ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
-   evas_object_show(scr);
-
    pd->glist = glist = elm_genlist_add(win);
    elm_object_focus_allow_set(glist, 0);
    evas_object_data_set(glist, "private", pd);
@@ -668,6 +666,7 @@ ui_disk_win_add(Evisum_Ui *ui)
    elm_genlist_homogeneous_set(glist, 1);
    evas_object_show(glist);
    elm_object_content_set(scr, glist);
+   evas_object_show(scr);
 
    pd->cache = evisum_ui_item_cache_new(glist, _item_create, 10);
 
diff --git a/src/bin/ui/ui_memory.c b/src/bin/ui/ui_memory.c
index a0127a9..80b082a 100644
--- a/src/bin/ui/ui_memory.c
+++ b/src/bin/ui/ui_memory.c
@@ -24,7 +24,6 @@ _label_mem(Evas_Object *parent, const char *text)
    evas_object_size_hint_weight_set(lb, 0, EXPAND);
    evas_object_size_hint_align_set(lb, FILL, FILL);
    elm_object_text_set(lb, eina_slstr_printf("%s",text));
-   evas_object_show(lb);
 
    return lb;
 }
@@ -36,7 +35,6 @@ _progress_add(Evas_Object *parent)
    evas_object_size_hint_align_set(pb, FILL, FILL);
    evas_object_size_hint_weight_set(pb, EXPAND, EXPAND);
    elm_progressbar_span_size_set(pb, 1.0);
-   evas_object_show(pb);
 
    return pb;
 }
@@ -256,26 +254,36 @@ ui_mem_win_add(Evisum_Ui *ui)
    pd->used = pb = _progress_add(tb);
    elm_table_pack(tb, lb, 1, 1, 1, 1);
    elm_table_pack(tb, pb, 2, 1, 1, 1);
+   evas_object_show(lb);
+   evas_object_show(pb);
 
    lb = _label_mem(tb, _("Cached"));
    pd->cached = pb = _progress_add(tb);
    elm_table_pack(tb, lb, 1, 2, 1, 1);
    elm_table_pack(tb, pb, 2, 2, 1, 1);
+   evas_object_show(lb);
+   evas_object_show(pb);
 
    lb = _label_mem(tb, _("Buffered"));
    pd->buffered = pb = _progress_add(tb);
    elm_table_pack(tb, lb, 1, 3, 1, 1);
    elm_table_pack(tb, pb, 2, 3, 1, 1);
+   evas_object_show(lb);
+   evas_object_show(pb);
 
    lb = _label_mem(tb, _("Shared"));
    pd->shared = pb = _progress_add(tb);
    elm_table_pack(tb, lb, 1, 4, 1, 1);
    elm_table_pack(tb, pb, 2, 4, 1, 1);
+   evas_object_show(lb);
+   evas_object_show(pb);
 
    lb = _label_mem(tb, _("Swapped"));
    pd->swap = pb = _progress_add(tb);
    elm_table_pack(tb, lb, 1, 5, 1, 1);
    elm_table_pack(tb, pb, 2, 5, 1, 1);
+   evas_object_show(lb);
+   evas_object_show(pb);
 
    for (i = 0; i < memory.video_count; i++)
      {
@@ -283,6 +291,8 @@ ui_mem_win_add(Evisum_Ui *ui)
         pd->video[i] = pb = _progress_add(tb);
         elm_table_pack(tb, lb, 1, 6 + i, 1, 1);
         elm_table_pack(tb, pb, 2, 6 + i, 1, 1);
+        evas_object_show(lb);
+        evas_object_show(pb);
      }
 
    if ((ui->mem.width > 0) && (ui->mem.height > 0))
diff --git a/src/bin/ui/ui_process_list.c b/src/bin/ui/ui_process_list.c
index e7d1d2f..6ec7e6a 100644
--- a/src/bin/ui/ui_process_list.c
+++ b/src/bin/ui/ui_process_list.c
@@ -177,6 +177,7 @@ _content_reset(Data *pd)
      }
    elm_table_pack(pd->tb_content, pd->glist, 0, 1, j, 1);
    elm_table_pack(pd->tb_content, pd->summary.fr, 0, 2, j, 1);
+   evas_object_show(pd->summary.fr);
    elm_genlist_clear(pd->glist);
    if (pd->cache)
      evisum_ui_item_cache_reset(pd->cache);
@@ -313,13 +314,12 @@ _item_column_add(Evas_Object *tb, const char *text, int 
col)
    evas_object_data_set(tb, text, lb);
    evas_object_size_hint_align_set(lb, FILL, FILL);
    evas_object_size_hint_weight_set(lb, EXPAND, EXPAND);
-   evas_object_show(lb);
-
    rec = evas_object_rectangle_add(evas_object_evas_get(tb));
    evas_object_data_set(lb, "rec", rec);
 
    elm_table_pack(tb, rec, col, 0, 1, 1);
    elm_table_pack(tb, lb, col, 0, 1, 1);
+   evas_object_show(lb);
 
    return lb;
 }
@@ -339,17 +339,16 @@ _item_create(Evas_Object *obj)
    elm_box_horizontal_set(hbx, 1);
    evas_object_size_hint_align_set(hbx, 0.0, FILL);
    evas_object_size_hint_weight_set(hbx, EXPAND, 0);
-   evas_object_show(hbx);
-
    ic = elm_icon_add(tb);
    evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
    evas_object_size_hint_align_set(ic, FILL, FILL);
    evas_object_size_hint_min_set(ic, ELM_SCALE_SIZE(16), ELM_SCALE_SIZE(16));
    evas_object_size_hint_max_set(ic, ELM_SCALE_SIZE(16), ELM_SCALE_SIZE(16));
-   evas_object_show(ic);
    evas_object_data_set(tb, "icon", ic);
    elm_box_pack_end(hbx, ic);
    elm_table_pack(tb, hbx, i, 0, 1, 1);
+   evas_object_show(hbx);
+   evas_object_show(ic);
 
    rec = evas_object_rectangle_add(evas_object_evas_get(tb));
    evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(4), 1);
@@ -363,8 +362,8 @@ _item_create(Evas_Object *obj)
    evas_object_size_hint_weight_set(lb, 0, EXPAND);
    evas_object_data_set(tb, "proc_cmd", lb);
    evas_object_data_set(lb, "hbx", hbx);
-   evas_object_show(lb);
    elm_box_pack_end(hbx, lb);
+   evas_object_show(lb);
 
    if (_field_enabled(PROC_FIELD_UID))
      {
@@ -1757,7 +1756,6 @@ _content_add(Data *pd, Evas_Object *parent)
    elm_object_style_set(fr, "pad_small");
    evas_object_size_hint_weight_set(fr, EXPAND, 0);
    evas_object_size_hint_align_set(fr, 0, FILL);
-   evas_object_show(fr);
 
    pd->summary.lb = lb = elm_label_add(fr);
    evas_object_size_hint_weight_set(lb, EXPAND, 0);
@@ -1847,7 +1845,6 @@ _search_add(Data *pd)
    elm_object_text_set(fr, _("Search"));
    evas_object_size_hint_weight_set(fr, 0, 0);
    evas_object_size_hint_align_set(fr, FILL, 0.5);
-   evas_object_show(fr);
 
    pd->search.entry = entry = elm_entry_add(fr);
    evas_object_size_hint_weight_set(entry, 0, 0);
@@ -1859,6 +1856,7 @@ _search_add(Data *pd)
    evas_object_show(entry);
    elm_object_content_set(fr, entry);
    elm_table_pack(tb, fr, 0, 0, 1, 1);
+   evas_object_show(fr);
 
    evas_object_event_callback_add(entry, EVAS_CALLBACK_KEY_DOWN,
                                   _search_key_down_cb, pd);
diff --git a/src/bin/ui/ui_sensors.c b/src/bin/ui/ui_sensors.c
index 2832e27..c342a26 100644
--- a/src/bin/ui/ui_sensors.c
+++ b/src/bin/ui/ui_sensors.c
@@ -288,7 +288,6 @@ ui_sensors_win_add(Evisum_Ui *ui)
         evas_object_size_hint_weight_set(fr, EXPAND, 0);
         evas_object_size_hint_align_set(fr, FILL, FILL);
         elm_object_text_set(fr, _("Power"));
-        evas_object_show(fr);
 
         bx = elm_box_add(win);
         evas_object_size_hint_weight_set(bx, EXPAND, EXPAND);
@@ -298,10 +297,11 @@ ui_sensors_win_add(Evisum_Ui *ui)
         tbl = elm_table_add(win);
         evas_object_size_hint_weight_set(tbl, EXPAND, EXPAND);
         evas_object_size_hint_align_set(tbl, FILL, FILL);
-        evas_object_show(tbl);
         elm_box_pack_end(bx, tbl);
+        evas_object_show(tbl);
         elm_object_content_set(fr, bx);
         elm_box_pack_end(content, fr);
+        evas_object_show(fr);
      }
    for (i = 0; i < power.battery_count; i++)
      {
@@ -320,9 +320,9 @@ ui_sensors_win_add(Evisum_Ui *ui)
         pb = elm_progressbar_add(win);
         evas_object_size_hint_weight_set(pb, EXPAND, 0);
         evas_object_size_hint_align_set(pb, FILL, FILL);
-        evas_object_show(pb);
         bat->pb = pb;
         elm_table_pack(tbl, pb, 1, j++, 1, 1);
+        evas_object_show(pb);
 
         pd->batteries = eina_list_append(pd->batteries, bat);
      }
@@ -333,7 +333,6 @@ ui_sensors_win_add(Evisum_Ui *ui)
    evas_object_size_hint_weight_set(pb, EXPAND, 0);
    evas_object_size_hint_align_set(pb, FILL, FILL);
    elm_progressbar_unit_format_set(pb, "%1.1f°C");
-   evas_object_show(pb);
 
    bx = elm_box_add(win);
    evas_object_size_hint_weight_set(bx, EXPAND, EXPAND);
@@ -347,19 +346,20 @@ ui_sensors_win_add(Evisum_Ui *ui)
    elm_genlist_multi_select_set(glist, 0);
    evas_object_smart_callback_add(glist, "selected", _glist_item_pressed_cb, 
pd);
    elm_object_focus_allow_set(glist, 0);
-   evas_object_show(glist);
 
    elm_box_pack_end(bx, glist);
+   evas_object_show(glist);
    elm_box_pack_end(bx, pb);
+   evas_object_show(pb);
 
    fr = elm_frame_add(win);
    elm_object_text_set(fr, _("Thermal"));
    evas_object_size_hint_weight_set(fr, EXPAND, EXPAND);
    evas_object_size_hint_align_set(fr, FILL, FILL);
-   evas_object_show(fr);
    elm_object_content_set(fr, bx);
 
    elm_box_pack_end(content, fr);
+   evas_object_show(fr);
 
    pd->itc = elm_genlist_item_class_new();
    pd->itc->item_style = "no_icon";

-- 


Reply via email to