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

Reply via email to