From d80d7154d8f0385f4e5c3171e811679685351549 Mon Sep 17 00:00:00 2001 From: Alastair Poole Date: Thu, 14 May 2020 17:08:07 +0100 Subject: [PATCH] ui_process: make "tabs" functional. --- src/bin/ui/ui_process.c | 46 +++++++++++++++++++++++++++-------------- src/bin/ui/ui_process.h | 4 ++++ 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/src/bin/ui/ui_process.c b/src/bin/ui/ui_process.c index 1392c1d..0feb56a 100644 --- a/src/bin/ui/ui_process.c +++ b/src/bin/ui/ui_process.c @@ -378,17 +378,24 @@ _process_tab_add(Evas_Object *parent, Ui_Process *ui) evas_object_size_hint_align_set(hbox, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_horizontal_set(hbox, EINA_TRUE); evas_object_show(hbox); - elm_table_pack(table, hbox, 1, i, 1, 1); + elm_table_pack(table, hbox, 1, i, 2, 1); border = elm_frame_add(parent); - evas_object_size_hint_weight_set(border, EVAS_HINT_EXPAND, 0); + evas_object_size_hint_weight_set(border, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(border, EVAS_HINT_FILL, 0.5); + elm_object_style_set(border, "pad_small"); + evas_object_show(border); + elm_box_pack_end(hbox, border); + + border = elm_frame_add(parent); + evas_object_size_hint_weight_set(border, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(border, EVAS_HINT_FILL, 0.5); elm_object_style_set(border, "pad_small"); evas_object_show(border); button = elm_button_add(parent); - evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(button, EVAS_HINT_FILL, 0.5); + evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, _("Stop")); evas_object_show(button); evas_object_smart_callback_add(button, "clicked", _btn_stop_clicked_cb, ui); @@ -402,8 +409,8 @@ _process_tab_add(Evas_Object *parent, Ui_Process *ui) evas_object_show(border); button = elm_button_add(parent); - evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(button, EVAS_HINT_FILL, 0.5); + evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, _("Start")); elm_object_content_set(border, button); evas_object_show(button); @@ -411,14 +418,14 @@ _process_tab_add(Evas_Object *parent, Ui_Process *ui) evas_object_smart_callback_add(button, "clicked", _btn_start_clicked_cb, ui); border = elm_frame_add(parent); - evas_object_size_hint_weight_set(border, EVAS_HINT_EXPAND, 0); + evas_object_size_hint_weight_set(border, EVAS_HINT_EXPAND, 0.1); evas_object_size_hint_align_set(border, EVAS_HINT_FILL, 0.5); elm_object_style_set(border, "pad_small"); evas_object_show(border); button = elm_button_add(parent); - evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(button, EVAS_HINT_FILL, 0.5); + evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(button, _("Kill")); elm_box_pack_end(hbox, border); evas_object_show(button); @@ -494,8 +501,12 @@ _info_tab_add(Evas_Object *parent, const char *cmd) } static void -_hide_all(Ui_Process *ui) +_hide_all(Ui_Process *ui, Evas_Object *btn) { + elm_object_disabled_set(ui->btn_main, EINA_FALSE); + elm_object_disabled_set(ui->btn_info, EINA_FALSE); + elm_object_disabled_set(ui->btn_thread, EINA_FALSE); + elm_object_disabled_set(btn, EINA_TRUE); evas_object_hide(ui->main_view); evas_object_hide(ui->info_view); evas_object_hide(ui->thread_view); @@ -508,7 +519,7 @@ _btn_process_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_in ui = data; - _hide_all(ui); + _hide_all(ui, obj); evas_object_show(ui->main_view); } @@ -519,7 +530,7 @@ _btn_threads_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_in ui = data; - _hide_all(ui); + _hide_all(ui, obj); evas_object_show(ui->thread_view); } @@ -530,7 +541,7 @@ _btn_info_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info ui = data; - _hide_all(ui); + _hide_all(ui, obj); evas_object_show(ui->info_view); } @@ -545,26 +556,29 @@ _tabs_add(Evas_Object *parent, Ui_Process *ui) elm_box_horizontal_set(hbox, EINA_TRUE); evas_object_show(hbox); - btn = elm_button_add(parent); + ui->btn_main = btn = elm_button_add(parent); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(btn, _("Process")); + elm_object_disabled_set(btn, EINA_TRUE); evas_object_show(btn); elm_box_pack_end(hbox, btn); evas_object_smart_callback_add(btn, "clicked", _btn_process_clicked_cb, ui); - btn = elm_button_add(parent); + ui->btn_thread = btn = elm_button_add(parent); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(btn, _("Threads")); + elm_object_disabled_set(btn, EINA_FALSE); evas_object_show(btn); elm_box_pack_end(hbox, btn); evas_object_smart_callback_add(btn, "clicked", _btn_threads_clicked_cb, ui); - btn = elm_button_add(parent); + ui->btn_info = btn = elm_button_add(parent); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(btn, _("Information")); + elm_object_disabled_set(btn, EINA_FALSE); evas_object_show(btn); elm_box_pack_end(hbox, btn); evas_object_smart_callback_add(btn, "clicked", _btn_info_clicked_cb, ui); diff --git a/src/bin/ui/ui_process.h b/src/bin/ui/ui_process.h index 10f5b66..65b0152 100644 --- a/src/bin/ui/ui_process.h +++ b/src/bin/ui/ui_process.h @@ -11,6 +11,10 @@ typedef struct _Ui_Process { Evas_Object *info_view; Evas_Object *thread_view; + Evas_Object *btn_main; + Evas_Object *btn_info; + Evas_Object *btn_thread; + Evas_Object *entry_pid_cmd; Evas_Object *entry_pid_cmd_args; Evas_Object *entry_pid_user;