netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=586260d04a1400d9cd4c584c8c5e77676dd3ad37

commit 586260d04a1400d9cd4c584c8c5e77676dd3ad37
Author: Alastair Poole <nets...@gmail.com>
Date:   Fri Feb 5 10:06:10 2021 +0000

    procview: something
---
 src/bin/ui/ui_process_list.c | 71 ++++++++++++++++++++++++++++++--------------
 1 file changed, 49 insertions(+), 22 deletions(-)

diff --git a/src/bin/ui/ui_process_list.c b/src/bin/ui/ui_process_list.c
index 0329364..3c29017 100644
--- a/src/bin/ui/ui_process_list.c
+++ b/src/bin/ui/ui_process_list.c
@@ -1288,12 +1288,14 @@ typedef struct
 } List_Header;
 
 static Evas_Object
-*_btn_min_size(Ui_Data *pd, Evas_Object *parent)
+*_btn_min_size(Ui_Data *pd, Evas_Object *btn)
 {
-   Evas_Object *rec = evas_object_rectangle_add(evas_object_evas_get(parent));
+   Evas_Object *rec = evas_object_rectangle_add(evas_object_evas_get(btn));
    evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(64), 1);
 
    List_Header *hdr = malloc(sizeof(List_Header));
+   hdr->rec = rec;
+   hdr->btn = btn;
    pd->headers = eina_list_append(pd->headers, hdr);
 
    return rec;
@@ -1302,7 +1304,7 @@ static Evas_Object
 static Evas_Object *
 _ui_content_system_add(Ui_Data *pd, Evas_Object *parent)
 {
-   Evas_Object *tbl, *btn, *glist, *rec;
+   Evas_Object *tbl, *btn, *list, *rec;
    Ui *ui = pd->ui;
    int i = 0;
 
@@ -1342,8 +1344,6 @@ _ui_content_system_add(Ui_Data *pd, Evas_Object *parent)
    evas_object_size_hint_align_set(btn, FILL, FILL);
    elm_object_text_set(btn, _("user"));
    evas_object_show(btn);
-   rec = _btn_min_size(pd, parent);
-   elm_table_pack(tbl, rec, i, 1, 1, 1);
    elm_table_pack(tbl, btn, i++, 1, 1, 1);
    evas_object_smart_callback_add(btn, "clicked",
                                   _btn_uid_clicked_cb, pd);
@@ -1357,7 +1357,7 @@ _ui_content_system_add(Ui_Data *pd, Evas_Object *parent)
    evas_object_size_hint_align_set(btn, FILL, FILL);
    elm_object_text_set(btn, _("pid"));
    evas_object_show(btn);
-   rec = _btn_min_size(pd, parent);
+   rec = _btn_min_size(pd, btn);
    elm_table_pack(tbl, rec, i, 1, 1, 1);
    elm_table_pack(tbl, btn, i++, 1, 1, 1);
    evas_object_smart_callback_add(btn, "clicked",
@@ -1372,7 +1372,7 @@ _ui_content_system_add(Ui_Data *pd, Evas_Object *parent)
    evas_object_size_hint_align_set(btn, FILL, FILL);
    elm_object_text_set(btn, _("prio"));
    evas_object_show(btn);
-   rec = _btn_min_size(pd, parent);
+   rec = _btn_min_size(pd, btn);
    elm_table_pack(tbl, rec, i, 1, 1, 1);
    elm_table_pack(tbl, btn, i++, 1, 1, 1);
    evas_object_smart_callback_add(btn, "clicked",
@@ -1387,7 +1387,7 @@ _ui_content_system_add(Ui_Data *pd, Evas_Object *parent)
    evas_object_size_hint_align_set(btn, FILL, FILL);
    elm_object_text_set(btn, _("nice"));
    evas_object_show(btn);
-   rec = _btn_min_size(pd, parent);
+   rec = _btn_min_size(pd, btn);
    elm_table_pack(tbl, rec, i, 1, 1, 1);
    elm_table_pack(tbl, btn, i++, 1, 1, 1);
    evas_object_smart_callback_add(btn, "clicked",
@@ -1402,7 +1402,7 @@ _ui_content_system_add(Ui_Data *pd, Evas_Object *parent)
    evas_object_size_hint_align_set(btn, FILL, FILL);
    elm_object_text_set(btn, _("size"));
    evas_object_show(btn);
-   rec = _btn_min_size(pd, parent);
+   rec = _btn_min_size(pd, btn);
    elm_table_pack(tbl, rec, i, 1, 1, 1);
    elm_table_pack(tbl, btn, i++, 1, 1, 1);
    evas_object_smart_callback_add(btn, "clicked",
@@ -1417,7 +1417,7 @@ _ui_content_system_add(Ui_Data *pd, Evas_Object *parent)
    evas_object_size_hint_align_set(btn, FILL, FILL);
    elm_object_text_set(btn, _("res"));
    evas_object_show(btn);
-   rec = _btn_min_size(pd, parent);
+   rec = _btn_min_size(pd, btn);
    elm_table_pack(tbl, rec, i, 1, 1, 1);
    elm_table_pack(tbl, btn, i++, 1, 1, 1);
    evas_object_smart_callback_add(btn, "clicked",
@@ -1432,7 +1432,7 @@ _ui_content_system_add(Ui_Data *pd, Evas_Object *parent)
    evas_object_size_hint_align_set(btn, FILL, FILL);
    elm_object_text_set(btn, _("thr"));
    evas_object_show(btn);
-   rec = _btn_min_size(pd, parent);
+   rec = _btn_min_size(pd, btn);
    elm_table_pack(tbl, rec, i, 1, 1, 1);
    elm_table_pack(tbl, btn, i++, 1, 1, 1);
    evas_object_smart_callback_add(btn, "clicked",
@@ -1447,7 +1447,7 @@ _ui_content_system_add(Ui_Data *pd, Evas_Object *parent)
    evas_object_size_hint_align_set(btn, FILL, FILL);
    elm_object_text_set(btn, _("cpu"));
    evas_object_show(btn);
-   rec = _btn_min_size(pd, parent);
+   rec = _btn_min_size(pd, btn);
    elm_table_pack(tbl, rec, i, 1, 1, 1);
    elm_table_pack(tbl, btn, i++, 1, 1, 1);
    evas_object_smart_callback_add(btn, "clicked",
@@ -1462,7 +1462,7 @@ _ui_content_system_add(Ui_Data *pd, Evas_Object *parent)
    evas_object_size_hint_align_set(btn, FILL, FILL);
    elm_object_text_set(btn, _("time"));
    evas_object_show(btn);
-   rec = _btn_min_size(pd, parent);
+   rec = _btn_min_size(pd, btn);
    elm_table_pack(tbl, rec, i, 1, 1, 1);
    elm_table_pack(tbl, btn, i++, 1, 1, 1);
    evas_object_smart_callback_add(btn, "clicked",
@@ -1477,7 +1477,7 @@ _ui_content_system_add(Ui_Data *pd, Evas_Object *parent)
    evas_object_size_hint_align_set(btn, FILL, FILL);
    elm_object_text_set(btn, _("state"));
    evas_object_show(btn);
-   rec = _btn_min_size(pd, parent);
+   rec = _btn_min_size(pd, btn);
    elm_table_pack(tbl, rec, i, 1, 1, 1);
    elm_table_pack(tbl, btn, i++, 1, 1, 1);
    evas_object_smart_callback_add(btn, "clicked",
@@ -1492,24 +1492,24 @@ _ui_content_system_add(Ui_Data *pd, Evas_Object *parent)
    evas_object_size_hint_align_set(btn, FILL, FILL);
    elm_object_text_set(btn, _("cpu %"));
    evas_object_show(btn);
-   rec = _btn_min_size(pd, parent);
+   rec = _btn_min_size(pd, btn);
    elm_table_pack(tbl, rec, i, 1, 1, 1);
    elm_table_pack(tbl, btn, i++, 1, 1, 1);
    evas_object_smart_callback_add(btn, "clicked",
                                   _btn_cpu_usage_clicked_cb, pd);
 
-   pd->genlist = pd->genlist = glist = elm_genlist_add(parent);
-   elm_genlist_homogeneous_set(glist, 1);
+   pd->genlist = list = elm_genlist_add(parent);
+   elm_genlist_homogeneous_set(list, 1);
    elm_scroller_gravity_set(pd->genlist, 0.0, 1.0);
-   elm_object_focus_allow_set(glist, 1);
+   elm_object_focus_allow_set(list, 1);
    elm_scroller_policy_set(pd->genlist, ELM_SCROLLER_POLICY_OFF,
                            (ui->proc.show_scroller ?
                             ELM_SCROLLER_POLICY_AUTO :
                             ELM_SCROLLER_POLICY_OFF));
-   elm_genlist_multi_select_set(glist, 0);
-   evas_object_size_hint_weight_set(glist, EXPAND, EXPAND);
-   evas_object_size_hint_align_set(glist, FILL, FILL);
-   elm_table_pack(tbl, glist, 0, 2, i, 1);
+   elm_genlist_multi_select_set(list, 0);
+   evas_object_size_hint_weight_set(list, EXPAND, EXPAND);
+   evas_object_size_hint_align_set(list, FILL, FILL);
+   elm_table_pack(tbl, list, 0, 2, i, 1);
 
    pd->itc.item_style = "full";
    pd->itc.func.text_get = NULL;
@@ -1694,6 +1694,33 @@ _resize_cb(void *data)
    pd->skip_wait = 0;
    pd->resize_timer = NULL;
 
+   int ww, w;
+   ww = pd->ui->proc.width;
+   evas_object_geometry_get(pd->btn_menu, NULL, NULL, &w, NULL);
+   ww -= w;
+   evas_object_geometry_get(pd->btn_cmd, NULL, NULL, &w, NULL);
+   ww -= w;
+   evas_object_geometry_get(pd->btn_uid, NULL, NULL, &w, NULL);
+   ww -= w;
+   w = ww / eina_list_count(pd->headers);
+   Eina_List *l; List_Header *h;
+
+   int expand = w > 72 ? 1 : 0;
+   EINA_LIST_FOREACH(pd->headers, l, h)
+     {
+        if (expand)
+          {
+             evas_object_size_hint_min_set(h->rec, -1, 1);
+             evas_object_size_hint_max_set(h->rec, -1, -1);
+             evas_object_size_hint_weight_set(h->rec, EXPAND, 0);
+          }
+        else
+          {
+             evas_object_size_hint_weight_set(h->rec, EXPAND, 0);
+             evas_object_size_hint_min_set(h->rec, 72, 1);
+             evas_object_size_hint_max_set(h->rec, 72, -1);
+          }
+     }
    return 0;
 }
 

-- 


Reply via email to