}
}
+ 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";
+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
/*
- *
- * 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
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);
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);
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);
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);
/* 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:
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);
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;
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);
/* 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);
/* 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);
/* 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);
#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;
/* 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);
struct _Colorpalette_Color
{
- unsigned int r, g, b;
+ unsigned int r, g, b;
};
EAPI Evas_Object *elm_colorpalette_add(Evas_Object *parent);
/* softkey */
typedef enum
{
- ELM_SK_LEFT_BTN,
- ELM_SK_RIGHT_BTN,
+ ELM_SK_LEFT_BTN,
+ ELM_SK_RIGHT_BTN,
} Elm_Softkey_Type;
/* softkey */
/* 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);
/* 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();
/* 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);
/* 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);
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);
/* 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);
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);
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 );
/* 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);
/* 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);
_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);
//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,
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");
}
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 ;
}
}
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)
{
}
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);
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
{
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);
}
}
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;
- if( wd->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);
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)
{
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
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;
}
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;
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
}
}
-// 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;
+ }
}
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);
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);
EAPI Evas_Object *
elm_page_control_add(Evas_Object *parent)
{
+ if (!parent) return NULL;
+
Evas_Object *obj;
Evas *e;
Widget_Data *wd;
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);
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
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);
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;
+}
EAPI Evas_Object *
elm_selectioninfo_add(Evas_Object *parent)
{
+ if (!parent) return NULL;
+
Evas_Object *obj;
Evas *e;
Widget_Data *wd;
#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
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
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
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
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
}\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
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
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
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
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
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
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
}\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
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
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
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
#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,
"</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
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);
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;
}
}
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");
#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;
_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
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) ||
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) ||
sd->by = ysum;
*dy = 0;
}
+ changed = EINA_TRUE;
}
#if 0
if (sd->bx > 0 && *dx < 0)
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;
}
_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