From: Enlightenment S. <no-...@en...> - 2010-09-14 23:42:38
|
Log: spot check of theme change... panes not working right. generally code was poor. fixed. Author: raster Date: 2010-09-14 16:42:31 -0700 (Tue, 14 Sep 2010) New Revision: 52276 Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in trunk/TMP/st/elementary/src/lib/elm_panes.c Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in =================================================================== --- trunk/TMP/st/elementary/src/lib/Elementary.h.in 2010-09-14 23:02:45 UTC (rev 52275) +++ trunk/TMP/st/elementary/src/lib/Elementary.h.in 2010-09-14 23:42:31 UTC (rev 52276) @@ -1588,14 +1588,13 @@ EAPI Evas_Object *elm_panes_add(Evas_Object *parent); EAPI void elm_panes_content_left_set(Evas_Object *obj, Evas_Object *content); EAPI void elm_panes_content_right_set(Evas_Object *obj, Evas_Object *content); - EAPI Evas_Object *elm_panes_content_left_get(const Evas_Object *obj); - EAPI Evas_Object *elm_panes_content_right_get(const Evas_Object *obj); - EAPI double elm_panes_content_left_size_get(const Evas_Object *obj); - EAPI void elm_panes_content_left_size_set(Evas_Object *obj, double size); - EAPI void elm_panes_horizontal_set(Evas_Object *obj, Eina_Bool horizontal); - EAPI Eina_Bool elm_panes_horizontal_is(const Evas_Object *obj); + EAPI Evas_Object *elm_panes_content_left_get(const Evas_Object *obj); + EAPI Evas_Object *elm_panes_content_right_get(const Evas_Object *obj); + EAPI double elm_panes_content_left_size_get(const Evas_Object *obj); + EAPI void elm_panes_content_left_size_set(Evas_Object *obj, double size); + EAPI void elm_panes_horizontal_set(Evas_Object *obj, Eina_Bool horizontal); + EAPI Eina_Bool elm_panes_horizontal_get(const Evas_Object *obj); - typedef enum _Elm_Flip_Mode { ELM_FLIP_ROTATE_Y_CENTER_AXIS, Modified: trunk/TMP/st/elementary/src/lib/elm_panes.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_panes.c 2010-09-14 23:02:45 UTC (rev 52275) +++ trunk/TMP/st/elementary/src/lib/elm_panes.c 2010-09-14 23:42:31 UTC (rev 52276) @@ -48,21 +48,25 @@ { Widget_Data *wd = elm_widget_data_get(obj); const char *style = elm_widget_style_get(obj); + double size; if (!wd) return; + size = elm_panes_content_left_size_get(obj); + if (wd->horizontal) _elm_theme_object_set(obj, wd->panes, "panes", "horizontal", style); else _elm_theme_object_set(obj, wd->panes, "panes", "vertical", style); if (wd->contents.left) - edje_object_part_swallow(wd->panes, "elm.swallow.left", wd->contents.right); + edje_object_part_swallow(wd->panes, "elm.swallow.left", wd->contents.left); if (wd->contents.right) edje_object_part_swallow(wd->panes, "elm.swallow.right", wd->contents.right); edje_object_scale_set(wd->panes, elm_widget_scale_get(obj) * _elm_config->scale); _sizing_eval(obj); + elm_panes_content_left_size_set(obj, size); } static void @@ -183,16 +187,17 @@ return obj; } -EAPI void elm_panes_content_left_set(Evas_Object *obj, Evas_Object *content) +EAPI void +elm_panes_content_left_set(Evas_Object *obj, Evas_Object *content) { + ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); - + // FIXME: should we delete or orphan? if (wd->contents.left) { evas_object_del(wd->contents.left); wd->contents.left = NULL; } - if (content) { wd->contents.left = content; @@ -201,17 +206,17 @@ } } - -EAPI void elm_panes_content_right_set(Evas_Object *obj, Evas_Object *content) +EAPI void +elm_panes_content_right_set(Evas_Object *obj, Evas_Object *content) { + ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); - + // FIXME: should we delete or orphan? if (wd->contents.right) { evas_object_del(wd->contents.right); wd->contents.right = NULL; } - if (content) { wd->contents.right = content; @@ -220,17 +225,18 @@ } } - -EAPI Evas_Object -*elm_panes_content_left_get(const Evas_Object *obj) +EAPI Evas_Object * +elm_panes_content_left_get(const Evas_Object *obj) { + ELM_CHECK_WIDTYPE(obj, widtype) NULL; Widget_Data *wd = elm_widget_data_get(obj); return wd->contents.left; } -EAPI Evas_Object -*elm_panes_content_right_get(const Evas_Object *obj) +EAPI Evas_Object * +elm_panes_content_right_get(const Evas_Object *obj) { + ELM_CHECK_WIDTYPE(obj, widtype) NULL; Widget_Data *wd = elm_widget_data_get(obj); return wd->contents.right; } @@ -238,22 +244,23 @@ EAPI double elm_panes_content_left_size_get(const Evas_Object *obj) { + ELM_CHECK_WIDTYPE(obj, widtype) 0.0; Widget_Data *wd = elm_widget_data_get(obj); double w, h; edje_object_part_drag_value_get(wd->panes, "elm.bar", &w, &h); - - if (wd->horizontal) - return h; - else - return w; + if (wd->horizontal) return h; + else return w; } EAPI void elm_panes_content_left_size_set(Evas_Object *obj, double size) { + ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); + if (size < 0.0) size = 0.0; + else if (size > 1.0) size = 1.0; if (wd->horizontal) edje_object_part_drag_value_set(wd->panes, "elm.bar", 0.0, size); else @@ -263,6 +270,7 @@ EAPI void elm_panes_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) { + ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); wd->horizontal = horizontal; @@ -271,9 +279,9 @@ } EAPI Eina_Bool -elm_panes_horizontal_is(const Evas_Object *obj) +elm_panes_horizontal_get(const Evas_Object *obj) { + ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE; Widget_Data *wd = elm_widget_data_get(obj); - return wd->horizontal; } |