menus: on other windows...
This commit is contained in:
parent
4a0f35c7b1
commit
096134e82f
|
@ -173,7 +173,7 @@ _menu_memory_activity_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
{
|
||||
Ui *ui = data;
|
||||
|
||||
ui_win_memory_add(ui, ui->menu_parent);
|
||||
ui_win_memory_add(ui, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -182,7 +182,7 @@ _menu_disk_activity_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
{
|
||||
Ui *ui = data;
|
||||
|
||||
ui_win_disk_add(ui, ui->menu_parent);
|
||||
ui_win_disk_add(ui, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -191,7 +191,7 @@ _menu_sensors_activity_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
{
|
||||
Ui *ui = data;
|
||||
|
||||
ui_win_sensors_add(ui, ui->menu_parent);
|
||||
ui_win_sensors_add(ui, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -200,7 +200,7 @@ _menu_cpu_activity_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
{
|
||||
Ui *ui = data;
|
||||
|
||||
ui_win_cpu_add(ui, ui->menu_parent);
|
||||
ui_win_cpu_add(ui, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -298,7 +298,7 @@ _menu_focus_cb(void *data)
|
|||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
Evas_Object *
|
||||
evisum_ui_main_menu_create(Ui *ui, Evas_Object *parent, Evas_Object *obj)
|
||||
{
|
||||
Evas_Object *o, *bx, *bx2, *hbox, *sep, *fr, *sli;
|
||||
|
@ -326,7 +326,6 @@ evisum_ui_main_menu_create(Ui *ui, Evas_Object *parent, Evas_Object *obj)
|
|||
elm_object_content_set(fr, bx);
|
||||
elm_object_content_set(o, fr);
|
||||
|
||||
ui->menu_parent = parent;
|
||||
hbox = elm_box_add(o);
|
||||
elm_box_horizontal_set(hbox, 1);
|
||||
evas_object_size_hint_align_set(hbox, FILL, FILL);
|
||||
|
@ -371,6 +370,17 @@ evisum_ui_main_menu_create(Ui *ui, Evas_Object *parent, Evas_Object *obj)
|
|||
elm_box_pack_end(hbox, btn);
|
||||
elm_box_pack_end(bx, hbox);
|
||||
|
||||
|
||||
elm_ctxpopup_direction_priority_set(o, ELM_CTXPOPUP_DIRECTION_UP,
|
||||
ELM_CTXPOPUP_DIRECTION_DOWN,
|
||||
ELM_CTXPOPUP_DIRECTION_LEFT,
|
||||
ELM_CTXPOPUP_DIRECTION_RIGHT);
|
||||
evas_object_move(o, ox + (ow / 2), oy + oh);
|
||||
evas_object_show(o);
|
||||
ecore_timer_add(0.5, _menu_focus_cb, it_focus);
|
||||
|
||||
if (parent != ui->proc.win) return o;
|
||||
|
||||
fr = elm_frame_add(o);
|
||||
elm_object_text_set(fr, _("Options"));
|
||||
evas_object_size_hint_weight_set(fr, EXPAND, EXPAND);
|
||||
|
@ -430,14 +440,7 @@ evisum_ui_main_menu_create(Ui *ui, Evas_Object *parent, Evas_Object *obj)
|
|||
elm_object_content_set(fr, bx2);
|
||||
elm_box_pack_end(bx, fr);
|
||||
|
||||
elm_ctxpopup_direction_priority_set(o, ELM_CTXPOPUP_DIRECTION_UP,
|
||||
ELM_CTXPOPUP_DIRECTION_DOWN,
|
||||
ELM_CTXPOPUP_DIRECTION_LEFT,
|
||||
ELM_CTXPOPUP_DIRECTION_RIGHT);
|
||||
evas_object_move(o, ox + (ow / 2), oy + oh);
|
||||
evas_object_show(o);
|
||||
ui->menu = o;
|
||||
ecore_timer_add(0.5, _menu_focus_cb, it_focus);
|
||||
return o;
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -38,8 +38,6 @@ typedef struct Ui
|
|||
} proc;
|
||||
|
||||
Evas_Object *win_about;
|
||||
Evas_Object *menu;
|
||||
Evas_Object *menu_parent;
|
||||
|
||||
struct
|
||||
{
|
||||
|
@ -85,7 +83,7 @@ evisum_ui_init(void);
|
|||
void
|
||||
evisum_ui_shutdown(Ui *ui);
|
||||
|
||||
void
|
||||
Evas_Object *
|
||||
evisum_ui_main_menu_create(Ui *ui, Evas_Object *parent, Evas_Object *obj);
|
||||
|
||||
void
|
||||
|
|
|
@ -13,6 +13,8 @@ typedef struct {
|
|||
Ecore_Thread *thread;
|
||||
|
||||
Evas_Object *win;
|
||||
Evas_Object *menu;
|
||||
Evas_Object *btn_menu;
|
||||
Evas_Object *bg;
|
||||
Evas_Object *obj;
|
||||
|
||||
|
@ -432,6 +434,22 @@ _colors_fill(Evas_Object *colors)
|
|||
evas_object_image_data_update_add(colors, 0, 0, 101, 1);
|
||||
}
|
||||
|
||||
static void
|
||||
_win_mouse_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
Evas_Coord w, h;
|
||||
Evas_Event_Mouse_Move *ev;
|
||||
Animate *ad = data;
|
||||
|
||||
ev = event_info;
|
||||
evas_object_geometry_get(obj, NULL, NULL, &w, &h);
|
||||
|
||||
if (ev->cur.output.x >= (w - 128) && ev->cur.output.y <= 128)
|
||||
evas_object_show(ad->btn_menu);
|
||||
else
|
||||
evas_object_hide(ad->btn_menu);
|
||||
}
|
||||
|
||||
static void
|
||||
_win_key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
|
@ -448,11 +466,28 @@ _win_key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
|||
evas_object_del(ad->ui->cpu.win);
|
||||
}
|
||||
|
||||
static void
|
||||
_btn_menu_clicked_cb(void *data, Evas_Object *obj,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui *ui;
|
||||
Animate *ad = data;
|
||||
|
||||
ui = ad->ui;
|
||||
if (!ad->menu)
|
||||
ad->menu = evisum_ui_main_menu_create(ui, ui->cpu.win, obj);
|
||||
else
|
||||
{
|
||||
evas_object_del(ad->menu);
|
||||
ad->menu = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static Animate *
|
||||
_graph(Ui *ui, Evas_Object *parent)
|
||||
{
|
||||
Evas_Object *tbl, *tbl2, *box, *obj, *ic, *lb, *rec;
|
||||
Evas_Object *fr, *bx, *hbx, *colors, *check;
|
||||
Evas_Object *fr, *bx, *hbx, *colors, *check, *btn;
|
||||
int i, f;
|
||||
char buf[128];
|
||||
|
||||
|
@ -570,6 +605,17 @@ _graph(Ui *ui, Evas_Object *parent)
|
|||
ad->explainers = eina_list_append(ad->explainers, exp);
|
||||
}
|
||||
|
||||
ad->btn_menu = btn = elm_button_add(parent);
|
||||
ic = elm_icon_add(btn);
|
||||
elm_icon_standard_set(ic, evisum_icon_path_get("menu"));
|
||||
elm_object_part_content_set(btn, "icon", ic);
|
||||
evas_object_size_hint_min_set(ic, ELM_SCALE_SIZE(16), 1);
|
||||
evas_object_show(ic);
|
||||
evas_object_size_hint_weight_set(btn, 1.0, 1.0);
|
||||
evas_object_size_hint_align_set(btn, 1.0, 0);
|
||||
evas_object_smart_callback_add(btn, "clicked", _btn_menu_clicked_cb, ad);
|
||||
elm_table_pack(tbl, btn, 0, 0, 5, ad->cpu_count);
|
||||
|
||||
bx = elm_box_add(box);
|
||||
evas_object_size_hint_align_set(bx, FILL, FILL);
|
||||
evas_object_size_hint_weight_set(bx, EXPAND, EXPAND);
|
||||
|
@ -767,6 +813,7 @@ ui_win_cpu_add(Ui *ui, Evas_Object *parent)
|
|||
|
||||
ad = _graph(ui, box);
|
||||
evas_object_event_callback_add(scroller, EVAS_CALLBACK_KEY_DOWN, _win_key_down_cb, ad);
|
||||
evas_object_event_callback_add(scroller, EVAS_CALLBACK_MOUSE_MOVE, _win_mouse_move_cb, ad);
|
||||
elm_object_content_set(scroller, box);
|
||||
elm_object_content_set(win, scroller);
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@ typedef struct
|
|||
Ui *ui;
|
||||
|
||||
Evas_Object *win;
|
||||
Evas_Object *main_menu;
|
||||
Evas_Object *menu;
|
||||
|
||||
pid_t selected_pid;
|
||||
|
@ -508,8 +509,6 @@ _content_get(void *data, Evas_Object *obj, const char *source)
|
|||
if (!EINA_DBL_EQ(value, last))
|
||||
elm_progressbar_value_set(pb, proc->cpu_usage / 100.0);
|
||||
evas_object_show(pb);
|
||||
// Let the genlist resize but align the text.
|
||||
elm_table_align_set(it->obj, 0, 0.5);
|
||||
|
||||
return it->obj;
|
||||
}
|
||||
|
@ -1159,12 +1158,12 @@ static void
|
|||
_main_menu_dismissed_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *ev EINA_UNUSED)
|
||||
{
|
||||
Ui *ui = data;
|
||||
Ui_Data *pd = data;
|
||||
|
||||
elm_ctxpopup_dismiss(ui->menu);
|
||||
evas_object_del(ui->menu);
|
||||
elm_ctxpopup_dismiss(pd->main_menu);
|
||||
evas_object_del(pd->main_menu);
|
||||
|
||||
ui->menu = NULL;
|
||||
pd->main_menu = NULL;
|
||||
}
|
||||
|
||||
static Evas_Object *
|
||||
|
@ -1194,12 +1193,16 @@ static void
|
|||
_btn_menu_clicked_cb(void *data, Evas_Object *obj,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ui *ui = data;
|
||||
Ui_Data *pd;
|
||||
Ui *ui;
|
||||
|
||||
if (!ui->menu)
|
||||
evisum_ui_main_menu_create(ui, ui->proc.win, obj);
|
||||
pd = data;
|
||||
ui = pd->ui;
|
||||
|
||||
if (!pd->main_menu)
|
||||
pd->main_menu = evisum_ui_main_menu_create(ui, ui->proc.win, obj);
|
||||
else
|
||||
_main_menu_dismissed_cb(ui, NULL, NULL);
|
||||
_main_menu_dismissed_cb(pd, NULL, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1243,7 +1246,7 @@ _ui_content_system_add(Ui_Data *pd, Evas_Object *parent)
|
|||
elm_table_padding_set(tbl, PAD_W, 0);
|
||||
|
||||
pd->btn_menu = btn = _btn_create(tbl, "menu", _("Menu"),
|
||||
_btn_menu_clicked_cb, ui);
|
||||
_btn_menu_clicked_cb, pd);
|
||||
elm_table_pack(tbl, btn, i++, 1, 1, 1);
|
||||
|
||||
pd->btn_cmd = btn = elm_button_add(parent);
|
||||
|
@ -1558,8 +1561,8 @@ _win_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
|||
elm_genlist_realized_items_update(pd->genlist);
|
||||
|
||||
evas_object_lower(pd->entry_pop);
|
||||
if (ui->menu)
|
||||
_main_menu_dismissed_cb(ui, NULL, NULL);
|
||||
if (pd->main_menu)
|
||||
_main_menu_dismissed_cb(pd, NULL, NULL);
|
||||
|
||||
if (!pd->resize_timer)
|
||||
pd->resize_timer = ecore_timer_add(0.1, _resize_timer_cb, pd);
|
||||
|
|
|
@ -403,9 +403,13 @@ evisum_about_window_show(void *data)
|
|||
|
||||
ui = data;
|
||||
|
||||
if (ui->win_about) return;
|
||||
if (ui->win_about)
|
||||
{
|
||||
elm_win_raise(ui->win_about);
|
||||
return;
|
||||
}
|
||||
|
||||
ui->win_about = win = elm_win_add(ui->menu_parent, "evisum", ELM_WIN_DIALOG_BASIC);
|
||||
ui->win_about = win = elm_win_util_standard_add("evisum", "evisum");
|
||||
elm_win_autodel_set(win, EINA_TRUE);
|
||||
elm_win_title_set(win, _("About"));
|
||||
|
||||
|
|
Loading…
Reference in New Issue