Enlightenment: Sysinfo Gadget - Base size on edje extends calcs.

This commit is contained in:
Stephen 'Okra' Houston 2017-01-27 13:48:02 -06:00
parent 1861f474e4
commit 1547ac080c
3 changed files with 27 additions and 7 deletions

View File

@ -113,10 +113,19 @@ _cpumonitor_mouse_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA
static void
_cpumonitor_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_data EINA_UNUSED)
{
Evas_Coord w, h;
Evas_Coord w = 1, h = 1;
Instance *inst = data;
CPU_Core *first_core;
int num_cores = eina_list_count(inst->cfg->cpumonitor.cores);
evas_object_geometry_get(inst->cfg->cpumonitor.o_gadget, 0, 0, &w, &h);
if (!num_cores || !inst->o_main) return;
first_core = eina_list_nth(inst->cfg->cpumonitor.cores, 0);
edje_object_parts_extends_calc(elm_layout_edje_get(first_core->layout), 0, 0, &w, &h);
if (e_gadget_site_orient_get(e_gadget_site_get(inst->o_main)) == E_GADGET_SITE_ORIENT_VERTICAL)
h *= num_cores;
else
w *= num_cores;
evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, w, h);
}
@ -156,6 +165,7 @@ _cpumonitor_add_layout(Instance *inst)
int orient = e_gadget_site_orient_get(e_gadget_site_get(inst->o_main));
layout = elm_layout_add(inst->cfg->cpumonitor.o_gadget);
edje_object_update_hints_set(elm_layout_edje_get(layout), EINA_TRUE);
if (orient == E_GADGET_SITE_ORIENT_VERTICAL)
e_theme_edje_object_set(layout, "base/theme/modules/cpumonitor",
"e/modules/cpumonitor/main_vert");
@ -289,8 +299,9 @@ Evas_Object *
sysinfo_cpumonitor_create(Evas_Object *parent, Instance *inst)
{
inst->cfg->cpumonitor.o_gadget = elm_box_add(parent);
elm_box_horizontal_set(inst->cfg->cpumonitor.o_gadget, EINA_TRUE);
elm_box_padding_set(inst->cfg->cpumonitor.o_gadget, 0, 0);
elm_box_homogeneous_set(inst->cfg->cpumonitor.o_gadget, EINA_TRUE);
elm_box_horizontal_set(inst->cfg->cpumonitor.o_gadget, EINA_TRUE);
E_EXPAND(inst->cfg->cpumonitor.o_gadget);
E_FILL(inst->cfg->cpumonitor.o_gadget);
evas_object_event_callback_add(inst->cfg->cpumonitor.o_gadget, EVAS_CALLBACK_MOUSE_DOWN, _cpumonitor_mouse_down_cb, inst);

View File

@ -116,9 +116,8 @@ _memusage_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSE
Evas_Coord w, h;
Instance *inst = data;
evas_object_geometry_get(inst->cfg->memusage.o_gadget, 0, 0, &w, &h);
if (inst->cfg->esm == E_SYSINFO_MODULE_MEMUSAGE)
evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, w, h);
edje_object_parts_extends_calc(elm_layout_edje_get(inst->cfg->memusage.o_gadget), 0, 0, &w, &h);
evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, w, h);
}
static void
@ -253,7 +252,6 @@ sysinfo_memusage_create(Evas_Object *parent, Instance *inst)
E_EXPAND(inst->cfg->memusage.o_gadget);
E_FILL(inst->cfg->memusage.o_gadget);
evas_object_event_callback_add(inst->cfg->memusage.o_gadget, EVAS_CALLBACK_MOUSE_DOWN, _memusage_mouse_down_cb, inst);
evas_object_event_callback_add(inst->cfg->memusage.o_gadget, EVAS_CALLBACK_RESIZE, _memusage_resize_cb, inst);
evas_object_show(inst->cfg->memusage.o_gadget);
_memusage_config_updated(inst);

View File

@ -182,6 +182,16 @@ _thermal_face_shutdown(Instance *inst)
#endif
}
static void
_thermal_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_data EINA_UNUSED)
{
Evas_Coord w, h;
Instance *inst = data;
edje_object_parts_extends_calc(elm_layout_edje_get(inst->cfg->thermal.o_gadget), 0, 0, &w, &h);
evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, w, h);
}
static void
_thermal_removed_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_data)
{
@ -227,6 +237,7 @@ _thermal_created_cb(void *data, Evas_Object *obj, void *event_data EINA_UNUSED)
E_EXPAND(inst->cfg->thermal.o_gadget);
E_FILL(inst->cfg->thermal.o_gadget);
elm_box_pack_end(inst->o_main, inst->cfg->thermal.o_gadget);
evas_object_event_callback_add(inst->cfg->thermal.o_gadget, EVAS_CALLBACK_RESIZE, _thermal_resize_cb, inst);
evas_object_show(inst->cfg->thermal.o_gadget);
evas_object_smart_callback_del_full(obj, "gadget_created", _thermal_created_cb, data);
_thermal_config_updated(inst);