Add more
This commit is contained in:
parent
19e6c8e745
commit
53a0a5bf49
269
src/ui.c
269
src/ui.c
|
@ -18,6 +18,8 @@ static long _memory_used = 0;
|
|||
|
||||
static void _disk_view_update(Ui *ui);
|
||||
static void _extra_view_update(Ui *ui, results_t *results);
|
||||
static void _cpu_view_update(Ui *ui, results_t *results);
|
||||
static void _memory_view_update(Ui *ui, results_t *results);
|
||||
|
||||
static void
|
||||
_system_stats_thread(void *data, Ecore_Thread *thread)
|
||||
|
@ -51,9 +53,14 @@ _system_stats_thread_feedback_cb(void *data, Ecore_Thread *thread, void *msg)
|
|||
double cpu_usage = 0.0;
|
||||
int i;
|
||||
|
||||
if (ecore_thread_check(thread))
|
||||
return;
|
||||
|
||||
ui = data;
|
||||
results = msg;
|
||||
|
||||
_cpu_view_update(ui, results);
|
||||
_memory_view_update(ui, results);
|
||||
_disk_view_update(ui);
|
||||
_extra_view_update(ui, results);
|
||||
|
||||
|
@ -947,19 +954,17 @@ _progress_outgoing_format_free_cb(char *str)
|
|||
}
|
||||
|
||||
static void
|
||||
_extra_view_update(Ui *ui, results_t *results)
|
||||
_cpu_view_update(Ui *ui, results_t *results)
|
||||
{
|
||||
Evas_Object *box, *frame, *progress;
|
||||
int i;
|
||||
|
||||
if (!ui->extra_visible)
|
||||
if (!ui->cpu_visible)
|
||||
return;
|
||||
|
||||
_results = results;
|
||||
elm_box_clear(ui->cpu_activity);
|
||||
|
||||
elm_box_clear(ui->extra_activity);
|
||||
|
||||
box = elm_box_add(ui->disk_activity);
|
||||
box = elm_box_add(ui->content);
|
||||
evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_show(box);
|
||||
|
@ -988,6 +993,114 @@ _extra_view_update(Ui *ui, results_t *results)
|
|||
elm_box_pack_end(box, frame);
|
||||
}
|
||||
|
||||
elm_box_pack_end(ui->cpu_activity, box);
|
||||
}
|
||||
|
||||
static void
|
||||
_memory_view_update(Ui *ui, results_t *results)
|
||||
{
|
||||
Evas_Object *box, *frame, *progress;
|
||||
double ratio, value;
|
||||
|
||||
if (!ui->mem_visible)
|
||||
return;
|
||||
|
||||
elm_box_clear(ui->mem_activity);
|
||||
|
||||
box = elm_box_add(ui->content);
|
||||
evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_show(box);
|
||||
|
||||
frame = elm_frame_add(box);
|
||||
evas_object_size_hint_align_set(frame, EVAS_HINT_FILL, 0);
|
||||
evas_object_size_hint_weight_set(frame, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_object_text_set(frame, "Memory Used");
|
||||
evas_object_show(frame);
|
||||
progress = elm_progressbar_add(frame);
|
||||
evas_object_size_hint_align_set(progress, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_size_hint_weight_set(progress, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_progressbar_span_size_set(progress, 1.0);
|
||||
elm_progressbar_unit_format_set(progress, eina_slstr_printf("%lu M / %lu M", results->memory.used, results->memory.total));
|
||||
ratio = results->memory.total / 100.0;
|
||||
value = results->memory.used / ratio;
|
||||
elm_progressbar_value_set(progress, value / 100);
|
||||
evas_object_show(progress);
|
||||
elm_object_content_set(frame, progress);
|
||||
elm_box_pack_end(box, frame);
|
||||
|
||||
frame = elm_frame_add(box);
|
||||
evas_object_size_hint_align_set(frame, EVAS_HINT_FILL, 0);
|
||||
evas_object_size_hint_weight_set(frame, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_object_text_set(frame, "Memory Cached");
|
||||
evas_object_show(frame);
|
||||
progress = elm_progressbar_add(frame);
|
||||
evas_object_size_hint_align_set(progress, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_size_hint_weight_set(progress, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_progressbar_span_size_set(progress, 1.0);
|
||||
elm_progressbar_unit_format_set(progress, eina_slstr_printf("%lu M / %lu M", results->memory.cached, results->memory.total));
|
||||
ratio = results->memory.total / 100.0;
|
||||
value = results->memory.cached / ratio;
|
||||
elm_progressbar_value_set(progress, value / 100);
|
||||
evas_object_show(progress);
|
||||
elm_object_content_set(frame, progress);
|
||||
elm_box_pack_end(box, frame);
|
||||
|
||||
frame = elm_frame_add(box);
|
||||
evas_object_size_hint_align_set(frame, EVAS_HINT_FILL, 0);
|
||||
evas_object_size_hint_weight_set(frame, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_object_text_set(frame, "Memory Buffered");
|
||||
evas_object_show(frame);
|
||||
progress = elm_progressbar_add(frame);
|
||||
evas_object_size_hint_align_set(progress, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_size_hint_weight_set(progress, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_progressbar_span_size_set(progress, 1.0);
|
||||
elm_progressbar_unit_format_set(progress, eina_slstr_printf("%lu M / %lu M", results->memory.buffered, results->memory.total));
|
||||
ratio = results->memory.total / 100.0;
|
||||
value = results->memory.buffered / ratio;
|
||||
elm_progressbar_value_set(progress, value / 100);
|
||||
evas_object_show(progress);
|
||||
elm_object_content_set(frame, progress);
|
||||
elm_box_pack_end(box, frame);
|
||||
|
||||
frame = elm_frame_add(box);
|
||||
evas_object_size_hint_align_set(frame, EVAS_HINT_FILL, 0);
|
||||
evas_object_size_hint_weight_set(frame, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_object_text_set(frame, "Memory Shared");
|
||||
evas_object_show(frame);
|
||||
progress = elm_progressbar_add(frame);
|
||||
evas_object_size_hint_align_set(progress, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_size_hint_weight_set(progress, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_progressbar_span_size_set(progress, 1.0);
|
||||
elm_progressbar_unit_format_set(progress, eina_slstr_printf("%lu M / %lu M", results->memory.shared, results->memory.total));
|
||||
ratio = results->memory.total / 100.0;
|
||||
value = results->memory.shared / ratio;
|
||||
elm_progressbar_value_set(progress, value / 100);
|
||||
evas_object_show(progress);
|
||||
elm_object_content_set(frame, progress);
|
||||
elm_box_pack_end(box, frame);
|
||||
|
||||
elm_box_pack_end(ui->mem_activity, box);
|
||||
}
|
||||
|
||||
static void
|
||||
_extra_view_update(Ui *ui, results_t *results)
|
||||
{
|
||||
Evas_Object *box, *frame, *progress;
|
||||
int i;
|
||||
|
||||
if (!ui->extra_visible)
|
||||
return;
|
||||
|
||||
_results = results;
|
||||
|
||||
elm_box_clear(ui->extra_activity);
|
||||
|
||||
box = elm_box_add(ui->content);
|
||||
evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_show(box);
|
||||
|
||||
if (results->power.battery_count)
|
||||
{
|
||||
frame = elm_frame_add(box);
|
||||
|
@ -1059,7 +1172,6 @@ _extra_view_update(Ui *ui, results_t *results)
|
|||
elm_box_pack_end(ui->extra_activity, box);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
_ui_system_view_add(Ui *ui)
|
||||
{
|
||||
|
@ -1701,6 +1813,95 @@ _ui_extra_view_add(Ui *ui)
|
|||
elm_box_pack_end(box, frame);
|
||||
}
|
||||
|
||||
static void
|
||||
_ui_cpu_view_add(Ui *ui)
|
||||
{
|
||||
Evas_Object *parent, *box, *hbox, *frame, *scroller;
|
||||
|
||||
parent = ui->content;
|
||||
|
||||
ui->cpu_view = box = elm_box_add(parent);
|
||||
evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
elm_table_pack(ui->content, ui->cpu_view, 0, 1, 1, 1);
|
||||
evas_object_hide(box);
|
||||
|
||||
ui->cpu_activity = hbox = elm_box_add(box);
|
||||
evas_object_size_hint_weight_set(hbox, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_size_hint_align_set(hbox, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_show(hbox);
|
||||
|
||||
frame = elm_frame_add(box);
|
||||
evas_object_size_hint_weight_set(frame, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(frame, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
elm_object_text_set(frame, "CPU");
|
||||
evas_object_show(frame);
|
||||
|
||||
scroller = elm_scroller_add(parent);
|
||||
evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_ON);
|
||||
evas_object_show(scroller);
|
||||
elm_object_content_set(scroller, hbox);
|
||||
|
||||
elm_object_content_set(frame, scroller);
|
||||
elm_box_pack_end(box, frame);
|
||||
}
|
||||
|
||||
static void
|
||||
_ui_memory_view_add(Ui *ui)
|
||||
{
|
||||
Evas_Object *parent, *box, *hbox, *frame, *scroller;
|
||||
|
||||
parent = ui->content;
|
||||
|
||||
ui->mem_view = box = elm_box_add(parent);
|
||||
evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
elm_table_pack(ui->content, ui->mem_view, 0, 1, 1, 1);
|
||||
evas_object_hide(box);
|
||||
|
||||
ui->mem_activity = hbox = elm_box_add(box);
|
||||
evas_object_size_hint_weight_set(hbox, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_size_hint_align_set(hbox, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
evas_object_show(hbox);
|
||||
|
||||
frame = elm_frame_add(box);
|
||||
evas_object_size_hint_weight_set(frame, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(frame, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
elm_object_text_set(frame, "Memory");
|
||||
evas_object_show(frame);
|
||||
|
||||
scroller = elm_scroller_add(parent);
|
||||
evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_ON);
|
||||
evas_object_show(scroller);
|
||||
elm_object_content_set(scroller, hbox);
|
||||
|
||||
elm_object_content_set(frame, scroller);
|
||||
elm_box_pack_end(box, frame);
|
||||
}
|
||||
|
||||
static void
|
||||
_tab_memory_activity_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui *ui;
|
||||
|
||||
ui = data;
|
||||
|
||||
ui->mem_visible = EINA_TRUE;
|
||||
ui->extra_visible = EINA_FALSE;
|
||||
ui->disk_visible = EINA_FALSE;
|
||||
ui->cpu_visible = EINA_FALSE;
|
||||
|
||||
evas_object_show(ui->mem_view);
|
||||
evas_object_hide(ui->system_activity);
|
||||
evas_object_hide(ui->panel);
|
||||
evas_object_hide(ui->disk_view);
|
||||
evas_object_hide(ui->extra_view);
|
||||
evas_object_hide(ui->cpu_view);
|
||||
}
|
||||
|
||||
static void
|
||||
_tab_system_activity_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
|
@ -1711,11 +1912,15 @@ _tab_system_activity_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *
|
|||
|
||||
ui->extra_visible = EINA_FALSE;
|
||||
ui->disk_visible = EINA_FALSE;
|
||||
ui->cpu_visible = EINA_FALSE;
|
||||
ui->mem_visible = EINA_FALSE;
|
||||
|
||||
evas_object_show(ui->system_activity);
|
||||
evas_object_show(ui->panel);
|
||||
evas_object_hide(ui->disk_view);
|
||||
evas_object_hide(ui->extra_view);
|
||||
evas_object_hide(ui->cpu_view);
|
||||
evas_object_hide(ui->mem_view);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1727,11 +1932,15 @@ _tab_disk_activity_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *ev
|
|||
|
||||
ui->extra_visible = EINA_FALSE;
|
||||
ui->disk_visible = EINA_TRUE;
|
||||
ui->cpu_visible = EINA_FALSE;
|
||||
ui->mem_visible = EINA_FALSE;
|
||||
|
||||
evas_object_show(ui->disk_view);
|
||||
evas_object_hide(ui->system_activity);
|
||||
evas_object_hide(ui->panel);
|
||||
evas_object_hide(ui->extra_view);
|
||||
evas_object_hide(ui->cpu_view);
|
||||
evas_object_hide(ui->mem_view);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1743,11 +1952,35 @@ _tab_extra_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info
|
|||
|
||||
ui->extra_visible = EINA_TRUE;
|
||||
ui->disk_visible = EINA_FALSE;
|
||||
ui->cpu_visible = EINA_FALSE;
|
||||
ui->mem_visible = EINA_FALSE;
|
||||
|
||||
evas_object_show(ui->extra_view);
|
||||
evas_object_hide(ui->system_activity);
|
||||
evas_object_hide(ui->panel);
|
||||
evas_object_hide(ui->disk_view);
|
||||
evas_object_hide(ui->cpu_view);
|
||||
evas_object_hide(ui->mem_view);
|
||||
}
|
||||
|
||||
static void
|
||||
_tab_cpu_activity_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui *ui;
|
||||
|
||||
ui = data;
|
||||
|
||||
ui->mem_visible = EINA_FALSE;
|
||||
ui->extra_visible = EINA_FALSE;
|
||||
ui->disk_visible = EINA_FALSE;
|
||||
ui->cpu_visible = EINA_TRUE;
|
||||
|
||||
evas_object_show(ui->cpu_view);
|
||||
evas_object_hide(ui->extra_view);
|
||||
evas_object_hide(ui->system_activity);
|
||||
evas_object_hide(ui->panel);
|
||||
evas_object_hide(ui->disk_view);
|
||||
evas_object_hide(ui->mem_view);
|
||||
}
|
||||
|
||||
static Evas_Object *
|
||||
|
@ -1785,7 +2018,23 @@ _ui_tabs_add(Evas_Object *parent, Ui *ui)
|
|||
button = elm_button_add(hbox);
|
||||
evas_object_size_hint_weight_set(button, 1.0, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
elm_object_text_set(button, "Disk Usage");
|
||||
elm_object_text_set(button, "CPU");
|
||||
evas_object_show(button);
|
||||
elm_box_pack_end(hbox, button);
|
||||
evas_object_smart_callback_add(button, "clicked", _tab_cpu_activity_clicked_cb, ui);
|
||||
|
||||
button = elm_button_add(hbox);
|
||||
evas_object_size_hint_weight_set(button, 1.0, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
elm_object_text_set(button, "Memory");
|
||||
evas_object_show(button);
|
||||
elm_box_pack_end(hbox, button);
|
||||
evas_object_smart_callback_add(button, "clicked", _tab_memory_activity_clicked_cb, ui);
|
||||
|
||||
button = elm_button_add(hbox);
|
||||
evas_object_size_hint_weight_set(button, 1.0, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
elm_object_text_set(button, "Storage");
|
||||
evas_object_show(button);
|
||||
elm_box_pack_end(hbox, button);
|
||||
evas_object_smart_callback_add(button, "clicked", _tab_disk_activity_clicked_cb, ui);
|
||||
|
@ -1842,7 +2091,7 @@ ui_add(Evas_Object *parent)
|
|||
ui->selected_pid = -1;
|
||||
ui->program_pid = getpid();
|
||||
ui->panel_visible = EINA_TRUE;
|
||||
ui->disk_visible = ui->extra_visible = EINA_TRUE;
|
||||
ui->disk_visible = ui->cpu_visible = ui->mem_visible = ui->extra_visible = EINA_TRUE;
|
||||
|
||||
memset(ui->cpu_times, 0, PID_MAX * sizeof(int64_t));
|
||||
|
||||
|
@ -1860,6 +2109,8 @@ ui_add(Evas_Object *parent)
|
|||
/* Setup the user interfeace */
|
||||
_ui_system_view_add(ui);
|
||||
_ui_process_panel_add(ui);
|
||||
_ui_cpu_view_add(ui);
|
||||
_ui_memory_view_add(ui);
|
||||
_ui_disk_view_add(ui);
|
||||
_ui_extra_view_add(ui);
|
||||
|
||||
|
|
6
src/ui.h
6
src/ui.h
|
@ -50,12 +50,18 @@ typedef struct Ui
|
|||
|
||||
Evas_Object *disk_view;
|
||||
Evas_Object *disk_activity;
|
||||
Evas_Object *cpu_view;
|
||||
Evas_Object *cpu_activity;
|
||||
Evas_Object *mem_view;
|
||||
Evas_Object *mem_activity;
|
||||
Evas_Object *extra_view;
|
||||
Evas_Object *extra_activity;
|
||||
Evas_Object *system_activity;
|
||||
|
||||
Eina_Bool cpu_visible;
|
||||
Eina_Bool extra_visible;
|
||||
Eina_Bool disk_visible;
|
||||
Eina_Bool mem_visible;
|
||||
|
||||
Evas_Object *progress_cpu;
|
||||
Evas_Object *progress_mem;
|
||||
|
|
Loading…
Reference in New Issue