Merge branch 'master' of 165.213.180.234:/git/slp/pkgs/elementary
authorWooHyun Jung <wh0705.jung@samsung.com>
Wed, 8 Sep 2010 01:08:47 +0000 (10:08 +0900)
committerWooHyun Jung <wh0705.jung@samsung.com>
Wed, 8 Sep 2010 01:08:47 +0000 (10:08 +0900)
15 files changed:
data/themes/default.edc
debian/changelog
src/lib/Elementary.h.in [changed mode: 0755->0644]
src/lib/elm_ctxpopup.c
src/lib/elm_dayselector.c
src/lib/elm_genlist.c
src/lib/elm_label.c
src/lib/elm_pagecontrol.c
src/lib/elm_searchbar.c
src/lib/elm_segment_control.c
src/lib/elm_selectioninfo.c
src/lib/elm_stackedicon.c
src/lib/elm_webview.c
src/lib/els_webview.c
src/lib/els_webview_container.c

index 9ade501..262f333 100644 (file)
@@ -591,6 +591,36 @@ collections {
       }
    }
 
+   group { name: "elm/label/base_wrap_ellipsis/default";
+      data.item: "default_font_size" "24";
+      data.item: "min_font_size" "8";
+      data.item: "max_font_size" "60";
+      parts {
+        part { name: "label.swallow.background";
+           type: SWALLOW;
+           description { state: "default" 0.0;
+              visible: 1;
+              rel1 { relative: 0 0; to: "elm.text"; }
+              rel2 { relative: 1 1; to: "elm.text"; }
+           }
+        }
+        part { name: "elm.text";
+           type: TEXTBLOCK;
+           mouse_events: 0;
+           scale: 1;
+           description { state: "default" 0.0;
+               // FIXME : fixed for multiline ellipsis.
+               //         does it need to make another ellipsis style? 
+              fixed: 0 1; 
+              text {
+                 style: "textblock_style";
+                 min: 0 1;
+              }
+           }
+        }
+      }
+   }
+
    group { name: "elm/label/base/marker";
       data.item: "default_font_size" "24";
       data.item: "min_font_size" "8";
index 238dd06..bc11d7b 100644 (file)
@@ -1,3 +1,33 @@
+elementary (0.4.0+svn.49550slp2+3build50) unstable; urgency=low
+
+  * [elm_stackedicon] improve performance
+  * [genlist] Code refactoring
+  * [genlist] Added genlist APIs.
+  * [genlist] Disabled item_select when slide menu is opened.
+  * [segment_control] new API is added to elm_segment_control
+  * Git: 165.213.180.234:/git/slp/pkgs/elementary
+  * Tag: elementary_0.4.0+svn.49550slp2+3build50
+
+ -- Daniel Juyung Seo <juyung.seo@samsung.com>  Wed, 08 Sep 2010 03:57:16 +0900
+
+elementary (0.4.0+svn.49550slp2+3build49) unstable; urgency=low
+
+  * [Elementary.h.in]
+  * [elm_ctxpopup.c] updated scroller
+  * [elm_selectioninfo,elm_pagecontrol] Added exception handling
+  * [elm_dayselecotr.c] modified elm_dayselector clicked event_info as Elm_Event_DaySelector_Day*
+  * [label] adding multiline ellipsis style
+  * [label] refine multiline ellipsis
+  * [elm_webview]modify BOUNCE feature
+  * [els_webview]flash file support
+  * [searchbar] adding base_bg event handler
+  * [tickernoti] bugfix for del_hook
+  * [genlist] Added some genlist APIs and checked EINA_DEPRECATED for some APIs.
+  * Git: 165.213.180.234:/git/slp/pkgs/elementary
+  * Tag: elementary_0.4.0+svn.49550slp2+3build49
+
+ -- Daniel Juyung Seo <juyung.seo@samsung.com>  Tue, 07 Sep 2010 23:17:41 +0900
+
 elementary (0.4.0+svn.49550slp2+3build48) unstable; urgency=low
 
   * repackaging. Please refer the git log 
old mode 100755 (executable)
new mode 100644 (file)
index 20e53f1..fcb0335
@@ -1,6 +1,5 @@
 /*
- *
- * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
+ * vim:ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0
  */
 #ifndef ELEMENTARY_H
 #define ELEMENTARY_H
@@ -1252,7 +1251,9 @@ extern "C" {
    EAPI void              elm_genlist_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
    EAPI void              elm_genlist_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
    EAPI void              elm_genlist_homogeneous_set(Evas_Object *obj, Eina_Bool homogeneous);
+   EAPI Eina_Bool         elm_genlist_homogeneous_get(const Evas_Object *obj);
    EAPI void              elm_genlist_block_count_set(Evas_Object *obj, int n);
+   EAPI int               elm_genlist_block_count_get(const Evas_Object *obj);
    EAPI void              elm_genlist_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v);
    EINA_DEPRECATED EAPI void elm_genlist_set_edit_mode(Evas_Object *obj, int emode, Elm_Genlist_Edit_Class *ec);
    EAPI void              elm_genlist_edit_mode_set(Evas_Object *obj, int emode, Elm_Genlist_Edit_Class *ec);
@@ -1303,6 +1304,7 @@ extern "C" {
    EAPI Elm_Segment_Item *elm_segment_control_item_selected_get(const Evas_Object *obj);
    EAPI int          elm_segment_control_get_segment_count(Evas_Object *obj);
    EAPI int          elm_segment_control_item_count_get(Evas_Object *obj);
+   EAPI int          elm_segment_control_item_index_get(Elm_Segment_Item *item);
    EAPI Evas_Object *elm_segment_control_item_object_get(Elm_Segment_Item *it);
 
    EAPI Evas_Object *elm_page_control_add(Evas_Object *parent);
@@ -1593,10 +1595,10 @@ extern "C" {
 
    typedef enum _Elm_Panel_Orient
      {
-       ELM_PANEL_ORIENT_TOP,
-       ELM_PANEL_ORIENT_BOTTOM,
-       ELM_PANEL_ORIENT_LEFT,
-       ELM_PANEL_ORIENT_RIGHT,
+        ELM_PANEL_ORIENT_TOP,
+        ELM_PANEL_ORIENT_BOTTOM,
+        ELM_PANEL_ORIENT_LEFT,
+        ELM_PANEL_ORIENT_RIGHT,
      } Elm_Panel_Orient;
    EAPI Evas_Object          *elm_panel_add(Evas_Object *parent);
    EAPI void                  elm_panel_orient_set(Evas_Object *obj, Elm_Panel_Orient orient);
@@ -1624,10 +1626,10 @@ extern "C" {
 
    typedef enum _Elm_Flip_Mode
      {
-       ELM_FLIP_ROTATE_Y_CENTER_AXIS,
-       ELM_FLIP_ROTATE_X_CENTER_AXIS,
-       ELM_FLIP_ROTATE_XZ_CENTER_AXIS,
-       ELM_FLIP_ROTATE_YZ_CENTER_AXIS
+        ELM_FLIP_ROTATE_Y_CENTER_AXIS,
+        ELM_FLIP_ROTATE_X_CENTER_AXIS,
+        ELM_FLIP_ROTATE_XZ_CENTER_AXIS,
+        ELM_FLIP_ROTATE_YZ_CENTER_AXIS
      } Elm_Flip_Mode;
 
    EAPI Evas_Object *elm_flip_add(Evas_Object *parent);
@@ -1881,30 +1883,30 @@ extern "C" {
    /* popup */
    typedef enum _Elm_Popup_Response
      {
-       ELM_POPUP_RESPONSE_NONE = -1,
-       ELM_POPUP_RESPONSE_TIMEOUT = -2,
-       ELM_POPUP_RESPONSE_OK = -3,
-       ELM_POPUP_RESPONSE_CANCEL = -4, 
-       ELM_POPUP_RESPONSE_CLOSE = -5
+        ELM_POPUP_RESPONSE_NONE = -1,
+        ELM_POPUP_RESPONSE_TIMEOUT = -2,
+        ELM_POPUP_RESPONSE_OK = -3,
+        ELM_POPUP_RESPONSE_CANCEL = -4,        
+        ELM_POPUP_RESPONSE_CLOSE = -5
      } Elm_Popup_Response;
 
    typedef enum _Elm_Popup_Mode
      {
-       ELM_POPUP_TYPE_NONE = 0,
-       ELM_POPUP_TYPE_ALERT = (1 << 0)
+        ELM_POPUP_TYPE_NONE = 0,
+        ELM_POPUP_TYPE_ALERT = (1 << 0)
      } Elm_Popup_Mode;
 
    typedef enum _Elm_Popup_Orient
      {
-       ELM_POPUP_ORIENT_TOP,
-       ELM_POPUP_ORIENT_CENTER,
-       ELM_POPUP_ORIENT_BOTTOM,
-       ELM_POPUP_ORIENT_LEFT,
-       ELM_POPUP_ORIENT_RIGHT,
-       ELM_POPUP_ORIENT_TOP_LEFT,
-       ELM_POPUP_ORIENT_TOP_RIGHT,
-       ELM_POPUP_ORIENT_BOTTOM_LEFT,
-       ELM_POPUP_ORIENT_BOTTOM_RIGHT
+        ELM_POPUP_ORIENT_TOP,
+        ELM_POPUP_ORIENT_CENTER,
+        ELM_POPUP_ORIENT_BOTTOM,
+        ELM_POPUP_ORIENT_LEFT,
+        ELM_POPUP_ORIENT_RIGHT,
+        ELM_POPUP_ORIENT_TOP_LEFT,
+        ELM_POPUP_ORIENT_TOP_RIGHT,
+        ELM_POPUP_ORIENT_BOTTOM_LEFT,
+        ELM_POPUP_ORIENT_BOTTOM_RIGHT
      } Elm_Popup_Orient;
 
    /* smart callbacks called:
@@ -1933,10 +1935,10 @@ extern "C" {
    
    typedef enum _Ctxpopup_Arrow_Direction
      {
-       ELM_CTXPOPUP_ARROW_DOWN,
-       ELM_CTXPOPUP_ARROW_RIGHT,
-       ELM_CTXPOPUP_ARROW_LEFT,
-       ELM_CTXPOPUP_ARROW_UP,
+        ELM_CTXPOPUP_ARROW_DOWN,
+        ELM_CTXPOPUP_ARROW_RIGHT,
+        ELM_CTXPOPUP_ARROW_LEFT,
+        ELM_CTXPOPUP_ARROW_UP,
      } Elm_Ctxpopup_Arrow;
 
    EAPI Evas_Object *elm_ctxpopup_add(Evas_Object *parent);
@@ -1981,13 +1983,13 @@ extern "C" {
 
    typedef enum _Elm_Tab_Mode_Type
      {
-       ELM_TAB_PORTRAIT_2 = 2,
-       ELM_TAB_PORTRAIT_3 = 3,
-       ELM_TAB_PORTRAIT_4 = 4,
-       ELM_TAB_LANDSCAPE_2 = 12,
-       ELM_TAB_LANDSCAPE_3 = 13,
-       ELM_TAB_LANDSCAPE_4 = 14,
-       ELM_TAB_LANDSCAPE_5 = 15,
+        ELM_TAB_PORTRAIT_2 = 2,
+        ELM_TAB_PORTRAIT_3 = 3,
+        ELM_TAB_PORTRAIT_4 = 4,
+        ELM_TAB_LANDSCAPE_2 = 12,
+        ELM_TAB_LANDSCAPE_3 = 13,
+        ELM_TAB_LANDSCAPE_4 = 14,
+        ELM_TAB_LANDSCAPE_5 = 15,
      } Elm_Tab_Mode_Type;
 
    typedef struct _Elm_Tab_Item Elm_Tab_Item;
@@ -2017,10 +2019,10 @@ extern "C" {
 
    typedef enum 
      {
-       ELM_ANIMATOR_CURVE_LINEAR, 
-       ELM_ANIMATOR_CURVE_IN_OUT, 
-       ELM_ANIMATOR_CURVE_IN, 
-       ELM_ANIMATOR_CURVE_OUT
+        ELM_ANIMATOR_CURVE_LINEAR, 
+        ELM_ANIMATOR_CURVE_IN_OUT, 
+        ELM_ANIMATOR_CURVE_IN, 
+        ELM_ANIMATOR_CURVE_OUT
      } Elm_Animator_Curve_Style; 
 
    EAPI Elm_Animator* elm_animator_add(Evas_Object *parent);
@@ -2071,8 +2073,8 @@ extern "C" {
    /* Flip Fx */
    typedef enum 
      {
-       ELM_FX_FLIP_AXIS_X, 
-       ELM_FX_FLIP_AXIS_Y
+        ELM_FX_FLIP_AXIS_X, 
+        ELM_FX_FLIP_AXIS_Y
      } Elm_Fx_Flip_Axis;
    EAPI Elm_Effect  *elm_fx_flip_add( Evas_Object *front, Evas_Object *back, Elm_Fx_Flip_Axis axis, Eina_Bool cw);
 
@@ -2091,16 +2093,16 @@ extern "C" {
    /* Wipe Fx */
    typedef enum 
      {
-       ELM_FX_WIPE_DIR_UP, 
-       ELM_FX_WIPE_DIR_LEFT, 
-       ELM_FX_WIPE_DIR_RIGHT, 
-       ELM_FX_WIPE_DIR_DOWN
+        ELM_FX_WIPE_DIR_UP, 
+        ELM_FX_WIPE_DIR_LEFT, 
+        ELM_FX_WIPE_DIR_RIGHT, 
+        ELM_FX_WIPE_DIR_DOWN
      } Elm_Fx_Wipe_Dir;
-   
+
    typedef enum 
      {
-       ELM_FX_WIPE_TYPE_HIDE, 
-       ELM_FX_WIPE_TYPE_SHOW
+        ELM_FX_WIPE_TYPE_HIDE, 
+        ELM_FX_WIPE_TYPE_SHOW
      } Elm_Fx_Wipe_Type;
    EAPI Elm_Effect  *elm_fx_wipe_add(Evas_Object *obj, Elm_Fx_Wipe_Type type, Elm_Fx_Wipe_Dir dir);
 
@@ -2113,10 +2115,10 @@ extern "C" {
    /* NavigationBar */
    typedef enum 
      {
-       ELM_NAVIGATIONBAR_FUNCTION_BUTTON1,
-       ELM_NAVIGATIONBAR_FUNCTION_BUTTON2,
-       ELM_NAVIGATIONBAR_FUNCTION_BUTTON3,
-       ELM_NAVIGATIONBAR_BACK_BUTTON
+        ELM_NAVIGATIONBAR_FUNCTION_BUTTON1,
+        ELM_NAVIGATIONBAR_FUNCTION_BUTTON2,
+        ELM_NAVIGATIONBAR_FUNCTION_BUTTON3,
+        ELM_NAVIGATIONBAR_BACK_BUTTON
      } Elm_Navi_Button_Type;
 
    EAPI Evas_Object *elm_navigationbar_add(Evas_Object *parent);
@@ -2168,13 +2170,14 @@ extern "C" {
    #define CONTROLBAR_SYSTEM_ICON_FAVORITES "controlbar_favorites" 
    #define CONTROLBAR_SYSTEM_ICON_LOGS "controlbar_logs" 
 
-   typedef enum _Elm_Controlbar_Mode_Type{
-       ELM_CONTROLBAR_MODE_DEFAULT = 0,
-       ELM_CONTROLBAR_MODE_TRANSLUCENCE,
-       ELM_CONTROLBAR_MODE_TRANSPARENCY,
-       ELM_CONTROLBAR_MODE_LARGE,
-       ELM_CONTROLBAR_MODE_SMALL
-   } Elm_Controlbar_Mode_Type;
+   typedef enum _Elm_Controlbar_Mode_Type
+     {
+        ELM_CONTROLBAR_MODE_DEFAULT = 0,
+        ELM_CONTROLBAR_MODE_TRANSLUCENCE,
+        ELM_CONTROLBAR_MODE_TRANSPARENCY,
+        ELM_CONTROLBAR_MODE_LARGE,
+        ELM_CONTROLBAR_MODE_SMALL
+     } Elm_Controlbar_Mode_Type;
 
    typedef struct _Elm_Controlbar_Item Elm_Controlbar_Item;
 
@@ -2239,9 +2242,9 @@ extern "C" {
    /* actionsheet */
    typedef enum _Elm_Actionsheet_Button_Type 
      {
-       ELM_ACTIONSHEET_BT_NORMAL = 0,
-       ELM_ACTIONSHEET_BT_CANCEL,
-       ELM_ACTIONSHEET_BT_DESTRUCTIVE
+        ELM_ACTIONSHEET_BT_NORMAL = 0,
+        ELM_ACTIONSHEET_BT_CANCEL,
+        ELM_ACTIONSHEET_BT_DESTRUCTIVE
      } Elm_Actionsheet_Button_Type;
 
    EAPI Evas_Object *elm_actionsheet_add(Evas_Object *parent);
@@ -2276,7 +2279,7 @@ extern "C" {
 
    struct _Colorpalette_Color 
      {
-       unsigned int r, g, b;
+        unsigned int r, g, b;
      };
 
    EAPI Evas_Object *elm_colorpalette_add(Evas_Object *parent);
@@ -2307,8 +2310,8 @@ extern "C" {
    /* softkey */
    typedef enum 
      {
-       ELM_SK_LEFT_BTN,
-       ELM_SK_RIGHT_BTN,
+        ELM_SK_LEFT_BTN,
+        ELM_SK_RIGHT_BTN,
      } Elm_Softkey_Type;
 
    /* softkey */
@@ -2350,25 +2353,25 @@ extern "C" {
    /* actionslider */                        
    typedef enum _Elm_Actionslider_Indicator_Pos  
      {                                         
-       ELM_ACTIONSLIDER_INDICATOR_LEFT,
-       ELM_ACTIONSLIDER_INDICATOR_RIGHT,
-       ELM_ACTIONSLIDER_INDICATOR_CENTER
+        ELM_ACTIONSLIDER_INDICATOR_LEFT,
+        ELM_ACTIONSLIDER_INDICATOR_RIGHT,
+        ELM_ACTIONSLIDER_INDICATOR_CENTER
      } Elm_Actionslider_Indicator_Pos;
 
    typedef enum _Elm_Actionslider_Magnet_Pos
      {
-       ELM_ACTIONSLIDER_MAGNET_LEFT,
-       ELM_ACTIONSLIDER_MAGNET_RIGHT,
-       ELM_ACTIONSLIDER_MAGNET_BOTH,
-       ELM_ACTIONSLIDER_MAGNET_CENTER
+        ELM_ACTIONSLIDER_MAGNET_LEFT,
+        ELM_ACTIONSLIDER_MAGNET_RIGHT,
+        ELM_ACTIONSLIDER_MAGNET_BOTH,
+        ELM_ACTIONSLIDER_MAGNET_CENTER
      } Elm_Actionslider_Magnet_Pos;
 
    typedef enum _Elm_Actionslider_Label_Pos
      {
-       ELM_ACTIONSLIDER_LABEL_LEFT,
-       ELM_ACTIONSLIDER_LABEL_RIGHT,
-       ELM_ACTIONSLIDER_LABEL_CENTER,
-       ELM_ACTIONSLIDER_LABEL_BUTTON
+        ELM_ACTIONSLIDER_LABEL_LEFT,
+        ELM_ACTIONSLIDER_LABEL_RIGHT,
+        ELM_ACTIONSLIDER_LABEL_CENTER,
+        ELM_ACTIONSLIDER_LABEL_BUTTON
      } Elm_Actionslider_Label_Pos;
 
    EAPI Evas_Object *elm_actionslider_add(Evas_Object *parent);
@@ -2391,19 +2394,19 @@ extern "C" {
    /* viewflipper */
    typedef enum _Elm_Viewflipper_Policy
      {
-       ERROR_0  = -1,    //can not find wanted value
-       SUCCESS =0,
-       FLIP_RANGE_X =30, 
-       ERROR_1  =1001, //confrim parameter is layout or not
-       ERROR_2 ,       //confrim memory check
-       ERROR_3 ,       //data is empty
-       ERROR_4 ,       //check the range
-       ERROR_5 ,       //Non need operation
-       ERROR_6 ,       //waiting gui
-       ERROR_7 ,       //timer second is not setup or can not time setup
-       DIR_LEFT ,
-       DIR_RIGHT ,
-       EACH_LAST 
+        ERROR_0  = -1,    //can not find wanted value
+        SUCCESS =0,
+        FLIP_RANGE_X =30, 
+        ERROR_1  =1001,        //confrim parameter is layout or not
+        ERROR_2 ,      //confrim memory check
+        ERROR_3 ,      //data is empty
+        ERROR_4 ,      //check the range
+        ERROR_5 ,      //Non need operation
+        ERROR_6 ,      //waiting gui
+        ERROR_7 ,      //timer second is not setup or can not time setup
+        DIR_LEFT ,
+        DIR_RIGHT ,
+        EACH_LAST 
      } Elm_Viewflipper_Policy;
    EINA_DEPRECATED EAPI int          elm_viewflipper_isFlipbutton();
    EINA_DEPRECATED EAPI int          elm_viewflipper_isAutoStart();
@@ -2427,16 +2430,16 @@ extern "C" {
    /* gallery */
    struct _Elm_Gallery_Item 
      {
-       Evas_Object *parent;
-       Evas_Object *ly;
-       Evas_Object *obj;
-       const char *path;
-       int index;
-       Evas_Coord x, y, w, h;
-       Evas_Coord mw, mh;      
-       Eina_Bool on_hold : 1;
-       Eina_Bool on_show : 1;
-       Eina_Bool on_highquality : 1;           
+        Evas_Object *parent;
+        Evas_Object *ly;
+        Evas_Object *obj;
+        const char *path;
+        int index;
+        Evas_Coord x, y, w, h;
+        Evas_Coord mw, mh;     
+        Eina_Bool on_hold : 1;
+        Eina_Bool on_show : 1;
+        Eina_Bool on_highquality : 1;          
      };
    typedef struct _Elm_Gallery_Item Elm_Gallery_Item;
    EAPI Evas_Object *elm_gallery_add(Evas_Object *parent);
@@ -2453,16 +2456,17 @@ extern "C" {
    /* Sliding Drawer */
    typedef enum _Elm_SlidingDrawer_Pos 
      {
-       ELM_SLIDINGDRAWER_BOTTOM,
-       ELM_SLIDINGDRAWER_LEFT,
-       ELM_SLIDINGDRAWER_RIGHT,
-       ELM_SLIDINGDRAWER_TOP
+        ELM_SLIDINGDRAWER_BOTTOM,
+        ELM_SLIDINGDRAWER_LEFT,
+        ELM_SLIDINGDRAWER_RIGHT,
+        ELM_SLIDINGDRAWER_TOP
      } Elm_SlidingDrawer_Pos;
+  
    EAPI Evas_Object *elm_slidingdrawer_add(Evas_Object *parent);
    EAPI void         elm_slidingdrawer_content_set (Evas_Object *obj, Evas_Object *content);
    EAPI Evas_Object *elm_slidingdrawer_content_unset(Evas_Object *obj);
-   EAPI void           elm_slidingdrawer_pos_set(Evas_Object *obj, Elm_SlidingDrawer_Pos pos);
-   EAPI void           elm_slidingdrawer_max_drag_set(Evas_Object *obj, double dw,  double dh);
+   EAPI void         elm_slidingdrawer_pos_set(Evas_Object *obj, Elm_SlidingDrawer_Pos pos);
+   EAPI void         elm_slidingdrawer_max_drag_set(Evas_Object *obj, double dw,  double dh);
 
    /* wipercontrol*/
    EAPI Evas_Object *elm_wipercontrol_add(Evas_Object *parent);
@@ -2500,7 +2504,7 @@ extern "C" {
    EAPI void                       elm_multibuttonentry_item_selected_set(Elm_Multibuttonentry_Item *item);
    EAPI void                       elm_multibuttonentry_item_del(Elm_Multibuttonentry_Item *item);
    EAPI void                       elm_multibuttonentry_items_del(Evas_Object *obj);
-   EAPI const char               *elm_multibuttonentry_item_label_get(Elm_Multibuttonentry_Item *item);
+   EAPI const char                *elm_multibuttonentry_item_label_get(Elm_Multibuttonentry_Item *item);
    EAPI void                       elm_multibuttonentry_item_label_set(Elm_Multibuttonentry_Item *item, const char *str);
    EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_prev(Elm_Multibuttonentry_Item *item);
    EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_next(Elm_Multibuttonentry_Item *item);
@@ -2519,7 +2523,7 @@ extern "C" {
  
    /* stackedicon */
    typedef struct _Stackedicon_Item Elm_Stackedicon_Item;
-   EAPI Evas_Object         *elm_stackedicon_add(Evas_Object *parent);
+   EAPI Evas_Object          *elm_stackedicon_add(Evas_Object *parent);
    EAPI Elm_Stackedicon_Item *elm_stackedicon_item_append(Evas_Object *obj, const char *path);
    EAPI Elm_Stackedicon_Item *elm_stackedicon_item_prepend(Evas_Object *obj, const char *path);
    EAPI void                  elm_stackedicon_item_del(Elm_Stackedicon_Item *it);
@@ -2544,11 +2548,11 @@ extern "C" {
    
    typedef enum _Elm_Dialoguegourp_Item_Style
      {
-       ELM_DIALOGUEGROUP_ITEM_STYLE_DEFAULT = 0,
-       ELM_DIALOGUEGROUP_ITEM_STYLE_EDITFIELD = (1 << 0),
-       ELM_DIALOGUEGROUP_ITEM_STYLE_EDITFIELD_WITH_TITLE = (1 << 1),
-       ELM_DIALOGUEGROUP_ITEM_STYLE_EDIT_TITLE = (1 << 2),
-       ELM_DIALOGUEGROUP_ITEM_STYLE_HIDDEN = (1 << 3)
+        ELM_DIALOGUEGROUP_ITEM_STYLE_DEFAULT = 0,
+        ELM_DIALOGUEGROUP_ITEM_STYLE_EDITFIELD = (1 << 0),
+        ELM_DIALOGUEGROUP_ITEM_STYLE_EDITFIELD_WITH_TITLE = (1 << 1),
+        ELM_DIALOGUEGROUP_ITEM_STYLE_EDIT_TITLE = (1 << 2),
+        ELM_DIALOGUEGROUP_ITEM_STYLE_HIDDEN = (1 << 3)
      } Elm_Dialoguegroup_Item_Style;
 
    EAPI Evas_Object   *elm_dialoguegroup_add(Evas_Object *parent);
@@ -2579,8 +2583,8 @@ extern "C" {
    typedef struct _Coverflow_Item Elm_Coverflow_Item;
    typedef struct _Coverflow_Item_Class 
      {
-       void (*CoverflowItemGenFunc)(void* data, Evas_Object* obj );
-       void (*CoverflowItemDelFunc)(void* data, Evas_Object* obj ); 
+        void (*CoverflowItemGenFunc)(void* data, Evas_Object* obj);
+        void (*CoverflowItemDelFunc)(void* data, Evas_Object* obj); 
      } Elm_Coverflow_Item_Class;
   
    EINA_DEPRECATED EAPI Evas_Object *elm_coverflow_add( Evas_Object* parent );
@@ -2618,15 +2622,20 @@ extern "C" {
    /* Dayselector */
    typedef enum 
      { 
-       ELM_DAYSELECTOR_SUN, 
-       ELM_DAYSELECTOR_MON, 
-       ELM_DAYSELECTOR_TUE, 
-       ELM_DAYSELECTOR_WED, 
-       ELM_DAYSELECTOR_THU, 
-       ELM_DAYSELECTOR_FRI, 
-       ELM_DAYSELECTOR_SAT 
+        ELM_DAYSELECTOR_SUN, 
+        ELM_DAYSELECTOR_MON, 
+        ELM_DAYSELECTOR_TUE, 
+        ELM_DAYSELECTOR_WED, 
+        ELM_DAYSELECTOR_THU, 
+        ELM_DAYSELECTOR_FRI, 
+        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);
@@ -2655,8 +2664,8 @@ extern "C" {
    /* TickerNoti */
    typedef enum 
      { 
-       ELM_TICKERNOTI_DEFAULT, 
-       ELM_TICKERNOTI_DETAILVIEW
+        ELM_TICKERNOTI_DEFAULT, 
+        ELM_TICKERNOTI_DETAILVIEW
      } Elm_Tickernoti_Mode;
 
    EAPI Evas_Object         *elm_tickernoti_add (Evas_Object *parent);
index 94dffa3..88e8d3f 100644 (file)
@@ -623,7 +623,7 @@ _theme_hook(Evas_Object *obj)
    _elm_theme_object_set(obj, wd->arrow, "ctxpopup", "arrow",
                         elm_widget_style_get(obj));
 
-   //elm_object_style_set(wd->scroller, elm_widget_style_get(obj));
+   elm_object_style_set(wd->scroller, "ctxpopup");
 
    _sizing_eval(obj);
 
@@ -858,10 +858,10 @@ elm_ctxpopup_add(Evas_Object *parent)
 
    //Scroller
    wd->scroller = elm_scroller_add(obj);
-   elm_object_style_set(wd->scroller, "vertical");
+   elm_object_style_set(wd->scroller, "ctxpopup");
    elm_scroller_content_min_limit(wd->scroller, EINA_TRUE, EINA_TRUE);
-   elm_scroller_policy_set(wd->scroller, ELM_SCROLLER_POLICY_OFF,
-                          ELM_SCROLLER_POLICY_ON);
+   elm_scroller_policy_set(wd->scroller, ELM_SCROLLER_POLICY_AUTO,
+                          ELM_SCROLLER_POLICY_AUTO);
    elm_scroller_bounce_set(wd->scroller, EINA_FALSE, EINA_TRUE);
    edje_object_part_swallow(wd->base, "elm.swallow.scroller", wd->scroller);
    evas_object_event_callback_add(wd->scroller, EVAS_CALLBACK_RESIZE,
@@ -949,21 +949,15 @@ elm_ctxpopup_horizontal_set(Evas_Object *obj, Eina_Bool horizontal)
    wd->horizontal = horizontal;
    if (!horizontal)
      {
-       elm_object_style_set(wd->scroller, "vertical");
        elm_box_horizontal_set(wd->box, EINA_FALSE);
        elm_scroller_bounce_set(wd->scroller, EINA_FALSE, EINA_TRUE);
-       elm_scroller_policy_set(wd->scroller, ELM_SCROLLER_POLICY_ON,
-                               ELM_SCROLLER_POLICY_OFF);
        EINA_LIST_FOREACH(wd->items, elist, item)
           edje_object_signal_emit(item->base, "elm,state,vertical", "elm");
      }
    else
      {
-       elm_object_style_set(wd->scroller, "horizontal");
        elm_box_horizontal_set(wd->box, EINA_TRUE);
        elm_scroller_bounce_set(wd->scroller, EINA_TRUE, EINA_FALSE);
-       elm_scroller_policy_set(wd->scroller, ELM_SCROLLER_POLICY_ON,
-                               ELM_SCROLLER_POLICY_OFF);
        EINA_LIST_FOREACH(wd->items, elist, item)
           edje_object_signal_emit(item->base, "elm,state,horizontal", "elm");
      }
index 2e27f2d..8191e58 100644 (file)
@@ -58,11 +58,13 @@ _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;
        Widget_Data* wd = (Widget_Data*) elm_widget_data_get(data);
        int idx;
        for(idx = 0; idx< 7; ++idx) {
                if(obj==wd->check[idx]) {
-                       evas_object_smart_callback_call(data, "dayselector,changed", (void *)idx);
+                       day.day = idx;
+                       evas_object_smart_callback_call(data, "dayselector,changed", (void *) &day);
                        return ;
                }
        }
index 1421686..5b9022c 100755 (executable)
@@ -1070,16 +1070,12 @@ _mouse_up(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *
        else
          {
             dy = it->wd->td1_y - it->wd->td2_y;
-            if (dy < 0)
-              ady = -dy;
-            else
-              ady = dy;
+            if (dy < 0) ady = -dy;
+            else ady = dy;
 
             uy = it->wd->tu1_y - it->wd->tu2_y;
-            if (uy < 0)
-              auy = -uy;
-            else
-              auy = uy;
+            if (uy < 0) auy = -uy;
+            else auy = uy;
 
             if (auy < ady)
               {
@@ -1132,25 +1128,25 @@ _mouse_up(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *
      }
    if (it->wd->longpressed)
      {
-        it->wd->longpressed = EINA_FALSE;
-        if (!it->wd->wasselected)
-          _item_unselect(it);
-        it->wd->wasselected = 0;
-        return;
+       it->wd->longpressed = EINA_FALSE;
+       if (!it->wd->wasselected)
+         _item_unselect(it);
+       it->wd->wasselected = 0;
+       return;
      }
    if (dragged)
      {
-        if (it->want_unrealize)
-          {
-             _item_unrealize(it);
-             if (it->block->want_unrealize)
-               _item_block_unrealize(it->block);
-          }
+       if (it->want_unrealize)
+         {
+            _item_unrealize(it);
+            if (it->block->want_unrealize)
+              _item_block_unrealize(it->block);
+         }
      }
    if ((it->disabled) || (dragged)) return;
    if (it->wd->multi)
      {
-       if (!it->selected)
+       if (!it->selected && !it->menuopened)
          {
             _item_hilight(it);
             _item_select(it);
@@ -1162,10 +1158,10 @@ _mouse_up(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *
        if (!it->selected)
          {
             Widget_Data *wd = it->wd;
-             if (wd)
-               {
-                  while (wd->selected) _item_unselect(wd->selected->data);
-               }
+            if (wd)
+              {
+                 while (wd->selected) _item_unselect(wd->selected->data);
+              }
          }
        else
          {
@@ -1173,12 +1169,15 @@ _mouse_up(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *
             Elm_Genlist_Item *it2;
 
             EINA_LIST_FOREACH_SAFE(it->wd->selected, l, l_next, it2)
-              if (it2 != it) _item_unselect(it2);
-//          _item_hilight(it);
-//          _item_select(it);
+               if (it2 != it) _item_unselect(it2);
+            //      _item_hilight(it);
+            //      _item_select(it);
+         }
+       if (!it->menuopened)
+         {
+            _item_hilight(it);
+            _item_select(it);
          }
-        _item_hilight(it);
-        _item_select(it);
      }
 }
 
@@ -4707,82 +4706,83 @@ elm_genlist_edit_mode_set(Evas_Object *obj, int emode, Elm_Genlist_Edit_Class *e
    ELM_CHECK_WIDTYPE(obj, widtype);
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd) return;
-   if( wd->edit_mode == emode ) return;
+   if (wd->edit_mode == emode) return;
 
    wd->edit_mode = emode;
 
    wd->animate_edit_controls = 1;
 
-   if(wd->edit_mode & ELM_GENLIST_EDIT_MODE_SELECTALL)
-          wd->edit_mode |= ELM_GENLIST_EDIT_MODE_SELECT;
+   if (wd->edit_mode & ELM_GENLIST_EDIT_MODE_SELECTALL)
+     wd->edit_mode |= ELM_GENLIST_EDIT_MODE_SELECT;
 
-   ifwd->edit_mode == ELM_GENLIST_EDIT_MODE_NONE)
+   if (wd->edit_mode == ELM_GENLIST_EDIT_MODE_NONE)
      {
-        if( wd->ed ) free (wd->ed);
-        wd->ed = NULL;
+       if (wd->ed) free (wd->ed);
+       wd->ed = NULL;
      }
    else
      {
-        if( !wd->ed )
-          wd->ed = calloc(1, sizeof(Edit_Data));
+       if (!wd->ed)
+         wd->ed = calloc(1, sizeof(Edit_Data));
 
-        wd->ed->ec = edit_class;
+       wd->ed->ec = edit_class;
 
-        if( ((wd->edit_mode & ELM_GENLIST_EDIT_MODE_DELETE) || (wd->edit_mode & ELM_GENLIST_EDIT_MODE_SELECT)) && !wd->ed->del_confirm)
-          {
-             wd->ed->del_confirm = elm_button_add(wd->obj);
-             elm_button_label_set(wd->ed->del_confirm, "Delete");
-             evas_object_smart_member_add(wd->ed->del_confirm, wd->pan_smart);
-             edje_object_scale_set( wd->ed->del_confirm, elm_widget_scale_get(wd->ed->del_confirm) *
-                   _elm_config->scale);
-             evas_object_smart_callback_add(wd->ed->del_confirm, "clicked", _delete_confirm_cb, wd );
-          }
+       if (((wd->edit_mode & ELM_GENLIST_EDIT_MODE_DELETE) || (wd->edit_mode & ELM_GENLIST_EDIT_MODE_SELECT)) && !wd->ed->del_confirm)
+         {
+            wd->ed->del_confirm = elm_button_add(wd->obj);
+            elm_button_label_set(wd->ed->del_confirm, "Delete");
+            evas_object_smart_member_add(wd->ed->del_confirm, wd->pan_smart);
+            edje_object_scale_set( wd->ed->del_confirm, elm_widget_scale_get(wd->ed->del_confirm) *
+                  _elm_config->scale);
+            evas_object_smart_callback_add(wd->ed->del_confirm, "clicked", _delete_confirm_cb, wd );
+         }
      }
 
    realized_list = elm_genlist_realized_items_get(obj);
    EINA_INLIST_FOREACH(wd->blocks, itb)
      {
+       EINA_LIST_FOREACH(itb->items, l, it)
+         {
+            it->delete_check = 0;
+            it->del_confirm_state = 0;
+            _item_unselect(it);
+            _edit_controls_eval(it);
+         }
+     }
 
-           EINA_LIST_FOREACH(itb->items, l, it)
-            {
-       
-                 it->delete_check = 0;
-                 it->del_confirm_state = 0;
-                _item_unselect(it);
-                _edit_controls_eval(it);
-      }
-   }
+   if (wd->edit_mode & ELM_GENLIST_EDIT_MODE_SELECTALL)
+     {
+       itc.item_style = "select_all";
+       itc.func.label_get = NULL;
+       itc.func.icon_get = NULL;
+       itc.func.del = NULL;
+       itc.func.editmode_get = NULL;
 
-       if(wd->edit_mode & ELM_GENLIST_EDIT_MODE_SELECTALL) {
-               itc.item_style = "select_all";
-               itc.func.label_get = NULL;
-               itc.func.icon_get = NULL;
-               itc.func.del = NULL;
-               itc.func.editmode_get = NULL;
-               
-               wd->select_all_item = _item_new(wd, &itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-               
-          if (!wd) return NULL;
-          if (!wd->select_all_item) return NULL;
+       wd->select_all_item = _item_new(wd, &itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
 
-               _item_realize(wd->select_all_item, 0, 0);
-               edje_object_signal_callback_add(wd->select_all_item->base, "elm,action,select,press", "elm", _select_all_down, wd->select_all_item);
+       if (!wd) return NULL;
+       if (!wd->select_all_item) return NULL;
 
-          wd->select_all_item->rel = NULL;
-          wd->select_all_item->selected = 0;
-          wd->select_all_item->before = 1;
-          wd->select_all_item->block = NULL;
-       }
-       else {
-       if(wd->select_all_item) {
-                       if (wd->select_all_item->realized) _item_unrealize(wd->select_all_item);
-                       free(wd->select_all_item);
-       }
+       _item_realize(wd->select_all_item, 0, 0);
+       edje_object_signal_callback_add(wd->select_all_item->base, "elm,action,select,press", "elm", _select_all_down, wd->select_all_item);
+
+       wd->select_all_item->rel = NULL;
+       wd->select_all_item->selected = 0;
+       wd->select_all_item->before = 1;
+       wd->select_all_item->block = NULL;
+
+     }
+   else
+     {
+       if (wd->select_all_item)
+         {
+            if (wd->select_all_item->realized) _item_unrealize(wd->select_all_item);
+            free(wd->select_all_item);
+         }
        wd->select_all_item = NULL;
 
-       }
-     edje_object_signal_emit(wd->scr, "elm,state,edit,animated,enable", "elm");
+     }
+   edje_object_signal_emit(wd->scr, "elm,state,edit,animated,enable", "elm");
 
    if (wd->calc_job) ecore_job_del(wd->calc_job);
    wd->calc_job = ecore_job_add(_calc_job, wd);
@@ -4823,21 +4823,20 @@ elm_genlist_edit_selected_items_del(Evas_Object *obj)
    if (!wd) return;
 
    EINA_INLIST_FOREACH(wd->blocks, itb)
-   {
-          if (itb->realized)
-          {
-              EINA_LIST_FOREACH(itb->items, l, it)
-                    {
-                       if (it->delete_check)
-                         elm_genlist_item_del( it );
-                    }
-          }
-   }
+     {
+       if (itb->realized)
+         {
+            EINA_LIST_FOREACH(itb->items, l, it)
+              {
+                 if (it->delete_check)
+                   elm_genlist_item_del( it );
+              }
+         }
+     }
    if (wd->calc_job) ecore_job_del(wd->calc_job);
    wd->calc_job = ecore_job_add(_calc_job, wd);        
 }
 
-
 EAPI void
 elm_genlist_selected_items_del(Evas_Object *obj)
 {
@@ -4845,9 +4844,8 @@ elm_genlist_selected_items_del(Evas_Object *obj)
    fprintf(stderr, "==> elm_genlist_selected_items_del() is deprecated. <=======\n");
    fprintf(stderr, "==> Please use elm_genlist_edit_selected_items_del() instead. <==\n");
    fprintf(stderr, "=======================================================\n");
-       elm_genlist_edit_selected_items_del(obj);
+   elm_genlist_edit_selected_items_del(obj);
 }
-   
 
 /**
  * Get a list of selected items in genlist
@@ -4875,20 +4873,20 @@ elm_genlist_edit_selected_items_get(const Evas_Object *obj)
    EINA_INLIST_FOREACH(wd->blocks, itb)
      {
        if (itb->realized)
-          {
-             Eina_List *l;
-             Elm_Genlist_Item *it;
+         {
+            Eina_List *l;
+            Elm_Genlist_Item *it;
 
-             done = 1;
-             EINA_LIST_FOREACH(itb->items, l, it)
-               {
-                  if (it->delete_check) list = eina_list_append(list, it);
-               }
-          }
-        else
-          {
-             if (done) break;
-          }
+            done = 1;
+            EINA_LIST_FOREACH(itb->items, l, it)
+              {
+                 if (it->delete_check) list = eina_list_append(list, it);
+              }
+         }
+       else
+         {
+            if (done) break;
+         }
      }
    return list;
 }
@@ -4907,7 +4905,7 @@ EAPI void
 elm_genlist_item_rename_mode_set(Elm_Genlist_Item *it, int emode)
 {
    if (!it) return;
-   
+
    const Eina_List *l, *list, *l2;
    const char *label, *rename_swallow_part, *s;
    Eina_Bool done = EINA_FALSE;
@@ -4918,58 +4916,59 @@ elm_genlist_item_rename_mode_set(Elm_Genlist_Item *it, int emode)
    Evas_Object *entry;
    int edit_field_cnt = 0;
 
-       if(it->wd->edit_mode == ELM_GENLIST_EDIT_MODE_NONE)
-       {
-      it->wd->edit_mode = 0xF0;
-       _edit_controls_eval(it);
-       }
+   if (it->wd->edit_mode == ELM_GENLIST_EDIT_MODE_NONE)
+     {
+       it->wd->edit_mode = 0xF0;
+       _edit_controls_eval(it);
+     }
 
    EINA_INLIST_FOREACH(it->wd->blocks, itb)
      {
        if (itb->realized)
          {
-        Eina_List *l;
-        Elm_Genlist_Item *it;
+            Eina_List *l;
+            Elm_Genlist_Item *it;
 
             done = EINA_TRUE;
             EINA_LIST_FOREACH(itb->items, l, it)
               {
-                 if (it->renamed) {
+                 if (it->renamed)
+                   {
                       it->renamed = EINA_FALSE;
 
 
-                                EINA_LIST_FOREACH(it->wd->edit_field, l2, editfield)
-                                {
-                              entry = elm_editfield_entry_get(editfield);
-                              char *text = elm_entry_entry_get(entry);
+                      EINA_LIST_FOREACH(it->wd->edit_field, l2, editfield)
+                        {
+                           entry = elm_editfield_entry_get(editfield);
+                           char *text = elm_entry_entry_get(entry);
 
-                              if( it->itc->func.label_changed )
-                                                it->itc->func.label_changed( it->data, it, text, edit_field_cnt++);
-                                }
+                           if (it->itc->func.label_changed)
+                             it->itc->func.label_changed( it->data, it, text, edit_field_cnt++);
+                        }
                       Ecore_IMF_Context *imf = elm_entry_imf_context_get(entry);
                       ecore_imf_context_input_panel_hide(imf);
 
-                       Evas_Object *editfield;
-               EINA_LIST_FREE(it->wd->edit_field, editfield)
-                  evas_object_del(editfield);
-      
-                        if(it->wd->edit_mode) {
-                              if( (it->wd->edit_mode & ELM_GENLIST_EDIT_MODE_INSERT) )
-                                edje_object_signal_emit(it->edit_obj, "elm,state,ins,enable", "elm");
+                      Evas_Object *editfield;
+                      EINA_LIST_FREE(it->wd->edit_field, editfield)
+                         evas_object_del(editfield);
 
-                              if( (it->wd->edit_mode & ELM_GENLIST_EDIT_MODE_DELETE) || (it->wd->edit_mode & ELM_GENLIST_EDIT_MODE_SELECT) )
-                                edje_object_signal_emit(it->edit_obj, "elm,state,del,enable", "elm");
+                      if (it->wd->edit_mode)
+                        {
+                           if ((it->wd->edit_mode & ELM_GENLIST_EDIT_MODE_INSERT))
+                             edje_object_signal_emit(it->edit_obj, "elm,state,ins,enable", "elm");
 
-                              if( (it->wd->edit_mode & ELM_GENLIST_EDIT_MODE_REORDER) )
-                                edje_object_signal_emit(it->edit_obj, "elm,state,rename,disable", "elm");                                
-                        }
-          if(it->edit_obj)
-            {
-               evas_object_del(it->edit_obj);
-                                        it->edit_obj = NULL;
-          }
+                           if ((it->wd->edit_mode & ELM_GENLIST_EDIT_MODE_DELETE) || (it->wd->edit_mode & ELM_GENLIST_EDIT_MODE_SELECT))
+                             edje_object_signal_emit(it->edit_obj, "elm,state,del,enable", "elm");
 
-                 }
+                           if ((it->wd->edit_mode & ELM_GENLIST_EDIT_MODE_REORDER))
+                             edje_object_signal_emit(it->edit_obj, "elm,state,rename,disable", "elm");                           
+                        }
+                      if (it->edit_obj)
+                        {
+                           evas_object_del(it->edit_obj);
+                           it->edit_obj = NULL;
+                        }
+                   }
               }
          }
        else
@@ -4978,58 +4977,60 @@ elm_genlist_item_rename_mode_set(Elm_Genlist_Item *it, int emode)
          }
      }
 
-//             if(emode != ELM_GENLIST_RENAME_MODE_NONE) 
-               if(emode != 0) 
-               {
-            it->renamed = EINA_TRUE;
+   //          if (emode != ELM_GENLIST_RENAME_MODE_NONE) 
+   if (emode != 0) 
+     {
+       it->renamed = EINA_TRUE;
 
-            it->labels = _elm_stringlist_get(edje_object_data_get(it->base, "labels"));
-                  EINA_LIST_FOREACH(it->labels, list, label)
-            {
-                         edje_object_signal_emit(it->edit_obj, "elm,state,rename,enable", "elm");
-                         edje_object_signal_emit(it->edit_obj, "elm,state,ins,disable", "elm");
-                         edje_object_signal_emit(it->edit_obj, "elm,state,del,disable", "elm");
-                         edje_object_signal_emit(it->edit_obj, "elm,state,edit_end,disable", "elm");
-
-                         if (it->itc->func.label_get)
-                           {
-                                  it->renamed = EINA_TRUE;
-                   swallow_part_cnt = 0;
-
-                                  Eina_List *rename = _elm_stringlist_get(edje_object_data_get(it->edit_obj, "rename"));
-                                  EINA_LIST_FOREACH(rename, l, rename_swallow_part)
-                    {
-                      if(label_cnt == swallow_part_cnt) {
-                               editfield = elm_editfield_add(it->wd->obj);
-                                                 it->wd->edit_field = eina_list_append(it->wd->edit_field, editfield);
-
-                       
-                                                 elm_editfield_entry_single_line_set(editfield, EINA_TRUE);    
-                                 elm_editfield_eraser_set(editfield, EINA_TRUE);
-                                                 edje_object_part_swallow(it->edit_obj, rename_swallow_part, editfield);
-
-                                                 evas_object_show(editfield);
-
-                                           s = it->itc->func.label_get(it->data, it->wd->obj, list->data);
-
-                                           if (s)
-                                             {
-                                                Evas_Object *entry = elm_editfield_entry_get(editfield);
-                                                elm_entry_entry_set(entry,s);
-
-                                                free(s);
-                                             }
-                                           else
-                                             elm_editfield_guide_text_set(editfield, "Text Input");
-                      }
-                       swallow_part_cnt++;
-                                  }
-                    label_cnt++;
-                           }
-              }                        
-               }
-
-               if(it->wd->edit_mode == 0xF0) {
-       it->wd->edit_mode = 0;
-               }
+       it->labels = _elm_stringlist_get(edje_object_data_get(it->base, "labels"));
+       EINA_LIST_FOREACH(it->labels, list, label)
+         {
+            edje_object_signal_emit(it->edit_obj, "elm,state,rename,enable", "elm");
+            edje_object_signal_emit(it->edit_obj, "elm,state,ins,disable", "elm");
+            edje_object_signal_emit(it->edit_obj, "elm,state,del,disable", "elm");
+            edje_object_signal_emit(it->edit_obj, "elm,state,edit_end,disable", "elm");
+
+            if (it->itc->func.label_get)
+              {
+                 it->renamed = EINA_TRUE;
+                 swallow_part_cnt = 0;
+
+                 Eina_List *rename = _elm_stringlist_get(edje_object_data_get(it->edit_obj, "rename"));
+                 EINA_LIST_FOREACH(rename, l, rename_swallow_part)
+                   {
+                      if (label_cnt == swallow_part_cnt)
+                        {
+                           editfield = elm_editfield_add(it->wd->obj);
+                           it->wd->edit_field = eina_list_append(it->wd->edit_field, editfield);
+
+
+                           elm_editfield_entry_single_line_set(editfield, EINA_TRUE);  
+                           elm_editfield_eraser_set(editfield, EINA_TRUE);
+                           edje_object_part_swallow(it->edit_obj, rename_swallow_part, editfield);
+
+                           evas_object_show(editfield);
+
+                           s = it->itc->func.label_get(it->data, it->wd->obj, list->data);
+
+                           if (s)
+                             {
+                                Evas_Object *entry = elm_editfield_entry_get(editfield);
+                                elm_entry_entry_set(entry,s);
+
+                                free(s);
+                             }
+                           else
+                             elm_editfield_guide_text_set(editfield, "Text Input");
+                        }
+                      swallow_part_cnt++;
+                   }
+                 label_cnt++;
+              }
+         }                     
+     }
+
+   if (it->wd->edit_mode == 0xF0)
+     {
+       it->wd->edit_mode = 0;
+     }
 }
index 43e372a..9bd8167 100644 (file)
@@ -87,7 +87,12 @@ _theme_hook(Evas_Object *obj)
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd) return;
    if (wd->linewrap)
-     _elm_theme_object_set(obj, wd->lbl, "label", "base_wrap", elm_widget_style_get(obj));
+     {
+       if (wd->ellipsis)
+         _elm_theme_object_set(obj, wd->lbl, "label", "base_wrap_ellipsis", elm_widget_style_get(obj));
+       else
+         _elm_theme_object_set(obj, wd->lbl, "label", "base_wrap", elm_widget_style_get(obj));
+     }
    else
      _elm_theme_object_set(obj, wd->lbl, "label", "base", elm_widget_style_get(obj));
    edje_object_part_text_set(wd->lbl, "elm.text", wd->label);
@@ -534,7 +539,12 @@ elm_label_line_wrap_set(Evas_Object *obj, Eina_Bool wrap)
    wd->linewrap = wrap;
    t = eina_stringshare_add(elm_label_label_get(obj));
    if (wd->linewrap)
-     _elm_theme_object_set(obj, wd->lbl, "label", "base_wrap", elm_widget_style_get(obj));
+     {
+       if (wd->ellipsis)
+         _elm_theme_object_set(obj, wd->lbl, "label", "base_wrap_ellipsis", elm_widget_style_get(obj));
+       else
+         _elm_theme_object_set(obj, wd->lbl, "label", "base_wrap", elm_widget_style_get(obj));
+     }
    else
      _elm_theme_object_set(obj, wd->lbl, "label", "base", elm_widget_style_get(obj));
    elm_label_label_set(obj, t);
index f9a34a1..5d972e5 100644 (file)
@@ -198,6 +198,8 @@ _layout(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
 EAPI Evas_Object *
 elm_page_control_add(Evas_Object *parent)
 {
+       if (!parent) return NULL;
+       
        Evas_Object *obj;
        Evas *e;
        Widget_Data *wd;
index d80bcba..e7232ec 100644 (file)
@@ -65,13 +65,6 @@ static void _sizing_eval(Evas_Object *obj)
    evas_object_size_hint_max_set(obj, maxw, maxh);
 }
 
-static void
-_searchicon_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       if (!strcmp(source, "search_icon"))
-               evas_object_smart_callback_call(data, "searchsymbol,clicked", NULL);
-}
-
 static void _clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
 {
    Widget_Data *wd = elm_widget_data_get(data);
@@ -114,6 +107,18 @@ static void _cancel_clicked(void *data, Evas_Object *obj, const char *emission,
    evas_object_smart_callback_call(data, "cancel,clicked", NULL);
 }
 
+static void
+_searchicon_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+   Widget_Data *wd = elm_widget_data_get(data);
+   if (!wd) return;
+
+   if (!strcmp(source, "search_icon"))
+     evas_object_smart_callback_call(data, "searchsymbol,clicked", NULL);
+   else if (!strcmp(source, "base_bg"))
+     _clicked(data, obj, emission, source);
+}
+
 /**
  * Add a new searchbar to the parent
  * @param parent The parent object
@@ -156,7 +161,7 @@ EAPI Evas_Object *elm_searchbar_add(Evas_Object *parent)
    elm_editfield_eraser_set(wd->eb, EINA_TRUE);
    evas_object_smart_callback_add(wd->eb, "clicked", _clicked, obj);
    evas_object_smart_callback_add(elm_editfield_entry_get(wd->eb), "changed", _changed, obj);
-   edje_object_signal_callback_add(wd->base, "mouse,up,1", "search_icon", _searchicon_clicked, obj);
+   edje_object_signal_callback_add(wd->base, "mouse,up,1", "*", _searchicon_clicked, obj);
 
    elm_widget_sub_object_add(obj, wd->eb);
 
index 56471fc..16ab912 100644 (file)
@@ -1082,4 +1082,21 @@ elm_segment_control_item_get_at(Evas_Object *obj, unsigned int index)
 
    return it;
 }
+\r
+/**
+ * Select the index of a Segment item of Segmentcontrol
+ * @param item The Segment item.
+ * @return The corresponding index of the Segment item.
+ *
+ * @ingroup SegmentControl SegmentControl
+ */
+
+EAPI int
+elm_segment_control_item_index_get(Elm_Segment_Item *item)
+{
+   Widget_Data *wd = elm_widget_data_get(item->obj);
+   if(!wd) return NULL;
+
+   return item->segment_id;
+}
 
index d3f3d17..3b6381d 100644 (file)
@@ -170,6 +170,8 @@ _parent_hide(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *
 EAPI Evas_Object *
 elm_selectioninfo_add(Evas_Object *parent)
 {
+       if (!parent) return NULL;
+
        Evas_Object *obj;
        Evas *e;
        Widget_Data *wd;
index d99b63a..879d485 100755 (executable)
@@ -15,6 +15,8 @@
 #define ELM_MAX(v1, v2)        (((v1) > (v2)) ? (v1) : (v2))\r
 #define ROT_RIGHT                      (5)\r
 #define ROT_LEFT                       (-5)\r
+#define SHOW_ITEM_NUM          3                       \r
+\r
 \r
 struct _Stackedicon_Item {\r
        Evas_Object *parent;\r
@@ -43,6 +45,7 @@ struct _Widget_Data {
        Evas_Coord x, y, w, h;\r
        Eina_Bool on_expanded : 1;\r
        Eina_Bool visible: 1;\r
+       Eina_Bool move_start: 1;\r
 };\r
 \r
 static const char *widtype = NULL;\r
@@ -57,8 +60,8 @@ static void _icon_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_inf
 static void _icon_mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);\r
 static void _icon_mouse_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);\r
 static void _icon_mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);\r
-static void _icon_move_to_zero(void *data);\r
-static int _icon_move_to_zero_cb(void *data);\r
+static void _icon_move_to_zero(Evas_Object *obj);\r
+static int _icon_move_to_zero_cb(Evas_Object *obj);\r
 static void _icon_move_map(void *data, int flag, int interval_x, int interval_y);\r
 static void _icon_map_pos(void *data, Evas_Coord x, Evas_Coord y);\r
 static void _del_image(void *data);\r
@@ -72,6 +75,8 @@ static void _move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
 static void _show_cb(void *data, Evas * e, Evas_Object * obj, void *event_info);\r
 static void _hide_cb(void *data, Evas * e, Evas_Object * obj, void *event_info);\r
 static void _event_init(Evas_Object *obj);\r
+static void _hide_hidden_image(Evas_Object *obj);\r
+\r
 \r
 \r
 \r
@@ -195,6 +200,15 @@ static void _icon_mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *eve
        it->mdx = ev->output.x;\r
        it->mdy = ev->output.y;\r
 \r
+       _it = NULL;\r
+       EINA_LIST_REVERSE_FOREACH(wd->list, l, _it) {\r
+               if(_it != NULL){\r
+                       if(_it->exist == EINA_FALSE) _add_image(it->parent, _it);\r
+                       evas_object_move(_it->ly, wd->x + wd->w/2 - _it->mw/2, wd->y + wd->h/2 - _it->mh/2);    \r
+                       //if(wd->visible) evas_object_show(_it->ly);\r
+               }\r
+       }\r
+\r
        EINA_LIST_REVERSE_FOREACH(wd->list, l, _it) {\r
                if(_it != NULL){\r
                        if(_it->exist == EINA_TRUE){    \r
@@ -202,6 +216,8 @@ static void _icon_mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *eve
                        }\r
                }\r
        }\r
+\r
+       wd->move_start = TRUE;\r
 }\r
 \r
 static void _icon_mouse_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)\r
@@ -212,6 +228,11 @@ static void _icon_mouse_move_cb(void *data, Evas *e, Evas_Object *obj, void *eve
        Evas_Event_Mouse_Move *ev = event_info;\r
        if(!wd || !ev->buttons) return;\r
        \r
+       if(wd->move_start == TRUE){\r
+               _show_all_image(it->parent);\r
+               wd->move_start = FALSE;\r
+       }\r
+       \r
        if(it->on_hold == EINA_TRUE){\r
                it->mmx = ev->cur.output.x;\r
                it->mmy = ev->cur.output.y;\r
@@ -239,8 +260,9 @@ static void _icon_mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event
                wd->interval_y = 0;\r
                \r
                _icon_move_map(wd, 0, wd->x, wd->y);            \r
+               evas_object_smart_callback_call(it->parent, "expanded", NULL);  \r
+               _hide_hidden_image(it->parent);\r
 \r
-               evas_object_smart_callback_call(it->parent, "expanded", NULL);          \r
        }else{          \r
                wd->on_expanded= EINA_FALSE;    \r
                it->on_hold = EINA_FALSE;       \r
@@ -254,7 +276,7 @@ static void _icon_mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event
                        wd->animator = NULL;\r
                }\r
                wd->time = _current_time_get();\r
-               wd->animator= ecore_animator_add(_icon_move_to_zero_cb, wd);    \r
+               wd->animator= ecore_animator_add(_icon_move_to_zero_cb, it->parent);    \r
        }       \r
 }\r
 \r
@@ -266,9 +288,9 @@ static unsigned int _current_time_get(void)
        return ((timev.tv_sec * 1000) + ((timev.tv_usec) / 1000));\r
 }\r
 \r
-static void _icon_move_to_zero(void *data)\r
+static void _icon_move_to_zero(Evas_Object *obj)\r
 {\r
-       Widget_Data *wd = (Widget_Data *)data;\r
+       Widget_Data *wd = elm_widget_data_get(obj);\r
        double t;\r
        int x, y;\r
        if(!wd) return;\r
@@ -289,14 +311,15 @@ static void _icon_move_to_zero(void *data)
                wd->interval_x = 0;\r
                wd->interval_y = 0;             \r
                _icon_move_map(wd, 0, wd->x, wd->y);\r
+               _hide_hidden_image(obj);\r
        }else{  \r
                _icon_move_map(wd, 0, wd->x + wd->interval_x - x, wd->y + wd->interval_y - y);\r
        }\r
 }\r
 \r
-static int _icon_move_to_zero_cb(void *data)\r
+static int _icon_move_to_zero_cb(Evas_Object *obj)\r
 {      \r
-       _icon_move_to_zero(data);\r
+       _icon_move_to_zero(obj);\r
        \r
        return EXIT_FAILURE;\r
 }\r
@@ -433,10 +456,12 @@ static void _update_stackedicon(Evas_Object *obj)
        if (!wd || ((wd->w == 1) && (wd->h == 1))) return;\r
 \r
        EINA_LIST_REVERSE_FOREACH(wd->list, l, it) {\r
+               if(it->index >= SHOW_ITEM_NUM){\r
+                       if(it->ly) evas_object_hide(it->ly);\r
+                       continue;\r
+               }\r
                if(it != NULL){\r
-                       if(it->exist == EINA_FALSE){    \r
-                               _add_image(obj, it);\r
-                       }\r
+                       if(it->exist == EINA_FALSE) _add_image(obj, it);\r
                        evas_object_move(it->ly, wd->x + wd->w/2 - it->mw/2, wd->y + wd->h/2 - it->mh/2);       \r
                        if(wd->visible) evas_object_show(it->ly);\r
                }\r
@@ -481,6 +506,33 @@ static void _hide_all_image(Evas_Object *obj)
        }\r
 }\r
 \r
+static void _hide_hidden_image(Evas_Object *obj)\r
+{\r
+       Widget_Data *wd = elm_widget_data_get(obj);\r
+       Eina_List *l;\r
+       Elm_Stackedicon_Item *it = NULL;\r
+       if (!wd) return;\r
+                       \r
+       EINA_LIST_REVERSE_FOREACH(wd->list, l, it) {\r
+               if(it->index >= SHOW_ITEM_NUM){\r
+                       if(it->ly) evas_object_hide(it->ly);\r
+               }\r
+       }\r
+}\r
+\r
+static void\r
+_parent_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)\r
+{\r
+       Widget_Data *wd = elm_widget_data_get(data);\r
+       Evas_Coord w, h;        \r
+       if (!wd) return;\r
+\r
+       evas_object_geometry_get(obj, NULL, NULL, &w, &h);      \r
+       if(wd->clip) evas_object_resize(wd->clip, w, h);\r
+       \r
+       //_update_stackedicon(data);\r
+}\r
+\r
 static void\r
 _resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)\r
 {\r
@@ -544,6 +596,10 @@ _event_init(Evas_Object *obj)
        Widget_Data *wd = elm_widget_data_get(obj);\r
        if (!wd) return;\r
 \r
+       Evas_Object *parent = elm_widget_parent_get(obj);\r
+       if(parent)\r
+               evas_object_event_callback_add(parent, EVAS_CALLBACK_RESIZE, _parent_resize_cb, obj);\r
+       \r
        evas_object_event_callback_add(obj, EVAS_CALLBACK_RESIZE, _resize_cb, obj);\r
        evas_object_event_callback_add(obj, EVAS_CALLBACK_MOVE, _move_cb, obj); \r
        evas_object_event_callback_add(obj, EVAS_CALLBACK_SHOW, _show_cb, obj);\r
@@ -614,10 +670,12 @@ EAPI Elm_Stackedicon_Item *elm_stackedicon_item_append(Evas_Object *obj, const c
        it->parent = obj;\r
        it->ly = NULL;\r
        it->ic = NULL;\r
+       it->pad = NULL;\r
        it->index = eina_list_count(wd->list);\r
        it->exist = EINA_FALSE; \r
        wd->list = eina_list_append(wd->list, it);\r
 \r
+       if(it->index < SHOW_ITEM_NUM)\r
        _update_stackedicon(obj);\r
 \r
        return it;\r
@@ -645,10 +703,12 @@ EAPI Elm_Stackedicon_Item *elm_stackedicon_item_prepend(Evas_Object *obj, const
        it->parent = obj;\r
        it->ly = NULL;\r
        it->ic = NULL;\r
+       it->pad = NULL;\r
        it->index = eina_list_count(wd->list);\r
        it->exist = EINA_FALSE; \r
        wd->list = eina_list_prepend(wd->list, it);\r
 \r
+       if(it->index < SHOW_ITEM_NUM)\r
        _update_stackedicon(obj);\r
 \r
        return it;\r
index 6f37428..1b759e1 100644 (file)
@@ -115,7 +115,6 @@ elm_webview_add(Evas_Object *parent, Eina_Bool tiled)
 #ifdef BOUNCING_SUPPORT
    wd->container = elm_smart_webview_container_add(e);
    _elm_smart_webview_container_child_set(wd->container, wd->webkit);
-   _elm_smart_webview_container_set(wd->webkit, wd->container);
 #endif
    _elm_smart_webview_widget_set(wd->webkit, obj);
    evas_object_event_callback_add(wd->webkit, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
index 26105ea..ccfb423 100644 (file)
                        "</body>" \
                        "</html>"
 
+// for FLASH FILE SUPPORT
+#define LOCAL_FLASH_SUFFIX ".swf"
+#define FLASH_MIME_TYPE "application/x-shockwave-flash"
+#define FILE_PROTOCOL "file://"
+#define HTML_EMBED_1    "<html>" \
+                       "<head>" \
+                       "<script type='text/javascript'>" \
+                       "var s = "
+#define HTML_EMBED_2    ";" \
+                       "var url = s.substring(s.indexOf(\"?\") + 1, s.lastIndexOf(\"?\"));" \
+                       "document.write(\"<title>\" + unescape(url) + \"</title>\");" \
+                       "</script>" \
+                       "</head>" \
+                       "<body>" \
+                       "<object width=\"100%\" height=\"100%\">"
+#define HTML_EMBED_3    "<script type='text/javascript'>" \
+                       "var s = "
+#define HTML_EMBED_4    ";" \
+                       "var url = s.substring(s.indexOf(\"?\") + 1, s.lastIndexOf(\"?\"));" \
+                       "document.write(unescape(url));" \
+                       "var type = s.substring(s.lastIndexOf(\"?\") + 1, s.length);" \
+                       "document.write(unescape(type));" \
+                       "document.write(\"<embed width=\\\"100%\\\" height=\\\"100%\\\" src=\\\"\" + unescape(url) + \"\\\" type=\\\"\" + unescape(type) + \"\\\" />\");" \
+                       "</script>" \
+                       "</object>" \
+                       "</body>" \
+                       "</html>"
+
 #define NEED_TO_REMOVE
 //#define DBG printf
 //#define ERR printf
@@ -526,6 +554,19 @@ _elm_smart_webview_uri_set(Evas_Object* obj, const char* uri)
             full_uri[7] = '\0';
             len = (len >= (MAX_URI - 7)) ? (MAX_URI - 8) : len;
             strncat(full_uri, uri, len);
+
+       } else if (strstr(uri, FILE_PROTOCOL) && !strcmp(LOCAL_FLASH_SUFFIX, &uri[len - strlen(LOCAL_FLASH_SUFFIX)])) {
+            // support for local swf files
+            if (!sd->ewk_frame_contents_set)
+              sd->ewk_frame_contents_set = (Eina_Bool (*)(Evas_Object *, const char *, size_t, const char *, const char *, const char *))dlsym(ewk_handle, "ewk_frame_contents_set");
+            if (!sd->ewk_view_frame_main_get)
+              sd->ewk_view_frame_main_get = (Evas_Object *(*)(const Evas_Object *))dlsym(ewk_handle, "ewk_view_frame_main_get");
+            char szBuffer[2048] = "";
+            snprintf(szBuffer, 2048, "%s\"?%s?%s\"%s%s\"?%s?%s\"%s",
+                  HTML_EMBED_1, uri, FLASH_MIME_TYPE, HTML_EMBED_2, HTML_EMBED_3, uri, FLASH_MIME_TYPE, HTML_EMBED_4);
+            sd->ewk_frame_contents_set(sd->ewk_view_frame_main_get(obj), szBuffer, 0, NULL, NULL, uri);
+            return;
+
        } else {
             len = (len >= MAX_URI) ? (MAX_URI - 1) : len;
             strncpy(full_uri, uri, len);
@@ -999,7 +1040,7 @@ _smart_load_error(void* data, Evas_Object* webview, void* arg)
 
        snprintf(szBuffer, 2048, NOT_FOUND_PAGE_HEADER "\"?%s?%s\"" NOT_FOUND_PAGE_FOOTER, error->failing_url, error->description);
        //sd->ewk_frame_contents_set(sd->ewk_view_frame_main_get(webview), szStrBuffer, 0, NULL, NULL, NULL);
-       sd->ewk_frame_contents_set(error->frame, szBuffer, 0, NULL, NULL, NULL);
+       sd->ewk_frame_contents_set(error->frame, szBuffer, 0, NULL, NULL, error->failing_url);
        return;
      }
 }
@@ -1848,6 +1889,7 @@ _smart_cb_pan_by(void* data, Evas_Object* webview, void* ev)
 
    int dx = sd->pan_s.x - point->x;
    int dy = sd->pan_s.y - point->y;
+   if (dx == 0 && dy == 0) return;
 
    if (!sd->ewk_view_frame_main_get)
      sd->ewk_view_frame_main_get = (Evas_Object *(*)(const Evas_Object *))dlsym(ewk_handle, "ewk_view_frame_main_get");
@@ -1908,8 +1950,13 @@ _smart_cb_pan_by(void* data, Evas_Object* webview, void* ev)
 #endif
 
 #ifdef BOUNCING_SUPPORT
+   //_elm_smart_webview_container_bounce_add(sd->container, 10, 10);
+   //return;
+
    printf(":::::::: %s\n", __func__);
-   _elm_smart_webview_container_scroll_adjust(sd->container, &dx, &dy);
+
+   Eina_Bool container_scrolled;
+   container_scrolled = _elm_smart_webview_container_scroll_adjust(sd->container, &dx, &dy);
    if (dx == 0 && dy == 0)
      {
        sd->pan_s = *point;
@@ -1937,14 +1984,16 @@ _smart_cb_pan_by(void* data, Evas_Object* webview, void* ev)
      _text_selection_move_by(sd, old_x - new_x, old_y - new_y);
 
 #ifdef BOUNCING_SUPPORT
+   printf("<< ========content [%d, %d] old pos [%d, %d] new pos [%d, %d] >>(remained(%d, %d)\n",
+        content_w, content_h,
+        old_x, old_y,
+        old_x + dx, old_y + dy,
+        old_x + dx - new_x, old_y + dy - new_y);
    int bx, by;
    bx = old_x + dx - new_x;
    by = old_y + dy - new_y;
-   if (sd->on_flick && (bx != 0 || by != 0))
-     {
-       _elm_smart_webview_container_decelerated_flick_get(sd->container, &bx, &by);
-     }
-   _elm_smart_webview_container_bounce_add(sd->container, bx, by);
+   if (container_scrolled == EINA_TRUE || (bx != 0 || by != 0))
+     _elm_smart_webview_container_bounce_add(sd->container, bx, by);
 #endif
 
 #if 0 // comment out below code until it is completed
index 6ce3998..042ab43 100644 (file)
@@ -75,11 +75,11 @@ _elm_smart_webview_container_child_set(Evas_Object *obj, Evas_Object *child)
 Eina_Bool
 _elm_smart_webview_container_scroll_adjust(Evas_Object *obj, int *dx, int *dy)
 {
-   API_ENTRY return;
+   API_ENTRY return EINA_FALSE;
    Eina_Bool changed = EINA_FALSE;
-   printf(" [ WCSA ] %d , %d vs %d, %d\n", *dx, *dy, sd->bx, sd->by);
+   //printf(" [ WCSA ] %d , %d vs %d, %d\n", *dx, *dy, sd->bx, sd->by);
 
-   if (sd->bx != 0)
+   if (sd->bx != 0 && *dx != 0)
      {
        int xsum = sd->bx + *dx;
         if ((*dx < 0 && sd->bx > 0 && xsum < 0) ||
@@ -93,8 +93,9 @@ _elm_smart_webview_container_scroll_adjust(Evas_Object *obj, int *dx, int *dy)
             sd->bx = xsum;
             *dx = 0;
          }
+       changed = EINA_TRUE;
      }
-   if (sd->by != 0)
+   if (sd->by != 0 && *dy != 0)
      {
        int ysum = sd->by + *dy;
         if ((*dy < 0 && sd->by > 0 && ysum < 0) ||
@@ -108,6 +109,7 @@ _elm_smart_webview_container_scroll_adjust(Evas_Object *obj, int *dx, int *dy)
             sd->by = ysum;
             *dy = 0;
          }
+       changed = EINA_TRUE;
      }
 #if 0
    if (sd->bx > 0 && *dx < 0)
@@ -159,7 +161,7 @@ _elm_smart_webview_container_scroll_adjust(Evas_Object *obj, int *dx, int *dy)
        changed = EINA_TRUE;
      }
 #endif
-   printf(" [ WCSA(A) ] %d , %d vs %d, %d\n", *dx, *dy, sd->bx, sd->by);
+   //printf(" [ WCSA(A) ] %d , %d vs %d, %d\n", *dx, *dy, sd->bx, sd->by);
    return changed;
 }
 
@@ -226,7 +228,6 @@ static void
 _smart_reconfigure(Smart_Data *sd)
 {
    evas_object_move(sd->child_obj, sd->x - sd->bx, sd->y - sd->by);
-   //evas_object_move(sd->child_obj, sd->x, sd->y);
 }
 
 static void