okra pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=1547ac080cc4d56b89279dd61418139e34fffb0d

commit 1547ac080cc4d56b89279dd61418139e34fffb0d
Author: Stephen 'Okra' Houston <[email protected]>
Date:   Fri Jan 27 13:48:02 2017 -0600

    Enlightenment: Sysinfo Gadget - Base size on edje extends calcs.
---
 src/modules/sysinfo/cpumonitor/cpumonitor.c | 17 ++++++++++++++---
 src/modules/sysinfo/memusage/memusage.c     |  6 ++----
 src/modules/sysinfo/thermal/thermal.c       | 11 +++++++++++
 3 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/src/modules/sysinfo/cpumonitor/cpumonitor.c 
b/src/modules/sysinfo/cpumonitor/cpumonitor.c
index 4fb5432..ff96f5c 100644
--- a/src/modules/sysinfo/cpumonitor/cpumonitor.c
+++ b/src/modules/sysinfo/cpumonitor/cpumonitor.c
@@ -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);
diff --git a/src/modules/sysinfo/memusage/memusage.c 
b/src/modules/sysinfo/memusage/memusage.c
index 895cfbb..3451dfc 100644
--- a/src/modules/sysinfo/memusage/memusage.c
+++ b/src/modules/sysinfo/memusage/memusage.c
@@ -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);
 
diff --git a/src/modules/sysinfo/thermal/thermal.c 
b/src/modules/sysinfo/thermal/thermal.c
index c9ed655..f5749ed 100644
--- a/src/modules/sysinfo/thermal/thermal.c
+++ b/src/modules/sysinfo/thermal/thermal.c
@@ -183,6 +183,16 @@ _thermal_face_shutdown(Instance *inst)
 }
 
 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)
 {
    Instance *inst = 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);

-- 


Reply via email to