netstar pushed a commit to branch master. http://git.enlightenment.org/apps/evisum.git/commit/?id=c5d0a64bae71d955180d673ed08d900158163bf7
commit c5d0a64bae71d955180d673ed08d900158163bf7 Author: Alastair Poole <nets...@gmail.com> Date: Sat Jan 16 10:34:28 2021 +0000 process_view: things --- src/bin/ui/ui_process_view.c | 159 +++++++++++++++++++------------------------ src/bin/ui/ui_util.c | 11 ++- src/bin/ui/ui_util.h | 2 +- 3 files changed, 76 insertions(+), 96 deletions(-) diff --git a/src/bin/ui/ui_process_view.c b/src/bin/ui/ui_process_view.c index e03c67e..0e6a697 100644 --- a/src/bin/ui/ui_process_view.c +++ b/src/bin/ui/ui_process_view.c @@ -7,17 +7,17 @@ typedef struct Evas_Object *win; Evas_Object *content; - Evas_Object *btn_main; - Evas_Object *btn_tree; - Evas_Object *btn_info; - Evas_Object *btn_thread; + Evas_Object *tab_main; + Evas_Object *tab_tree; + Evas_Object *tab_info; + Evas_Object *tab_thread; Evas_Object *main_view; Evas_Object *tree_view; Evas_Object *info_view; Evas_Object *thread_view; - Evas_Object *entry_info; + Evas_Object *current_view; Evas_Object *genlist_threads; Evas_Object *genlist_tree; @@ -44,11 +44,13 @@ typedef struct Evas_Object *btn_stop; Evas_Object *btn_kill; - Evas_Object *btn_thread_id; - Evas_Object *btn_thread_name; - Evas_Object *btn_thread_state; - Evas_Object *btn_thread_cpu_id; - Evas_Object *btn_thread_cpu_usage; + Evas_Object *tab_thread_id; + Evas_Object *tab_thread_name; + Evas_Object *tab_thread_state; + Evas_Object *tab_thread_cpu_id; + Evas_Object *tab_thread_cpu_usage; + + Evas_Object *entry_info; Eina_Hash *hash_cpu_times; @@ -216,39 +218,39 @@ _content_get(void *data, Evas_Object *obj, const char *source) exit(-1); } - evas_object_geometry_get(pd->btn_thread_id, NULL, NULL, &w, NULL); + evas_object_geometry_get(pd->tab_thread_id, NULL, NULL, &w, NULL); l = evas_object_data_get(it->obj, "tid"); elm_object_text_set(l, eina_slstr_printf("%d", th->tid)); evas_object_geometry_get(l, NULL, NULL, &ow, NULL); - if (ow > w) evas_object_size_hint_min_set(pd->btn_thread_id, w, 1); + if (ow > w) evas_object_size_hint_min_set(pd->tab_thread_id, w, 1); r = evas_object_data_get(l, "rect"); evas_object_size_hint_min_set(r, w, 1); - evas_object_geometry_get(pd->btn_thread_name, NULL, NULL, &w, NULL); + evas_object_geometry_get(pd->tab_thread_name, NULL, NULL, &w, NULL); l = evas_object_data_get(it->obj, "name"); elm_object_text_set(l, eina_slstr_printf("%s", th->name)); evas_object_geometry_get(l, NULL, NULL, &ow, NULL); - if (ow > w) evas_object_size_hint_min_set(pd->btn_thread_name, w, 1); + if (ow > w) evas_object_size_hint_min_set(pd->tab_thread_name, w, 1); r = evas_object_data_get(l, "rect"); evas_object_size_hint_min_set(r, w, 1); - evas_object_geometry_get(pd->btn_thread_state, NULL, NULL, &w, NULL); + evas_object_geometry_get(pd->tab_thread_state, NULL, NULL, &w, NULL); l = evas_object_data_get(it->obj, "state"); elm_object_text_set(l, eina_slstr_printf("%s", th->state)); evas_object_geometry_get(l, NULL, NULL, &ow, NULL); - if (ow > w) evas_object_size_hint_min_set(pd->btn_thread_state, w, 1); + if (ow > w) evas_object_size_hint_min_set(pd->tab_thread_state, w, 1); r = evas_object_data_get(l, "rect"); evas_object_size_hint_min_set(r, w, 1); - evas_object_geometry_get(pd->btn_thread_cpu_id, NULL, NULL, &w, NULL); + evas_object_geometry_get(pd->tab_thread_cpu_id, NULL, NULL, &w, NULL); l = evas_object_data_get(it->obj, "cpu_id"); elm_object_text_set(l, eina_slstr_printf("%d", th->cpu_id)); evas_object_geometry_get(l, NULL, NULL, &ow, NULL); - if (ow > w) evas_object_size_hint_min_set(pd->btn_thread_cpu_id, w, 1); + if (ow > w) evas_object_size_hint_min_set(pd->tab_thread_cpu_id, w, 1); r = evas_object_data_get(l, "rect"); evas_object_size_hint_min_set(r, w, 1); - evas_object_geometry_get(pd->btn_thread_cpu_usage, NULL, NULL, &w, NULL); + evas_object_geometry_get(pd->tab_thread_cpu_usage, NULL, NULL, &w, NULL); pb = evas_object_data_get(it->obj, "cpu_usage"); elm_progressbar_value_set(pb, th->cpu_usage / 100.0); evas_object_show(pb); @@ -555,8 +557,6 @@ _tree_view_update(void *data) } } - elm_genlist_realized_items_update(pd->genlist_tree); - child = eina_list_nth(children, 0); if (child) proc_info_free(child); @@ -882,11 +882,11 @@ _process_tab_add(Evas_Object *parent, Ui_Data *pd) hbx = elm_box_add(parent); evas_object_size_hint_weight_set(hbx, EXPAND, 0); - evas_object_size_hint_align_set(hbx, FILL, FILL); + evas_object_size_hint_align_set(hbx, 1.0, FILL); elm_box_horizontal_set(hbx, EINA_TRUE); elm_box_homogeneous_set(hbx, EINA_TRUE); evas_object_show(hbx); - elm_table_pack(tbl, hbx, 1, i, 2, 1); + elm_table_pack(tbl, hbx, 1, i, 1, 1); pad = elm_frame_add(parent); evas_object_size_hint_weight_set(pad, EXPAND, EXPAND); @@ -899,46 +899,22 @@ _process_tab_add(Evas_Object *parent, Ui_Data *pd) evas_object_show(pad); elm_box_pack_end(hbx, pad); - btn = elm_button_add(parent); - evas_object_size_hint_align_set(btn, FILL, FILL); - evas_object_size_hint_weight_set(btn, EXPAND, EXPAND); - elm_object_text_set(btn, _("Stop")); - evas_object_smart_callback_add(btn, "clicked", _btn_stop_clicked_cb, pd); + btn = evisum_ui_button_add(parent, NULL, _("stop"), "stop", + _btn_stop_clicked_cb, pd); evas_object_show(btn); pd->btn_stop = btn; - - ic = elm_icon_add(btn); - elm_icon_standard_set(ic, evisum_icon_path_get("stop")); - elm_object_part_content_set(btn, "icon", ic); - evas_object_show(ic); elm_box_pack_end(hbx, btn); - btn = elm_button_add(parent); - evas_object_size_hint_align_set(btn, FILL, FILL); - evas_object_size_hint_weight_set(btn, EXPAND, EXPAND); - elm_object_text_set(btn, _("Start")); - evas_object_smart_callback_add(btn, "clicked", _btn_start_clicked_cb, pd); + btn = evisum_ui_button_add(parent, NULL, _("start"), "start", + _btn_start_clicked_cb, pd); evas_object_show(btn); pd->btn_start = btn; - - ic = elm_icon_add(btn); - elm_icon_standard_set(ic, evisum_icon_path_get("start")); - elm_object_part_content_set(btn, "icon", ic); - evas_object_show(ic); elm_box_pack_end(hbx, btn); - btn = elm_button_add(parent); - evas_object_size_hint_align_set(btn, FILL, FILL); - evas_object_size_hint_weight_set(btn, EXPAND, EXPAND); - elm_object_text_set(btn, _("Kill")); - evas_object_smart_callback_add(btn, "clicked", _btn_kill_clicked_cb, pd); + btn = evisum_ui_button_add(parent, NULL, _("kill"), "kill", + _btn_kill_clicked_cb, pd); evas_object_show(btn); pd->btn_kill = btn; - - ic = elm_icon_add(btn); - elm_icon_standard_set(ic, evisum_icon_path_get("kill")); - elm_object_part_content_set(btn, "icon", ic); - evas_object_show(ic); elm_box_pack_end(hbx, btn); return fr; @@ -971,7 +947,7 @@ _btn_name_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, } static void -_btn_thread_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, +_tab_thread_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ui_Data *pd = data; @@ -1044,16 +1020,16 @@ _threads_tab_add(Evas_Object *parent, Ui_Data *pd) elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_show(hbx); - pd->btn_thread_id = btn = elm_button_add(hbx); + pd->tab_thread_id = btn = elm_button_add(hbx); evas_object_size_hint_weight_set(btn, EXPAND, EXPAND); evas_object_size_hint_align_set(btn, FILL, FILL); elm_object_text_set(btn, _("id")); _btn_icon_state_set(btn, pd->sort_reverse); evas_object_show(btn); - evas_object_smart_callback_add(btn, "clicked", _btn_thread_clicked_cb, pd); + evas_object_smart_callback_add(btn, "clicked", _tab_thread_clicked_cb, pd); elm_box_pack_end(hbx, btn); - pd->btn_thread_name = btn = elm_button_add(hbx); + pd->tab_thread_name = btn = elm_button_add(hbx); evas_object_size_hint_weight_set(btn, EXPAND, EXPAND); evas_object_size_hint_align_set(btn, FILL, FILL); elm_object_text_set(btn, _("name")); @@ -1062,7 +1038,7 @@ _threads_tab_add(Evas_Object *parent, Ui_Data *pd) evas_object_smart_callback_add(btn, "clicked", _btn_name_clicked_cb, pd); elm_box_pack_end(hbx, btn); - pd->btn_thread_state = btn = elm_button_add(hbx); + pd->tab_thread_state = btn = elm_button_add(hbx); evas_object_size_hint_weight_set(btn, EXPAND, EXPAND); evas_object_size_hint_align_set(btn, FILL, FILL); elm_object_text_set(btn, _("state")); @@ -1071,7 +1047,7 @@ _threads_tab_add(Evas_Object *parent, Ui_Data *pd) evas_object_smart_callback_add(btn, "clicked", _btn_state_clicked_cb, pd); elm_box_pack_end(hbx, btn); - pd->btn_thread_cpu_id = btn = elm_button_add(hbx); + pd->tab_thread_cpu_id = btn = elm_button_add(hbx); evas_object_size_hint_weight_set(btn, 0, EXPAND); evas_object_size_hint_align_set(btn, FILL, FILL); elm_object_text_set(btn, _("cpu id")); @@ -1080,7 +1056,7 @@ _threads_tab_add(Evas_Object *parent, Ui_Data *pd) evas_object_smart_callback_add(btn, "clicked", _btn_cpu_id_clicked_cb, pd); elm_box_pack_end(hbx, btn); - pd->btn_thread_cpu_usage = btn = elm_button_add(hbx); + pd->tab_thread_cpu_usage = btn = elm_button_add(hbx); evas_object_size_hint_weight_set(btn, EXPAND, EXPAND); evas_object_size_hint_align_set(btn, FILL, FILL); elm_object_text_set(btn, _("cpu %")); @@ -1174,33 +1150,43 @@ _info_tab_add(Evas_Object *parent, Ui_Data *pd) } static void -_hide_all(Ui_Data *pd, Evas_Object *btn) +_tab_change(Ui_Data *pd, Evas_Object *btn, Evas_Object *view) { - elm_object_disabled_set(pd->btn_main, EINA_FALSE); - elm_object_disabled_set(pd->btn_info, EINA_FALSE); - elm_object_disabled_set(pd->btn_thread, EINA_FALSE); - elm_object_disabled_set(pd->btn_tree, EINA_FALSE); + Elm_Transit *trans; + + trans = elm_transit_add(); + elm_transit_object_add(trans, pd->current_view); + elm_transit_object_add(trans, view); + elm_transit_duration_set(trans, 0.25); + elm_transit_effect_blend_add(trans); + + elm_object_disabled_set(pd->tab_main, EINA_FALSE); + elm_object_disabled_set(pd->tab_info, EINA_FALSE); + elm_object_disabled_set(pd->tab_thread, EINA_FALSE); + elm_object_disabled_set(pd->tab_tree, EINA_FALSE); elm_object_disabled_set(btn, EINA_TRUE); evas_object_hide(pd->main_view); evas_object_hide(pd->tree_view); evas_object_hide(pd->info_view); evas_object_hide(pd->thread_view); + pd->current_view = view; + evas_object_show(view); + elm_transit_go(trans); } static void -_btn_process_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, +_tab_process_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ui_Data *pd; pd = data; - _hide_all(pd, obj); - evas_object_show(pd->main_view); + _tab_change(pd, obj, pd->main_view); } static void -_btn_tree_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, +_tab_tree_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ui_Data *pd; @@ -1208,24 +1194,22 @@ _btn_tree_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, pd = data; _tree_view_update(pd); - _hide_all(pd, obj); - evas_object_show(pd->tree_view); + _tab_change(pd, obj, pd->tree_view); } static void -_btn_threads_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, +_tab_threads_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ui_Data *pd; pd = data; - _hide_all(pd, obj); - evas_object_show(pd->thread_view); + _tab_change(pd, obj, pd->thread_view); } static void -_btn_info_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, +_tab_info_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ui_Data *pd; @@ -1233,8 +1217,7 @@ _btn_info_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, pd = data; - _hide_all(pd, obj); - evas_object_show(pd->info_view); + _tab_change(pd, obj, pd->info_view); if (pd->info_init) return; @@ -1304,9 +1287,9 @@ _tabs_add(Evas_Object *parent, Ui_Data *pd) evas_object_size_hint_align_set(pad, FILL, FILL); evas_object_show(pad); - btn = evisum_ui_tab_add(parent, &pd->btn_main, _("Process"), - _btn_process_clicked_cb, pd); - elm_object_disabled_set(pd->btn_main, EINA_TRUE); + btn = evisum_ui_tab_add(parent, &pd->tab_main, _("Process"), + _tab_process_clicked_cb, pd); + elm_object_disabled_set(pd->tab_main, EINA_TRUE); elm_object_content_set(pad, btn); elm_box_pack_end(hbx, pad); @@ -1316,8 +1299,8 @@ _tabs_add(Evas_Object *parent, Ui_Data *pd) evas_object_size_hint_align_set(pad, FILL, FILL); evas_object_show(pad); - btn = evisum_ui_tab_add(parent, &pd->btn_tree, _("Children"), - _btn_tree_clicked_cb, pd); + btn = evisum_ui_tab_add(parent, &pd->tab_tree, _("Children"), + _tab_tree_clicked_cb, pd); elm_object_content_set(pad, btn); elm_box_pack_end(hbx, pad); @@ -1327,8 +1310,8 @@ _tabs_add(Evas_Object *parent, Ui_Data *pd) evas_object_size_hint_align_set(pad, FILL, FILL); evas_object_show(pad); - btn = evisum_ui_tab_add(parent, &pd->btn_thread, _("Threads"), - _btn_threads_clicked_cb, pd); + btn = evisum_ui_tab_add(parent, &pd->tab_thread, _("Threads"), + _tab_threads_clicked_cb, pd); elm_object_content_set(pad, btn); elm_box_pack_end(hbx, pad); @@ -1338,8 +1321,8 @@ _tabs_add(Evas_Object *parent, Ui_Data *pd) evas_object_size_hint_align_set(pad, FILL, FILL); evas_object_show(pad); - btn = evisum_ui_tab_add(parent, &pd->btn_info, _("Manual"), - _btn_info_clicked_cb, pd); + btn = evisum_ui_tab_add(parent, &pd->tab_info, _("Manual"), + _tab_info_clicked_cb, pd); elm_object_content_set(pad, btn); elm_box_pack_end(hbx, pad); @@ -1440,7 +1423,7 @@ ui_process_view_win_add(int pid) tabs = _tabs_add(win, pd); bx = elm_box_add(win); - evas_object_size_hint_weight_set(bx, EXPAND, EXPAND); + evas_object_size_hint_weight_set(bx, EXPAND, 0); evas_object_size_hint_align_set(bx, FILL, FILL); evas_object_show(bx); elm_box_pack_end(bx, tabs); @@ -1450,7 +1433,7 @@ ui_process_view_win_add(int pid) evas_object_size_hint_align_set(pd->content, FILL, 0.0); evas_object_show(pd->content); - pd->main_view = _process_tab_add(win, pd); + pd->current_view = pd->main_view = _process_tab_add(win, pd); pd->tree_view = _tree_tab_add(win, pd); pd->thread_view = _threads_tab_add(win, pd); pd->info_view = _info_tab_add(win, pd); diff --git a/src/bin/ui/ui_util.c b/src/bin/ui/ui_util.c index 91f41aa..90d71b7 100644 --- a/src/bin/ui/ui_util.c +++ b/src/bin/ui/ui_util.c @@ -52,8 +52,8 @@ evisum_ui_tab_add(Evas_Object *parent, Evas_Object **alias, const char *text, } Evas_Object * -evisum_ui_btn_add(Evas_Object *parent, Evas_Object **alias, const char *text, - const char *icon, Evas_Smart_Cb clicked_cb, void *data) +evisum_ui_button_add(Evas_Object *parent, Evas_Object **alias, const char *text, + const char *icon, Evas_Smart_Cb clicked_cb, void *data) { Evas_Object *tbl, *rect, *btn, *lb, *hbx, *ic; @@ -62,11 +62,8 @@ evisum_ui_btn_add(Evas_Object *parent, Evas_Object **alias, const char *text, evas_object_size_hint_align_set(tbl, FILL, FILL); rect = evas_object_rectangle_add(tbl); - evas_object_size_hint_weight_set(rect, EXPAND, EXPAND); - evas_object_size_hint_align_set(rect, FILL, FILL); - evas_object_size_hint_min_set(rect, - BTN_WIDTH * elm_config_scale_get(), - BTN_HEIGHT * elm_config_scale_get()); + evas_object_size_hint_min_set(rect, ELM_SCALE_SIZE(BTN_WIDTH), + ELM_SCALE_SIZE(BTN_HEIGHT)); btn = elm_button_add(parent); evas_object_size_hint_weight_set(btn, EXPAND, EXPAND); diff --git a/src/bin/ui/ui_util.h b/src/bin/ui/ui_util.h index 9929127..32003ed 100644 --- a/src/bin/ui/ui_util.h +++ b/src/bin/ui/ui_util.h @@ -9,7 +9,7 @@ #define TAB_BTN_WIDTH 74 #define TAB_BTN_HEIGHT 2 -#define BTN_WIDTH 54 +#define BTN_WIDTH 64 #define BTN_HEIGHT 1 #define UI_CHILD_WIN_WIDTH 360 --