raster pushed a commit to branch master.
commit aecee4cb2eb726db9989a92fdadfa1db9967f8af
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date: Mon Jul 15 19:45:41 2013 +0900
elm datetime -> set child objects to disabled if main obj is
---
src/bin/test_datetime.c | 1 +
src/lib/elm_datetime.c | 21 ++++++++++++++++++++-
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/src/bin/test_datetime.c b/src/bin/test_datetime.c
index ffc8608..7133360 100644
--- a/src/bin/test_datetime.c
+++ b/src/bin/test_datetime.c
@@ -45,6 +45,7 @@ test_datetime(void *data __UNUSED__, Evas_Object *obj
__UNUSED__, void *event_in
elm_datetime_field_visible_set(datetime, ELM_DATETIME_MONTH, EINA_FALSE);
elm_datetime_field_visible_set(datetime, ELM_DATETIME_DATE, EINA_FALSE);
elm_box_pack_end(bx, datetime);
+ elm_object_disabled_set(datetime, EINA_TRUE);
evas_object_show(datetime);
datetime = elm_datetime_add(bx);
diff --git a/src/lib/elm_datetime.c b/src/lib/elm_datetime.c
index b7112e2..f5cbd86 100644
--- a/src/lib/elm_datetime.c
+++ b/src/lib/elm_datetime.c
@@ -472,6 +472,24 @@ _elm_datetime_smart_on_focus(Eo *obj, void *_pd, va_list
*list)
}
static void
+_elm_datetime_smart_disable(Eo *obj, void *_pd, va_list *list)
+{
+ Eina_Bool *ret = va_arg(*list, Eina_Bool *);
+ Datetime_Field *field;
+ unsigned int idx = 0;
+ if (ret) *ret = EINA_FALSE;
+ Elm_Datetime_Smart_Data *sd = _pd;
+
+ eo_do_super(obj, MY_CLASS, elm_wdg_disable(ret));
+ for (idx = 0; idx < ELM_DATETIME_TYPE_COUNT; idx++)
+ {
+ field = sd->field_list + idx;
+ elm_object_disabled_set(field->item_obj, elm_object_disabled_get(obj));
+ }
+ if (ret) *ret = EINA_TRUE;
+}
+
+static void
_elm_datetime_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
{
Datetime_Field *field;
@@ -1228,7 +1246,8 @@ _class_constructor(Eo_Class *klass)
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_NEXT),
_elm_datetime_smart_focus_next),
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_THEME),
_elm_datetime_smart_theme),
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ON_FOCUS),
_elm_datetime_smart_on_focus),
-
+ EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_DISABLE),
_elm_datetime_smart_disable),
+
EO_OP_FUNC(ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIZING_EVAL),
_elm_datetime_smart_sizing_eval),
EO_OP_FUNC(ELM_OBJ_DATETIME_ID(ELM_OBJ_DATETIME_SUB_ID_FORMAT_GET),
_format_get),
--
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk