[elm_dayselector.c]
authorChunEon Park <chuneon.park@samsung.com>
Wed, 8 Sep 2010 09:13:55 +0000 (18:13 +0900)
committerChunEon Park <chuneon.park@samsung.com>
Wed, 8 Sep 2010 09:13:55 +0000 (18:13 +0900)
[elm_slidingdrawer.c]

src/lib/Elementary.h.in
src/lib/elm_dayselector.c
src/lib/elm_slidingdrawer.c

index fcb0335..e7e3fcb 100644 (file)
@@ -2631,11 +2631,6 @@ extern "C" {
         ELM_DAYSELECTOR_SAT 
      } Elm_DaySelector_Day;
 
-   typedef struct _Elm_Event_DaySelector_Day
-     {
-        Elm_DaySelector_Day day;
-     } Elm_Event_DaySelector_Day;      
-
    EAPI Evas_Object *elm_dayselector_add(Evas_Object *parent);
    EAPI Eina_Bool    elm_dayselector_check_state_get(Evas_Object *obj, Elm_DaySelector_Day day);
    EAPI void         elm_dayselector_check_state_set(Evas_Object *obj, Elm_DaySelector_Day day, Eina_Bool checked);
index 8191e58..73e49f7 100644 (file)
@@ -58,12 +58,12 @@ _changed_size_hints(void *data, Evas *e, Evas_Object *obj, void *event_info)
 static void 
 _check_clicked(void *data, Evas_Object *obj, void *event_info)
 {
-       static Elm_Event_DaySelector_Day day;
+       static Elm_DaySelector_Day day;
        Widget_Data* wd = (Widget_Data*) elm_widget_data_get(data);
        int idx;
        for(idx = 0; idx< 7; ++idx) {
                if(obj==wd->check[idx]) {
-                       day.day = idx;
+                       day = idx;
                        evas_object_smart_callback_call(data, "dayselector,changed", (void *) &day);
                        return ;
                }
index ad52e0d..05aea8f 100644 (file)
@@ -46,6 +46,16 @@ _parent_resize(void *data, Evas *e, Evas_Object *obj, void *event_info)
        _sizing_eval(data);\r
 }\r
 \r
+static void \r
+_drag_cb(void *data, Evas_Object *obj, const char *emission, const char *source)\r
+{\r
+       static Evas_Coord_Point pt;\r
+       Widget_Data *wd = elm_widget_data_get(data);\r
+       edje_object_part_drag_value_get(wd->base, "elm.dragable.handler", &pt.x, &pt.y);\r
+       evas_object_smart_callback_call(data, "slidingdrawer,drag", (void*) &pt);\r
+}\r
+\r
+\r
 static void\r
 _sizing_eval(Evas_Object *obj)\r
 {\r
@@ -59,6 +69,8 @@ _sizing_eval(Evas_Object *obj)
        evas_object_move(obj, x, y);\r
        evas_object_resize(obj, w, h);\r
 \r
+       part = edje_object_part_object_get(wd->base, "elm.dragable.handler");\r
+       \r
        if((wd->pos == ELM_SLIDINGDRAWER_TOP) || (wd->pos == ELM_SLIDINGDRAWER_BOTTOM)) {\r
                edje_object_size_min_get(part, NULL, &h);\r
        }else {\r
@@ -66,7 +78,6 @@ _sizing_eval(Evas_Object *obj)
        }\r
 \r
        evas_object_size_hint_min_set(wd->handler, w, h);\r
-\r
 }\r
 \r
 EAPI Evas_Object *\r
@@ -79,7 +90,7 @@ elm_slidingdrawer_content_unset(Evas_Object *obj)
        wd = elm_widget_data_get(obj);\r
 \r
        content = edje_object_part_swallow_get(wd->base, "elm.swallow.content");\r
-       if(!content) return;\r
+       if(!content) return NULL;\r
        edje_object_part_unswallow(wd->base, content);\r
        elm_widget_sub_object_del(obj, content);\r
        return content;\r
@@ -146,7 +157,6 @@ EAPI Evas_Object *
 elm_slidingdrawer_add(Evas_Object *parent)\r
 {\r
        Evas_Object *obj;\r
-       Evas_Object *handler;\r
        Evas *e;\r
        Widget_Data *wd;\r
 \r
@@ -173,9 +183,10 @@ elm_slidingdrawer_add(Evas_Object *parent)
        //base\r
        wd->base = edje_object_add(e);\r
        _elm_theme_object_set(obj, wd->base, "slidingdrawer", "bottom", "default");\r
+       edje_object_signal_callback_add(wd->base, "drag", "*", _drag_cb, obj);\r
        elm_widget_sub_object_add(obj, wd->base);\r
        elm_widget_resize_object_set(obj, wd->base);\r
-\r
+       \r
        //dragable_rect\r
        wd->dragable_rect = evas_object_rectangle_add(e);\r
        edje_object_part_swallow(wd->base, "elm.swallow.dragable_rect", wd->dragable_rect);\r
@@ -184,9 +195,9 @@ elm_slidingdrawer_add(Evas_Object *parent)
        wd->handler = evas_object_rectangle_add(e);\r
        evas_object_color_set(wd->handler, 0, 0, 0, 0);\r
        edje_object_part_swallow(wd->base, "elm.dragable.handler", wd->handler);\r
-\r
+       \r
        evas_object_event_callback_add(parent, EVAS_CALLBACK_RESIZE, _parent_resize, obj);\r
-\r
+               \r
        _sizing_eval(obj);\r
 \r
        return obj;\r