packing: defer showing until after the pack.

This commit is contained in:
Alastair Poole 2021-03-12 10:47:34 +00:00
parent 6af0396856
commit 9f89171b62
4 changed files with 33 additions and 26 deletions

View File

@ -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);

View File

@ -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))

View File

@ -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);

View File

@ -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";