From f8f6139b05cac2a8e63162cb60274c938b004ce3 Mon Sep 17 00:00:00 2001 From: Rajeev Ranjan Date: Wed, 19 May 2010 23:29:06 +0900 Subject: [PATCH] Added files elm_gridbox.c and elm_softkey.c --- src/lib/Elementary.h | 264 ++++++++- src/lib/Elementary.h.in | 42 ++ src/lib/Makefile | 161 +++++- src/lib/Makefile.am | 2 + src/lib/Makefile.in | 129 ++++- src/lib/elm_gridbox.c | 317 +++++++++++ src/lib/elm_softkey.c | 1360 +++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 2246 insertions(+), 29 deletions(-) create mode 100755 src/lib/elm_gridbox.c create mode 100755 src/lib/elm_softkey.c diff --git a/src/lib/Elementary.h b/src/lib/Elementary.h index 87fb185..bd142b9 100644 --- a/src/lib/Elementary.h +++ b/src/lib/Elementary.h @@ -17,7 +17,8 @@ #undef ELM_WINCE #define ELM_EDBUS #define ELM_EFREET -#undef ELM_ETHUMB +#define ELM_ETHUMB +#define ELM_IMF #define ELM_ALLOCA_H #define ELM_LIBINTL_H @@ -86,6 +87,11 @@ # include #endif +#ifdef ELM_IMF +# include +#endif + + #ifdef EAPI # undef EAPI #endif @@ -329,6 +335,8 @@ extern "C" { EAPI void elm_win_quickpanel_priority_minor_set(Evas_Object *obj, int priority); EAPI int elm_win_quickpanel_priority_minor_get(const Evas_Object *obj); EAPI void elm_win_quickpanel_zone_set(Evas_Object *obj, int zone); + EAPI void elm_win_indicator_state_set(Evas_Object *obj, int show_state); + EAPI int elm_win_indicator_state_get(Evas_Object *obj); /*... * ecore_x_icccm_hints_set -> accepts_focus (add to ecore_evas) @@ -420,10 +428,19 @@ extern "C" { EAPI void elm_box_unpack_all(Evas_Object *obj); /* smart callbacks called: */ + typedef enum { + UIControlStateDefault, + UIControlStateHighlighted, + UIControlStateDisabled, + UIControlStateFocused, + UIControlStateReserved + }UIControlState; EAPI Evas_Object *elm_button_add(Evas_Object *parent); EAPI void elm_button_label_set(Evas_Object *obj, const char *label); + EAPI void elm_button_label_set_for_state(Evas_Object *obj, const char *label, UIControlState state); EAPI const char *elm_button_label_get(const Evas_Object *obj); + EAPI const char *elm_button_label_get_for_state(const Evas_Object *obj, UIControlState state); EAPI void elm_button_icon_set(Evas_Object *obj, Evas_Object *icon); EAPI Evas_Object *elm_button_icon_get(const Evas_Object *obj); EAPI void elm_button_autorepeat_set(Evas_Object *obj, Eina_Bool on); @@ -506,6 +523,11 @@ extern "C" { EAPI Eina_Bool elm_label_line_wrap_get(const Evas_Object *obj); EAPI void elm_label_wrap_width_set(Evas_Object *obj, Evas_Coord w); EAPI Evas_Coord elm_label_wrap_width_get(const Evas_Object *obj); + EAPI void elm_label_fontsize_set(Evas_Object *obj, const int fontsize); + EAPI void elm_label_text_color_set(Evas_Object *obj, unsigned int r, unsigned int g, unsigned int b, unsigned int a); + EAPI void elm_label_text_align_set(Evas_Object *obj, char *alignmode); + EAPI void elm_label_background_color_set(Evas_Object *obj, unsigned int r, unsigned int g, unsigned int b, unsigned int a); + EAPI void elm_label_ellipsis_set(Evas_Object *obj, Eina_Bool ellipsis); /* available styles: * default * marker @@ -733,6 +755,15 @@ extern "C" { EAPI void elm_entry_item_provider_remove(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data); EAPI char *elm_entry_markup_to_utf8(const char *s); EAPI char *elm_entry_utf8_to_markup(const char *s); + + EAPI void elm_entry_autocapitalization_set(Evas_Object *obj, Eina_Bool on); + EAPI void elm_entry_autoenable_returnkey_set(Evas_Object *obj, Eina_Bool on); +#ifdef ELM_IMF + EAPI const Ecore_IMF_Context *elm_entry_imf_context_get(Evas_Object *obj); +#else + EAPI void *elm_entry_imf_context_get(Evas_Object *obj); +#endif + /* smart callbacks called: * "changed" - the text content changed * "selection,start" - the user started selecting text @@ -1151,14 +1182,30 @@ extern "C" { EAPI void elm_radio_value_set(Evas_Object *obj, int value); EAPI int elm_radio_value_get(const Evas_Object *obj); EAPI void elm_radio_value_pointer_set(Evas_Object *obj, int *valuep); - + typedef struct _Elm_Segment_Item Elm_Segment_Item; + EAPI Evas_Object *elm_segment_control_add(Evas_Object *parent); + EAPI Elm_Segment_Item * elm_segment_control_add_segment(Evas_Object *obj, Evas_Object *icon, const char *label, Eina_Bool animate); + EAPI void elm_segment_control_insert_segment_at(Evas_Object *obj, Evas_Object *icon, const char *label, unsigned int index, Eina_Bool animate); + EAPI Evas_Object *elm_segment_control_get_segment_at(Evas_Object *obj, unsigned int index); + EAPI void elm_segment_control_delete_segment(Evas_Object *obj, Elm_Segment_Item *item, Eina_Bool animate); + EAPI void elm_segment_control_delete_segment_at(Evas_Object *obj, unsigned int index, Eina_Bool animate); + EAPI const char *elm_segment_control_get_segment_label_at(Evas_Object *obj, unsigned int index); + EAPI Evas_Object *elm_segment_control_get_segment_icon_at(Evas_Object *obj, unsigned int index); + EAPI Elm_Segment_Item *elm_segment_control_selected_segment_get(const Evas_Object *obj, int *value); + EAPI int elm_segment_control_get_segment_count(Evas_Object *obj); + + EAPI Evas_Object *elm_page_control_add(Evas_Object *parent); + EAPI void elm_page_control_page_count_set(Evas_Object *obj, unsigned int page_count); + EAPI void elm_page_control_page_id_set(Evas_Object *obj, unsigned int page_id); + EAPI unsigned int elm_page_control_page_id_get(Evas_Object *obj); EAPI Evas_Object *elm_pager_add(Evas_Object *parent); EAPI void elm_pager_content_push(Evas_Object *obj, Evas_Object *content); EAPI void elm_pager_content_pop(Evas_Object *obj); EAPI void elm_pager_content_promote(Evas_Object *obj, Evas_Object *content); EAPI Evas_Object *elm_pager_content_bottom_get(const Evas_Object *obj); EAPI Evas_Object *elm_pager_content_top_get(const Evas_Object *obj); - /* available item styles: + EAPI void elm_pager_animation_set(Evas_Object *obj, Eina_Bool animation); + /* available item styles: * default * fade * fade_translucide @@ -1511,7 +1558,162 @@ extern "C" { EAPI void elm_mapbuf_alpha_set(Evas_Object *obj, Eina_Bool alpha); EAPI Eina_Bool elm_mapbuf_alpha_get(const Evas_Object *obj); + typedef struct _Picker_Item Elm_Picker_Item; + EAPI Evas_Object *elm_picker_add(Evas_Object *parent); + EAPI void elm_picker_next(Evas_Object *obj); + EAPI void elm_picker_prev(Evas_Object *obj); + EAPI Elm_Picker_Item *elm_picker_item_append(Evas_Object *obj, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), void *data); + EAPI Elm_Picker_Item *elm_picker_item_prepend(Evas_Object *obj, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), void *data); + EAPI const Eina_List *elm_picker_items_get(Evas_Object *obj); + EAPI Elm_Picker_Item *elm_picker_first_item_get(Evas_Object *obj); + EAPI Elm_Picker_Item *elm_picker_last_item_get(Evas_Object *obj); + EAPI Elm_Picker_Item *elm_picker_selected_item_get(Evas_Object *obj); + EAPI void elm_picker_item_selected_set(Elm_Picker_Item *item); + EAPI void elm_picker_item_del(Elm_Picker_Item *item); + EAPI const char *elm_picker_item_label_get(Elm_Picker_Item *item); + EAPI void elm_picker_item_label_set(Elm_Picker_Item *item, const char *label); + EAPI Elm_Picker_Item *elm_picker_item_prev(Elm_Picker_Item *item); + EAPI Elm_Picker_Item *elm_picker_item_next(Elm_Picker_Item *item); + /* smart callback called: + * "changed" - when picker selected item is changed + * "overflowed" - when picker item is changed to first item from last item + * "underflowed" - when picker item is changed to last item from first item. + */ + /* available styles: + * default + * no_button + * timepicker/ampm + */ + + typedef struct _Picker2_Item Elm_Picker2_Item; + EAPI Evas_Object *elm_picker2_add(Evas_Object *parent); + EAPI void elm_picker2_row_height_set(Evas_Object *obj, unsigned int row_height); + EAPI void elm_picker2_next(Evas_Object *obj); + EAPI void elm_picker2_prev(Evas_Object *obj); + EAPI Elm_Picker2_Item *elm_picker2_item_append(Evas_Object *obj, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), void *data); + EAPI Elm_Picker2_Item *elm_picker2_item_prepend(Evas_Object *obj, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), void *data); + EAPI const Eina_List *elm_picker2_items_get(Evas_Object *obj); + EAPI Elm_Picker2_Item *elm_picker2_first_item_get(Evas_Object *obj); + EAPI Elm_Picker2_Item *elm_picker2_last_item_get(Evas_Object *obj); + EAPI Elm_Picker2_Item *elm_picker2_selected_item_get(Evas_Object *obj); + EAPI void elm_picker2_item_selected_set(Elm_Picker2_Item *item); + EAPI void elm_picker2_item_del(Elm_Picker2_Item *item); + EAPI const char *elm_picker2_item_label_get(Elm_Picker2_Item *item); + EAPI void elm_picker2_item_label_set(Elm_Picker2_Item *item, const char *label); + EAPI Elm_Picker2_Item *elm_picker2_item_prev(Elm_Picker2_Item *item); + EAPI Elm_Picker2_Item *elm_picker2_item_next(Elm_Picker2_Item *item); + EAPI void *elm_picker2_item_data_get(Elm_Picker2_Item *item); + EAPI void elm_picker2_item_data_set(Elm_Picker2_Item *item, void *data); + EAPI Eina_Bool elm_picker2_item_disabled_get(Elm_Picker2_Item *item); + EAPI void elm_picker2_item_disabled_set(Elm_Picker2_Item *item, Eina_Bool disabled); + /* smart callback called: + * "selected" - when picker selected item is changed + * "overflowed" - when picker item is changed to first item from last item + * "underflowed" - when picker item is changed to last item from first item. + */ + /* available styles: + * default + */ + + EAPI Evas_Object *elm_timepicker_add(Evas_Object *parent); + EAPI void elm_timepicker_time_set(Evas_Object *obj, int hrs, int min, int sec); + EAPI void elm_timepicker_time_get(Evas_Object *obj, int *hrs, int *min, int *sec); + EAPI void elm_timepicker_show_am_pm_set(Evas_Object *obj, Eina_Bool am_pm); + EAPI void elm_timepicker_show_seconds_set(Evas_Object *obj, Eina_Bool seconds); + /* smart callback called: + * "changed" - when timepicker selected item is changed + */ + /* available styles: + * default + */ + + EAPI Evas_Object *elm_datepicker_add(Evas_Object *parent); + EAPI void elm_datepicker_date_set(Evas_Object *obj, int year, int month, int day); + EAPI void elm_datepicker_date_get(Evas_Object *obj, int *year, int *month, int *day); + EAPI void elm_datepicker_date_min_set(Evas_Object *obj, int year, int month, int day); // Not implemented + EAPI void elm_datepicker_date_min_get(Evas_Object *obj, int *year, int *month, int *day); + EAPI void elm_datepicker_date_max_set(Evas_Object *obj, int year, int month, int day); // Not implemented + EAPI void elm_datepicker_date_max_get(Evas_Object *obj, int *year, int *month, int *day); + EAPI void elm_datepicker_date_format_set(Evas_Object *obj, const char *fmt); + EAPI const char *elm_datepicker_date_format_get(Evas_Object *obj); + /* smart callback called: + * "changed" - when datepicker selected item is changed + */ + /* available styles: + * default + */ + EAPI Evas_Object *elm_datepicker2_add(Evas_Object *parent); + EAPI void elm_datepicker2_date_set(Evas_Object *obj, int year, int month, int day); + EAPI void elm_datepicker2_date_get(Evas_Object *obj, int *year, int *month, int *day); + EAPI void elm_datepicker2_date_min_set(Evas_Object *obj, int year, int month, int day); // Not implemented + EAPI void elm_datepicker2_date_min_get(Evas_Object *obj, int *year, int *month, int *day); + EAPI void elm_datepicker2_date_max_set(Evas_Object *obj, int year, int month, int day); // Not implemented + EAPI void elm_datepicker2_date_max_get(Evas_Object *obj, int *year, int *month, int *day); + EAPI void elm_datepicker2_date_format_set(Evas_Object *obj, const char *fmt); + EAPI const char *elm_datepicker2_date_format_get(Evas_Object *obj); + /* smart callback called: + * "changed" - when datepicker selected item is changed + */ + /* available styles: + * default + */ + + /* titlebar */ + EAPI Evas_Object *elm_titlebar_add(Evas_Object *parent); + EAPI void elm_titlebar_label_set(Evas_Object *obj, const char *label); + EAPI const char *elm_titlebar_label_get(Evas_Object *obj); + EAPI void elm_titlebar_icon_set(Evas_Object *obj, Evas_Object *icon); + EAPI Evas_Object *elm_titlebar_icon_get(Evas_Object *obj); + EAPI void elm_titlebar_end_set(Evas_Object *obj, Evas_Object *end); + EAPI Evas_Object *elm_titlebar_end_get(Evas_Object *obj); + /* 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; + + typedef enum _Elm_Popup_Mode + { + 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; + + /* smart callbacks called: + * "response" - when ever popup is closed, this signal is sent with appropriate response id.". + */ + + EAPI Evas_Object *elm_popup_add(Evas_Object *parent); + EAPI void elm_popup_desc_set(Evas_Object *obj, const char *text); + EAPI const char* elm_popup_desc_get(Evas_Object *obj); + EAPI void elm_popup_title_set(Evas_Object *obj, const char *text); + EAPI const char* elm_popup_title_get(Evas_Object *obj); + EAPI void elm_popup_content_set(Evas_Object *obj, Evas_Object *content); + EAPI Evas_Object* elm_popup_content_get(Evas_Object *obj); + EAPI void elm_popup_buttons_add(Evas_Object *obj,int no_of_buttons, char *first_button_text, ...); + Evas_Object* elm_popup_add_with_buttons(Evas_Object *parent, char *title, char *desc_text,int no_of_buttons, char *first_button_text, ... ); + EAPI void elm_popup_timeout_set(Evas_Object *popup, int timeout); + EAPI void elm_popup_set_mode(Evas_Object *popup, Elm_Popup_Mode mode); + EAPI void elm_popup_response(Evas_Object *popup, int response_id); + EAPI void elm_popup_orient_set(Evas_Object *popup, Elm_Popup_Orient orient); /* Contextual Popup */ typedef struct _Ctx_Popup_Item Elm_Ctxpopup_Item; @@ -1667,8 +1869,6 @@ extern "C" { EAPI void elm_fx_transform_multiply( Elm_Fx_Matrix* m, Elm_Fx_Matrix* m1, Elm_Fx_Matrix* m2 ); */ - - /* NavigationBar */ EAPI Evas_Object *elm_navigationbar_add(Evas_Object *parent); EAPI void elm_navigationbar_push(Evas_Object *obj, const char *title, Evas_Object *left_btn, Evas_Object *right_btn, Evas_Object *content, Eina_Bool animation); @@ -1728,6 +1928,18 @@ extern "C" { EAPI Evas_Object *elm_searchbar_entry_get(Evas_Object *obj); EAPI void elm_searchbar_cancel_button_animation_set(Evas_Object *obj, Eina_Bool cancel_btn_ani_flag); + /* actionsheet */ + typedef enum _Elm_Actionsheet_Button_Type { + 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); + EAPI void elm_actionsheet_title_set(Evas_Object *obj, const char *title); + EAPI void elm_actionsheet_button_add(Evas_Object *obj, const Elm_Actionsheet_Button_Type type, const char *title, void (*button_clicked_cb) (void *data, Evas_Object *obj, void *event_info), void *event_info); + EAPI int elm_actionsheet_button_title_get(Evas_Object *obj, const int index, char **title); + /* Toolbar 2 */ typedef struct _Elm_Toolbar2_Item Elm_Toolbar2_Item; EAPI Evas_Object *elm_toolbar2_add(Evas_Object *parent); @@ -1777,7 +1989,49 @@ extern "C" { EAPI Eina_Bool elm_editfield_left_icon_set(Evas_Object *obj, Evas_Object *icon); EAPI Evas_Object *elm_editfield_lett_icon_get(Evas_Object *obj); EAPI void elm_editfield_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line); + + /* softkey */ + typedef enum { + ELM_SK_LEFT_BTN, + ELM_SK_RIGHT_BTN, + } Elm_Softkey_Type; + + /* softkey */ + typedef struct _Elm_Softkey_Item Elm_Softkey_Item; + EAPI Evas_Object *elm_softkey_add(Evas_Object *parent); + EAPI Elm_Softkey_Item *elm_softkey_button_add(Evas_Object *obj, Elm_Softkey_Type type, Evas_Object *icon, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), const void *data); + EAPI void elm_softkey_button_del(Evas_Object *obj, Elm_Softkey_Type type); + EAPI void elm_softkey_button_show(Evas_Object *obj, Elm_Softkey_Type type); + EAPI void elm_softkey_button_hide(Evas_Object *obj, Elm_Softkey_Type type); + + EAPI Elm_Softkey_Item *elm_softkey_panel_item_add(Evas_Object *obj, Evas_Object *icon, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), const void *data); + EAPI int elm_softkey_panel_del(Evas_Object *obj); + EAPI int elm_softkey_panel_close(Evas_Object *obj); + EAPI int elm_softkey_panel_open(Evas_Object *obj); + + EAPI void elm_softkey_item_icon_set(Elm_Softkey_Item *item, Evas_Object *icon); + EAPI Evas_Object *elm_softkey_item_icon_get(Elm_Softkey_Item * item); + EAPI void elm_softkey_item_label_set(Elm_Softkey_Item *item, const char *label); + EAPI const char *elm_softkey_item_label_get(Elm_Softkey_Item * item); + EAPI Eina_Bool elm_softkey_item_disabled_get(Elm_Softkey_Item *item); + EAPI void elm_softkey_item_disabled_set(Elm_Softkey_Item *item, Eina_Bool disabled); + EAPI void elm_softkey_item_callback_set(Elm_Softkey_Item* item, void (*func)(void *data, Evas_Object *obj, void *event_info), const void *data ); + /* smart callback called: + * "clicked" - the user clicked the button, event_info: Softkey item + * "press" - the user press the button, event_info: Softkey item + * "panel,show" - when the panel is shown + * "panel,hide" - when the panel is hidden + */ + /* gridbox */ + EAPI Evas_Object *elm_gridbox_add(Evas_Object *parent); + EAPI void elm_gridbox_padding_set(Evas_Object *obj, Evas_Coord horizontal, Evas_Coord vertical); + EAPI void elm_gridbox_item_size_set(Evas_Object *obj, Evas_Coord h_itemsize, Evas_Coord v_itemsize); + EAPI void elm_gridbox_pack(Evas_Object *obj, Evas_Object *subobj); + EAPI Eina_Bool elm_gridbox_unpack(Evas_Object *obj, Evas_Object *subobj); + EAPI Eina_List *elm_gridbox_children_get(Evas_Object *obj); + EAPI void elm_gridbox_homogenous_padding_set(Evas_Object *obj, Eina_Bool homogenous); + #ifdef __cplusplus } diff --git a/src/lib/Elementary.h.in b/src/lib/Elementary.h.in index 2cd74c9..5880970 100755 --- a/src/lib/Elementary.h.in +++ b/src/lib/Elementary.h.in @@ -1989,7 +1989,49 @@ extern "C" { EAPI Eina_Bool elm_editfield_left_icon_set(Evas_Object *obj, Evas_Object *icon); EAPI Evas_Object *elm_editfield_lett_icon_get(Evas_Object *obj); EAPI void elm_editfield_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line); + + /* softkey */ + typedef enum { + ELM_SK_LEFT_BTN, + ELM_SK_RIGHT_BTN, + } Elm_Softkey_Type; + + /* softkey */ + typedef struct _Elm_Softkey_Item Elm_Softkey_Item; + EAPI Evas_Object *elm_softkey_add(Evas_Object *parent); + EAPI Elm_Softkey_Item *elm_softkey_button_add(Evas_Object *obj, Elm_Softkey_Type type, Evas_Object *icon, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), const void *data); + EAPI void elm_softkey_button_del(Evas_Object *obj, Elm_Softkey_Type type); + EAPI void elm_softkey_button_show(Evas_Object *obj, Elm_Softkey_Type type); + EAPI void elm_softkey_button_hide(Evas_Object *obj, Elm_Softkey_Type type); + + EAPI Elm_Softkey_Item *elm_softkey_panel_item_add(Evas_Object *obj, Evas_Object *icon, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), const void *data); + EAPI int elm_softkey_panel_del(Evas_Object *obj); + EAPI int elm_softkey_panel_close(Evas_Object *obj); + EAPI int elm_softkey_panel_open(Evas_Object *obj); + + EAPI void elm_softkey_item_icon_set(Elm_Softkey_Item *item, Evas_Object *icon); + EAPI Evas_Object *elm_softkey_item_icon_get(Elm_Softkey_Item * item); + EAPI void elm_softkey_item_label_set(Elm_Softkey_Item *item, const char *label); + EAPI const char *elm_softkey_item_label_get(Elm_Softkey_Item * item); + EAPI Eina_Bool elm_softkey_item_disabled_get(Elm_Softkey_Item *item); + EAPI void elm_softkey_item_disabled_set(Elm_Softkey_Item *item, Eina_Bool disabled); + EAPI void elm_softkey_item_callback_set(Elm_Softkey_Item* item, void (*func)(void *data, Evas_Object *obj, void *event_info), const void *data ); + /* smart callback called: + * "clicked" - the user clicked the button, event_info: Softkey item + * "press" - the user press the button, event_info: Softkey item + * "panel,show" - when the panel is shown + * "panel,hide" - when the panel is hidden + */ + /* gridbox */ + EAPI Evas_Object *elm_gridbox_add(Evas_Object *parent); + EAPI void elm_gridbox_padding_set(Evas_Object *obj, Evas_Coord horizontal, Evas_Coord vertical); + EAPI void elm_gridbox_item_size_set(Evas_Object *obj, Evas_Coord h_itemsize, Evas_Coord v_itemsize); + EAPI void elm_gridbox_pack(Evas_Object *obj, Evas_Object *subobj); + EAPI Eina_Bool elm_gridbox_unpack(Evas_Object *obj, Evas_Object *subobj); + EAPI Eina_List *elm_gridbox_children_get(Evas_Object *obj); + EAPI void elm_gridbox_homogenous_padding_set(Evas_Object *obj, Eina_Bool homogenous); + #ifdef __cplusplus } diff --git a/src/lib/Makefile b/src/lib/Makefile index 6f54063..008ecc9 100644 --- a/src/lib/Makefile +++ b/src/lib/Makefile @@ -77,6 +77,8 @@ am_libelementary_la_OBJECTS = libelementary_la-elm_main.lo \ libelementary_la-elm_carousel.lo \ libelementary_la-elm_slider.lo libelementary_la-elm_genlist.lo \ libelementary_la-elm_check.lo libelementary_la-elm_radio.lo \ + libelementary_la-elm_segment_control.lo \ + libelementary_la-elm_pagecontrol.lo \ libelementary_la-elm_pager.lo \ libelementary_la-elm_progressbar.lo \ libelementary_la-elm_separator.lo \ @@ -86,8 +88,13 @@ am_libelementary_la_OBJECTS = libelementary_la-elm_main.lo \ libelementary_la-elm_slideshow.lo libelementary_la-elm_menu.lo \ libelementary_la-elm_panel.lo libelementary_la-elm_map.lo \ libelementary_la-elm_flip.lo libelementary_la-elm_conform.lo \ - libelementary_la-elm_mapbuf.lo libelementary_la-elm_thumb.lo \ - libelementary_la-elm_config.lo \ + libelementary_la-elm_mapbuf.lo libelementary_la-elm_picker.lo \ + libelementary_la-elm_picker2.lo \ + libelementary_la-elm_timepicker.lo \ + libelementary_la-elm_datepicker.lo \ + libelementary_la-elm_datepicker2.lo \ + libelementary_la-elm_thumb.lo libelementary_la-elm_config.lo \ + libelementary_la-elm_titlebar.lo libelementary_la-elm_popup.lo \ libelementary_la-elm_diskcontroller.lo \ libelementary_la-elm_tab.lo \ libelementary_la-elm_navigationbar.lo \ @@ -97,6 +104,9 @@ am_libelementary_la_OBJECTS = libelementary_la-elm_main.lo \ libelementary_la-elm_colorpicker.lo \ libelementary_la-elm_colorpalette.lo \ libelementary_la-elm_ctxpopup.lo \ + libelementary_la-elm_actionsheet.lo \ + libelementary_la-elm_gridbox.lo \ + libelementary_la-elm_softkey.lo \ libelementary_la-elc_anchorblock.lo \ libelementary_la-elc_anchorview.lo \ libelementary_la-elc_fileselector.lo \ @@ -129,14 +139,14 @@ HEADERS = $(include_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/hermet/slp2/EFL/slp2-efl-upgrade-tools/efl-git/elementary/missing --run aclocal-1.10 +ACLOCAL = ${SHELL} /home/rajeev/git_repo/efl_git/slp2-efl-upgrade-tools/efl-git/elementary/missing --run aclocal-1.10 ALLOCA = -AMTAR = ${SHELL} /home/hermet/slp2/EFL/slp2-efl-upgrade-tools/efl-git/elementary/missing --run tar +AMTAR = ${SHELL} /home/rajeev/git_repo/efl_git/slp2-efl-upgrade-tools/efl-git/elementary/missing --run tar AR = ar AS = as -AUTOCONF = ${SHELL} /home/hermet/slp2/EFL/slp2-efl-upgrade-tools/efl-git/elementary/missing --run autoconf -AUTOHEADER = ${SHELL} /home/hermet/slp2/EFL/slp2-efl-upgrade-tools/efl-git/elementary/missing --run autoheader -AUTOMAKE = ${SHELL} /home/hermet/slp2/EFL/slp2-efl-upgrade-tools/efl-git/elementary/missing --run automake-1.10 +AUTOCONF = ${SHELL} /home/rajeev/git_repo/efl_git/slp2-efl-upgrade-tools/efl-git/elementary/missing --run autoconf +AUTOHEADER = ${SHELL} /home/rajeev/git_repo/efl_git/slp2-efl-upgrade-tools/efl-git/elementary/missing --run autoheader +AUTOMAKE = ${SHELL} /home/rajeev/git_repo/efl_git/slp2-efl-upgrade-tools/efl-git/elementary/missing --run automake-1.10 AWK = gawk CC = cc CCDEPMODE = depmode=none @@ -158,12 +168,14 @@ ELEMENTARY_EDBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I ELEMENTARY_EDBUS_LIBS = -ledbus -lehal ELEMENTARY_EFREET_CFLAGS = -I/usr/include/efreet -I/usr/include/eina-0 -I/usr/include/eina-0/eina -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ELEMENTARY_EFREET_LIBS = -lefreet -lefreet_mime -lefreet_trash -ELEMENTARY_ETHUMB_CFLAGS = -ELEMENTARY_ETHUMB_LIBS = +ELEMENTARY_ETHUMB_CFLAGS = -I/usr/include/eina-0 -I/usr/include/eina-0/eina -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include +ELEMENTARY_ETHUMB_LIBS = -lethumb_client -lethumb -ledbus -leina -levas -lecore -lecore_evas -lecore_file -ledje ELEMENTARY_EWEATHER_CFLAGS = ELEMENTARY_EWEATHER_LIBS = ELEMENTARY_FB_CFLAGS = -I/usr/include/eina-0 -I/usr/include/eina-0/eina -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include ELEMENTARY_FB_LIBS = -lecore_fb +ELEMENTARY_IMF_CFLAGS = -I/usr/include/eina-0 -I/usr/include/eina-0/eina -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +ELEMENTARY_IMF_LIBS = -lecore_imf ELEMENTARY_LIBS = -leina -leet -levas -lecore -lecore_evas -lecore_file -ledje ELEMENTARY_SDL_CFLAGS = ELEMENTARY_SDL_LIBS = @@ -176,8 +188,9 @@ ELEMENTARY_X_LIBS = -lecore_x ELM_ALLOCA_H_DEF = #define ELM_EDBUS_DEF = #define ELM_EFREET_DEF = #define -ELM_ETHUMB_DEF = #undef +ELM_ETHUMB_DEF = #define ELM_EWEATHER_DEF = #undef +ELM_IMF_DEF = #define ELM_LIBINTL_H_DEF = #define ELM_UNIX_DEF = #define ELM_WIN32_DEF = #undef @@ -200,7 +213,7 @@ LIBTOOL = $(SHELL) $(top_builddir)/libtool LIPO = LN_S = ln -s LTLIBOBJS = -MAKEINFO = ${SHELL} /home/hermet/slp2/EFL/slp2-efl-upgrade-tools/efl-git/elementary/missing --run makeinfo +MAKEINFO = ${SHELL} /home/rajeev/git_repo/efl_git/slp2-efl-upgrade-tools/efl-git/elementary/missing --run makeinfo MKDIR_P = /scratchbox/tools/bin/mkdir -p MODULE_ARCH = linux-gnu-i686-ver-pre-svn-05 NM = /scratchbox/compilers/bin/nm -B @@ -223,10 +236,10 @@ SET_MAKE = SHELL = /bin/sh STRIP = strip VERSION = 0.6.0.063 -abs_builddir = /home/hermet/slp2/EFL/slp2-efl-upgrade-tools/efl-git/elementary/src/lib -abs_srcdir = /home/hermet/slp2/EFL/slp2-efl-upgrade-tools/efl-git/elementary/src/lib -abs_top_builddir = /home/hermet/slp2/EFL/slp2-efl-upgrade-tools/efl-git/elementary -abs_top_srcdir = /home/hermet/slp2/EFL/slp2-efl-upgrade-tools/efl-git/elementary +abs_builddir = /home/rajeev/git_repo/efl_git/slp2-efl-upgrade-tools/efl-git/elementary/src/lib +abs_srcdir = /home/rajeev/git_repo/efl_git/slp2-efl-upgrade-tools/efl-git/elementary/src/lib +abs_top_builddir = /home/rajeev/git_repo/efl_git/slp2-efl-upgrade-tools/efl-git/elementary +abs_top_srcdir = /home/rajeev/git_repo/efl_git/slp2-efl-upgrade-tools/efl-git/elementary ac_ct_CC = cc ac_ct_DUMPBIN = am__include = include @@ -259,7 +272,7 @@ host_vendor = pc htmldir = ${docdir} includedir = ${prefix}/include infodir = ${prefix}/share/info -install_sh = $(SHELL) /home/hermet/slp2/EFL/slp2-efl-upgrade-tools/efl-git/elementary/install-sh +install_sh = $(SHELL) /home/rajeev/git_repo/efl_git/slp2-efl-upgrade-tools/efl-git/elementary/install-sh libdir = ${exec_prefix}/lib libexecdir = ${prefix}/lib/elementary localedir = ${datarootdir}/locale @@ -276,7 +289,7 @@ prefix = /usr program_transform_name = s,x,x, psdir = ${docdir} release_info = -release ver-pre-svn-05 -requirement_elm = efreet efreet-mime efreet-trash ehal edbus ecore-fb ecore-x edje ecore-file ecore-evas ecore evas eet eina-0 +requirement_elm = ecore-imf ethumb efreet efreet-mime efreet-trash ehal edbus ecore-fb ecore-x edje ecore-file ecore-evas ecore evas eet eina-0 sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com srcdir = . @@ -294,8 +307,8 @@ AM_CPPFLAGS = -I. -I$(top_builddir) -I$(top_srcdir) \ -I/usr/include/eina-0 -I/usr/include/eina-0/eina -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/eina-0 -I/usr/include/eina-0/eina -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ \ -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/eina-0 -I/usr/include/eina-0/eina \ - -I/usr/include/efreet -I/usr/include/eina-0 -I/usr/include/eina-0/eina -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include \ - $(am__append_1) + -I/usr/include/efreet -I/usr/include/eina-0 -I/usr/include/eina-0/eina -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/eina-0 -I/usr/include/eina-0/eina -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include \ + -I/usr/include/eina-0 -I/usr/include/eina-0/eina -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include $(am__append_1) lib_LTLIBRARIES = libelementary.la include_HEADERS = Elementary.h libelementary_la_SOURCES = \ @@ -332,6 +345,8 @@ elm_slider.c \ elm_genlist.c \ elm_check.c \ elm_radio.c \ +elm_segment_control.c \ +elm_pagecontrol.c \ elm_pager.c \ elm_progressbar.c \ elm_separator.c \ @@ -346,8 +361,15 @@ elm_map.c \ elm_flip.c \ elm_conform.c \ elm_mapbuf.c \ +elm_picker.c \ +elm_picker2.c \ +elm_timepicker.c \ +elm_datepicker.c \ +elm_datepicker2.c \ elm_thumb.c \ elm_config.c \ +elm_titlebar.c \ +elm_popup.c \ elm_diskcontroller.c \ elm_tab.c \ elm_navigationbar.c \ @@ -358,6 +380,9 @@ elm_editfield.c \ elm_colorpicker.c \ elm_colorpalette.c \ elm_ctxpopup.c \ +elm_actionsheet.c \ +elm_gridbox.c \ +elm_softkey.c \ \ elc_anchorblock.c \ elc_anchorview.c \ @@ -377,7 +402,7 @@ els_icon.c \ els_icon.h libelementary_la_CFLAGS = -libelementary_la_LIBADD = -lm -ldl -leina -leet -levas -lecore -lecore_evas -lecore_file -ledje -lecore_x -lecore_fb -ledbus -lehal -lefreet -lefreet_mime -lefreet_trash +libelementary_la_LIBADD = -lm -ldl -leina -leet -levas -lecore -lecore_evas -lecore_file -ledje -lecore_x -lecore_fb -ledbus -lehal -lefreet -lefreet_mime -lefreet_trash -lethumb_client -lethumb -ledbus -leina -levas -lecore -lecore_evas -lecore_file -ledje -lecore_imf libelementary_la_LDFLAGS = -no-undefined -version-info 6:0:6 -release ver-pre-svn-05 all: all-am @@ -457,6 +482,7 @@ distclean-compile: #include ./$(DEPDIR)/libelementary_la-elc_hoversel.Plo #include ./$(DEPDIR)/libelementary_la-elc_notepad.Plo #include ./$(DEPDIR)/libelementary_la-elc_scrolled_entry.Plo +#include ./$(DEPDIR)/libelementary_la-elm_actionsheet.Plo #include ./$(DEPDIR)/libelementary_la-elm_animator.Plo #include ./$(DEPDIR)/libelementary_la-elm_bg.Plo #include ./$(DEPDIR)/libelementary_la-elm_box.Plo @@ -470,12 +496,15 @@ distclean-compile: #include ./$(DEPDIR)/libelementary_la-elm_config.Plo #include ./$(DEPDIR)/libelementary_la-elm_conform.Plo #include ./$(DEPDIR)/libelementary_la-elm_ctxpopup.Plo +#include ./$(DEPDIR)/libelementary_la-elm_datepicker.Plo +#include ./$(DEPDIR)/libelementary_la-elm_datepicker2.Plo #include ./$(DEPDIR)/libelementary_la-elm_diskcontroller.Plo #include ./$(DEPDIR)/libelementary_la-elm_editfield.Plo #include ./$(DEPDIR)/libelementary_la-elm_entry.Plo #include ./$(DEPDIR)/libelementary_la-elm_flip.Plo #include ./$(DEPDIR)/libelementary_la-elm_frame.Plo #include ./$(DEPDIR)/libelementary_la-elm_genlist.Plo +#include ./$(DEPDIR)/libelementary_la-elm_gridbox.Plo #include ./$(DEPDIR)/libelementary_la-elm_hover.Plo #include ./$(DEPDIR)/libelementary_la-elm_icon.Plo #include ./$(DEPDIR)/libelementary_la-elm_image.Plo @@ -490,24 +519,32 @@ distclean-compile: #include ./$(DEPDIR)/libelementary_la-elm_module.Plo #include ./$(DEPDIR)/libelementary_la-elm_navigationbar.Plo #include ./$(DEPDIR)/libelementary_la-elm_notify.Plo +#include ./$(DEPDIR)/libelementary_la-elm_pagecontrol.Plo #include ./$(DEPDIR)/libelementary_la-elm_pager.Plo #include ./$(DEPDIR)/libelementary_la-elm_panel.Plo #include ./$(DEPDIR)/libelementary_la-elm_photo.Plo #include ./$(DEPDIR)/libelementary_la-elm_photocam.Plo +#include ./$(DEPDIR)/libelementary_la-elm_picker.Plo +#include ./$(DEPDIR)/libelementary_la-elm_picker2.Plo +#include ./$(DEPDIR)/libelementary_la-elm_popup.Plo #include ./$(DEPDIR)/libelementary_la-elm_progressbar.Plo #include ./$(DEPDIR)/libelementary_la-elm_radio.Plo #include ./$(DEPDIR)/libelementary_la-elm_scrolled_grid.Plo #include ./$(DEPDIR)/libelementary_la-elm_scroller.Plo #include ./$(DEPDIR)/libelementary_la-elm_searchbar.Plo +#include ./$(DEPDIR)/libelementary_la-elm_segment_control.Plo #include ./$(DEPDIR)/libelementary_la-elm_separator.Plo #include ./$(DEPDIR)/libelementary_la-elm_slider.Plo #include ./$(DEPDIR)/libelementary_la-elm_slideshow.Plo +#include ./$(DEPDIR)/libelementary_la-elm_softkey.Plo #include ./$(DEPDIR)/libelementary_la-elm_spinner.Plo #include ./$(DEPDIR)/libelementary_la-elm_tab.Plo #include ./$(DEPDIR)/libelementary_la-elm_tabbar.Plo #include ./$(DEPDIR)/libelementary_la-elm_table.Plo #include ./$(DEPDIR)/libelementary_la-elm_theme.Plo #include ./$(DEPDIR)/libelementary_la-elm_thumb.Plo +#include ./$(DEPDIR)/libelementary_la-elm_timepicker.Plo +#include ./$(DEPDIR)/libelementary_la-elm_titlebar.Plo #include ./$(DEPDIR)/libelementary_la-elm_toggle.Plo #include ./$(DEPDIR)/libelementary_la-elm_toolbar.Plo #include ./$(DEPDIR)/libelementary_la-elm_toolbar2.Plo @@ -757,6 +794,20 @@ libelementary_la-elm_radio.lo: elm_radio.c # DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_radio.lo `test -f 'elm_radio.c' || echo '$(srcdir)/'`elm_radio.c +libelementary_la-elm_segment_control.lo: elm_segment_control.c +# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_segment_control.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_segment_control.Tpo -c -o libelementary_la-elm_segment_control.lo `test -f 'elm_segment_control.c' || echo '$(srcdir)/'`elm_segment_control.c +# mv -f $(DEPDIR)/libelementary_la-elm_segment_control.Tpo $(DEPDIR)/libelementary_la-elm_segment_control.Plo +# source='elm_segment_control.c' object='libelementary_la-elm_segment_control.lo' libtool=yes +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_segment_control.lo `test -f 'elm_segment_control.c' || echo '$(srcdir)/'`elm_segment_control.c + +libelementary_la-elm_pagecontrol.lo: elm_pagecontrol.c +# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_pagecontrol.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_pagecontrol.Tpo -c -o libelementary_la-elm_pagecontrol.lo `test -f 'elm_pagecontrol.c' || echo '$(srcdir)/'`elm_pagecontrol.c +# mv -f $(DEPDIR)/libelementary_la-elm_pagecontrol.Tpo $(DEPDIR)/libelementary_la-elm_pagecontrol.Plo +# source='elm_pagecontrol.c' object='libelementary_la-elm_pagecontrol.lo' libtool=yes +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_pagecontrol.lo `test -f 'elm_pagecontrol.c' || echo '$(srcdir)/'`elm_pagecontrol.c + libelementary_la-elm_pager.lo: elm_pager.c # $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_pager.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_pager.Tpo -c -o libelementary_la-elm_pager.lo `test -f 'elm_pager.c' || echo '$(srcdir)/'`elm_pager.c # mv -f $(DEPDIR)/libelementary_la-elm_pager.Tpo $(DEPDIR)/libelementary_la-elm_pager.Plo @@ -855,6 +906,41 @@ libelementary_la-elm_mapbuf.lo: elm_mapbuf.c # DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_mapbuf.lo `test -f 'elm_mapbuf.c' || echo '$(srcdir)/'`elm_mapbuf.c +libelementary_la-elm_picker.lo: elm_picker.c +# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_picker.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_picker.Tpo -c -o libelementary_la-elm_picker.lo `test -f 'elm_picker.c' || echo '$(srcdir)/'`elm_picker.c +# mv -f $(DEPDIR)/libelementary_la-elm_picker.Tpo $(DEPDIR)/libelementary_la-elm_picker.Plo +# source='elm_picker.c' object='libelementary_la-elm_picker.lo' libtool=yes +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_picker.lo `test -f 'elm_picker.c' || echo '$(srcdir)/'`elm_picker.c + +libelementary_la-elm_picker2.lo: elm_picker2.c +# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_picker2.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_picker2.Tpo -c -o libelementary_la-elm_picker2.lo `test -f 'elm_picker2.c' || echo '$(srcdir)/'`elm_picker2.c +# mv -f $(DEPDIR)/libelementary_la-elm_picker2.Tpo $(DEPDIR)/libelementary_la-elm_picker2.Plo +# source='elm_picker2.c' object='libelementary_la-elm_picker2.lo' libtool=yes +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_picker2.lo `test -f 'elm_picker2.c' || echo '$(srcdir)/'`elm_picker2.c + +libelementary_la-elm_timepicker.lo: elm_timepicker.c +# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_timepicker.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_timepicker.Tpo -c -o libelementary_la-elm_timepicker.lo `test -f 'elm_timepicker.c' || echo '$(srcdir)/'`elm_timepicker.c +# mv -f $(DEPDIR)/libelementary_la-elm_timepicker.Tpo $(DEPDIR)/libelementary_la-elm_timepicker.Plo +# source='elm_timepicker.c' object='libelementary_la-elm_timepicker.lo' libtool=yes +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_timepicker.lo `test -f 'elm_timepicker.c' || echo '$(srcdir)/'`elm_timepicker.c + +libelementary_la-elm_datepicker.lo: elm_datepicker.c +# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_datepicker.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_datepicker.Tpo -c -o libelementary_la-elm_datepicker.lo `test -f 'elm_datepicker.c' || echo '$(srcdir)/'`elm_datepicker.c +# mv -f $(DEPDIR)/libelementary_la-elm_datepicker.Tpo $(DEPDIR)/libelementary_la-elm_datepicker.Plo +# source='elm_datepicker.c' object='libelementary_la-elm_datepicker.lo' libtool=yes +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_datepicker.lo `test -f 'elm_datepicker.c' || echo '$(srcdir)/'`elm_datepicker.c + +libelementary_la-elm_datepicker2.lo: elm_datepicker2.c +# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_datepicker2.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_datepicker2.Tpo -c -o libelementary_la-elm_datepicker2.lo `test -f 'elm_datepicker2.c' || echo '$(srcdir)/'`elm_datepicker2.c +# mv -f $(DEPDIR)/libelementary_la-elm_datepicker2.Tpo $(DEPDIR)/libelementary_la-elm_datepicker2.Plo +# source='elm_datepicker2.c' object='libelementary_la-elm_datepicker2.lo' libtool=yes +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_datepicker2.lo `test -f 'elm_datepicker2.c' || echo '$(srcdir)/'`elm_datepicker2.c + libelementary_la-elm_thumb.lo: elm_thumb.c # $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_thumb.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_thumb.Tpo -c -o libelementary_la-elm_thumb.lo `test -f 'elm_thumb.c' || echo '$(srcdir)/'`elm_thumb.c # mv -f $(DEPDIR)/libelementary_la-elm_thumb.Tpo $(DEPDIR)/libelementary_la-elm_thumb.Plo @@ -869,6 +955,20 @@ libelementary_la-elm_config.lo: elm_config.c # DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_config.lo `test -f 'elm_config.c' || echo '$(srcdir)/'`elm_config.c +libelementary_la-elm_titlebar.lo: elm_titlebar.c +# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_titlebar.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_titlebar.Tpo -c -o libelementary_la-elm_titlebar.lo `test -f 'elm_titlebar.c' || echo '$(srcdir)/'`elm_titlebar.c +# mv -f $(DEPDIR)/libelementary_la-elm_titlebar.Tpo $(DEPDIR)/libelementary_la-elm_titlebar.Plo +# source='elm_titlebar.c' object='libelementary_la-elm_titlebar.lo' libtool=yes +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_titlebar.lo `test -f 'elm_titlebar.c' || echo '$(srcdir)/'`elm_titlebar.c + +libelementary_la-elm_popup.lo: elm_popup.c +# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_popup.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_popup.Tpo -c -o libelementary_la-elm_popup.lo `test -f 'elm_popup.c' || echo '$(srcdir)/'`elm_popup.c +# mv -f $(DEPDIR)/libelementary_la-elm_popup.Tpo $(DEPDIR)/libelementary_la-elm_popup.Plo +# source='elm_popup.c' object='libelementary_la-elm_popup.lo' libtool=yes +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_popup.lo `test -f 'elm_popup.c' || echo '$(srcdir)/'`elm_popup.c + libelementary_la-elm_diskcontroller.lo: elm_diskcontroller.c # $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_diskcontroller.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_diskcontroller.Tpo -c -o libelementary_la-elm_diskcontroller.lo `test -f 'elm_diskcontroller.c' || echo '$(srcdir)/'`elm_diskcontroller.c # mv -f $(DEPDIR)/libelementary_la-elm_diskcontroller.Tpo $(DEPDIR)/libelementary_la-elm_diskcontroller.Plo @@ -939,6 +1039,27 @@ libelementary_la-elm_ctxpopup.lo: elm_ctxpopup.c # DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_ctxpopup.lo `test -f 'elm_ctxpopup.c' || echo '$(srcdir)/'`elm_ctxpopup.c +libelementary_la-elm_actionsheet.lo: elm_actionsheet.c +# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_actionsheet.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_actionsheet.Tpo -c -o libelementary_la-elm_actionsheet.lo `test -f 'elm_actionsheet.c' || echo '$(srcdir)/'`elm_actionsheet.c +# mv -f $(DEPDIR)/libelementary_la-elm_actionsheet.Tpo $(DEPDIR)/libelementary_la-elm_actionsheet.Plo +# source='elm_actionsheet.c' object='libelementary_la-elm_actionsheet.lo' libtool=yes +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_actionsheet.lo `test -f 'elm_actionsheet.c' || echo '$(srcdir)/'`elm_actionsheet.c + +libelementary_la-elm_gridbox.lo: elm_gridbox.c +# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_gridbox.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_gridbox.Tpo -c -o libelementary_la-elm_gridbox.lo `test -f 'elm_gridbox.c' || echo '$(srcdir)/'`elm_gridbox.c +# mv -f $(DEPDIR)/libelementary_la-elm_gridbox.Tpo $(DEPDIR)/libelementary_la-elm_gridbox.Plo +# source='elm_gridbox.c' object='libelementary_la-elm_gridbox.lo' libtool=yes +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_gridbox.lo `test -f 'elm_gridbox.c' || echo '$(srcdir)/'`elm_gridbox.c + +libelementary_la-elm_softkey.lo: elm_softkey.c +# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_softkey.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_softkey.Tpo -c -o libelementary_la-elm_softkey.lo `test -f 'elm_softkey.c' || echo '$(srcdir)/'`elm_softkey.c +# mv -f $(DEPDIR)/libelementary_la-elm_softkey.Tpo $(DEPDIR)/libelementary_la-elm_softkey.Plo +# source='elm_softkey.c' object='libelementary_la-elm_softkey.lo' libtool=yes +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) + $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_softkey.lo `test -f 'elm_softkey.c' || echo '$(srcdir)/'`elm_softkey.c + libelementary_la-elc_anchorblock.lo: elc_anchorblock.c # $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elc_anchorblock.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elc_anchorblock.Tpo -c -o libelementary_la-elc_anchorblock.lo `test -f 'elc_anchorblock.c' || echo '$(srcdir)/'`elc_anchorblock.c # mv -f $(DEPDIR)/libelementary_la-elc_anchorblock.Tpo $(DEPDIR)/libelementary_la-elc_anchorblock.Plo diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index 6f65744..0775ee6 100755 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -98,6 +98,8 @@ elm_colorpicker.c \ elm_colorpalette.c \ elm_ctxpopup.c \ elm_actionsheet.c \ +elm_gridbox.c \ +elm_softkey.c \ \ elc_anchorblock.c \ elc_anchorview.c \ diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in index b53912e..d44506c 100644 --- a/src/lib/Makefile.in +++ b/src/lib/Makefile.in @@ -77,6 +77,8 @@ am_libelementary_la_OBJECTS = libelementary_la-elm_main.lo \ libelementary_la-elm_carousel.lo \ libelementary_la-elm_slider.lo libelementary_la-elm_genlist.lo \ libelementary_la-elm_check.lo libelementary_la-elm_radio.lo \ + libelementary_la-elm_segment_control.lo \ + libelementary_la-elm_pagecontrol.lo \ libelementary_la-elm_pager.lo \ libelementary_la-elm_progressbar.lo \ libelementary_la-elm_separator.lo \ @@ -86,8 +88,13 @@ am_libelementary_la_OBJECTS = libelementary_la-elm_main.lo \ libelementary_la-elm_slideshow.lo libelementary_la-elm_menu.lo \ libelementary_la-elm_panel.lo libelementary_la-elm_map.lo \ libelementary_la-elm_flip.lo libelementary_la-elm_conform.lo \ - libelementary_la-elm_mapbuf.lo libelementary_la-elm_thumb.lo \ - libelementary_la-elm_config.lo \ + libelementary_la-elm_mapbuf.lo libelementary_la-elm_picker.lo \ + libelementary_la-elm_picker2.lo \ + libelementary_la-elm_timepicker.lo \ + libelementary_la-elm_datepicker.lo \ + libelementary_la-elm_datepicker2.lo \ + libelementary_la-elm_thumb.lo libelementary_la-elm_config.lo \ + libelementary_la-elm_titlebar.lo libelementary_la-elm_popup.lo \ libelementary_la-elm_diskcontroller.lo \ libelementary_la-elm_tab.lo \ libelementary_la-elm_navigationbar.lo \ @@ -97,6 +104,9 @@ am_libelementary_la_OBJECTS = libelementary_la-elm_main.lo \ libelementary_la-elm_colorpicker.lo \ libelementary_la-elm_colorpalette.lo \ libelementary_la-elm_ctxpopup.lo \ + libelementary_la-elm_actionsheet.lo \ + libelementary_la-elm_gridbox.lo \ + libelementary_la-elm_softkey.lo \ libelementary_la-elc_anchorblock.lo \ libelementary_la-elc_anchorview.lo \ libelementary_la-elc_fileselector.lo \ @@ -164,6 +174,8 @@ ELEMENTARY_EWEATHER_CFLAGS = @ELEMENTARY_EWEATHER_CFLAGS@ ELEMENTARY_EWEATHER_LIBS = @ELEMENTARY_EWEATHER_LIBS@ ELEMENTARY_FB_CFLAGS = @ELEMENTARY_FB_CFLAGS@ ELEMENTARY_FB_LIBS = @ELEMENTARY_FB_LIBS@ +ELEMENTARY_IMF_CFLAGS = @ELEMENTARY_IMF_CFLAGS@ +ELEMENTARY_IMF_LIBS = @ELEMENTARY_IMF_LIBS@ ELEMENTARY_LIBS = @ELEMENTARY_LIBS@ ELEMENTARY_SDL_CFLAGS = @ELEMENTARY_SDL_CFLAGS@ ELEMENTARY_SDL_LIBS = @ELEMENTARY_SDL_LIBS@ @@ -178,6 +190,7 @@ ELM_EDBUS_DEF = @ELM_EDBUS_DEF@ ELM_EFREET_DEF = @ELM_EFREET_DEF@ ELM_ETHUMB_DEF = @ELM_ETHUMB_DEF@ ELM_EWEATHER_DEF = @ELM_EWEATHER_DEF@ +ELM_IMF_DEF = @ELM_IMF_DEF@ ELM_LIBINTL_H_DEF = @ELM_LIBINTL_H_DEF@ ELM_UNIX_DEF = @ELM_UNIX_DEF@ ELM_WIN32_DEF = @ELM_WIN32_DEF@ @@ -295,7 +308,7 @@ AM_CPPFLAGS = -I. -I$(top_builddir) -I$(top_srcdir) \ @ELEMENTARY_SDL_CFLAGS@ @ELEMENTARY_WIN32_CFLAGS@ \ @ELEMENTARY_WINCE_CFLAGS@ @ELEMENTARY_EDBUS_CFLAGS@ \ @ELEMENTARY_EFREET_CFLAGS@ @ELEMENTARY_ETHUMB_CFLAGS@ \ - $(am__append_1) + @ELEMENTARY_IMF_CFLAGS@ $(am__append_1) lib_LTLIBRARIES = libelementary.la include_HEADERS = Elementary.h libelementary_la_SOURCES = \ @@ -332,6 +345,8 @@ elm_slider.c \ elm_genlist.c \ elm_check.c \ elm_radio.c \ +elm_segment_control.c \ +elm_pagecontrol.c \ elm_pager.c \ elm_progressbar.c \ elm_separator.c \ @@ -346,8 +361,15 @@ elm_map.c \ elm_flip.c \ elm_conform.c \ elm_mapbuf.c \ +elm_picker.c \ +elm_picker2.c \ +elm_timepicker.c \ +elm_datepicker.c \ +elm_datepicker2.c \ elm_thumb.c \ elm_config.c \ +elm_titlebar.c \ +elm_popup.c \ elm_diskcontroller.c \ elm_tab.c \ elm_navigationbar.c \ @@ -358,6 +380,9 @@ elm_editfield.c \ elm_colorpicker.c \ elm_colorpalette.c \ elm_ctxpopup.c \ +elm_actionsheet.c \ +elm_gridbox.c \ +elm_softkey.c \ \ elc_anchorblock.c \ elc_anchorview.c \ @@ -377,7 +402,7 @@ els_icon.c \ els_icon.h libelementary_la_CFLAGS = -libelementary_la_LIBADD = @my_libs@ @dlopen_libs@ @ELEMENTARY_LIBS@ @ELEMENTARY_X_LIBS@ @ELEMENTARY_FB_LIBS@ @ELEMENTARY_SDL_LIBS@ @ELEMENTARY_WIN32_LIBS@ @ELEMENTARY_WINCE_LIBS@ @ELEMENTARY_EDBUS_LIBS@ @ELEMENTARY_EFREET_LIBS@ @ELEMENTARY_ETHUMB_LIBS@ +libelementary_la_LIBADD = @my_libs@ @dlopen_libs@ @ELEMENTARY_LIBS@ @ELEMENTARY_X_LIBS@ @ELEMENTARY_FB_LIBS@ @ELEMENTARY_SDL_LIBS@ @ELEMENTARY_WIN32_LIBS@ @ELEMENTARY_WINCE_LIBS@ @ELEMENTARY_EDBUS_LIBS@ @ELEMENTARY_EFREET_LIBS@ @ELEMENTARY_ETHUMB_LIBS@ @ELEMENTARY_IMF_LIBS@ libelementary_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@ all: all-am @@ -457,6 +482,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elc_hoversel.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elc_notepad.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elc_scrolled_entry.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_actionsheet.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_animator.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_bg.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_box.Plo@am__quote@ @@ -470,12 +496,15 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_config.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_conform.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_ctxpopup.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_datepicker.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_datepicker2.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_diskcontroller.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_editfield.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_entry.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_flip.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_frame.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_genlist.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_gridbox.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_hover.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_icon.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_image.Plo@am__quote@ @@ -490,24 +519,32 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_module.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_navigationbar.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_notify.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_pagecontrol.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_pager.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_panel.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_photo.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_photocam.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_picker.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_picker2.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_popup.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_progressbar.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_radio.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_scrolled_grid.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_scroller.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_searchbar.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_segment_control.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_separator.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_slider.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_slideshow.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_softkey.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_spinner.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_tab.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_tabbar.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_table.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_theme.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_thumb.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_timepicker.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_titlebar.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_toggle.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_toolbar.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libelementary_la-elm_toolbar2.Plo@am__quote@ @@ -757,6 +794,20 @@ libelementary_la-elm_radio.lo: elm_radio.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_radio.lo `test -f 'elm_radio.c' || echo '$(srcdir)/'`elm_radio.c +libelementary_la-elm_segment_control.lo: elm_segment_control.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_segment_control.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_segment_control.Tpo -c -o libelementary_la-elm_segment_control.lo `test -f 'elm_segment_control.c' || echo '$(srcdir)/'`elm_segment_control.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libelementary_la-elm_segment_control.Tpo $(DEPDIR)/libelementary_la-elm_segment_control.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='elm_segment_control.c' object='libelementary_la-elm_segment_control.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_segment_control.lo `test -f 'elm_segment_control.c' || echo '$(srcdir)/'`elm_segment_control.c + +libelementary_la-elm_pagecontrol.lo: elm_pagecontrol.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_pagecontrol.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_pagecontrol.Tpo -c -o libelementary_la-elm_pagecontrol.lo `test -f 'elm_pagecontrol.c' || echo '$(srcdir)/'`elm_pagecontrol.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libelementary_la-elm_pagecontrol.Tpo $(DEPDIR)/libelementary_la-elm_pagecontrol.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='elm_pagecontrol.c' object='libelementary_la-elm_pagecontrol.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_pagecontrol.lo `test -f 'elm_pagecontrol.c' || echo '$(srcdir)/'`elm_pagecontrol.c + libelementary_la-elm_pager.lo: elm_pager.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_pager.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_pager.Tpo -c -o libelementary_la-elm_pager.lo `test -f 'elm_pager.c' || echo '$(srcdir)/'`elm_pager.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libelementary_la-elm_pager.Tpo $(DEPDIR)/libelementary_la-elm_pager.Plo @@ -855,6 +906,41 @@ libelementary_la-elm_mapbuf.lo: elm_mapbuf.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_mapbuf.lo `test -f 'elm_mapbuf.c' || echo '$(srcdir)/'`elm_mapbuf.c +libelementary_la-elm_picker.lo: elm_picker.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_picker.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_picker.Tpo -c -o libelementary_la-elm_picker.lo `test -f 'elm_picker.c' || echo '$(srcdir)/'`elm_picker.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libelementary_la-elm_picker.Tpo $(DEPDIR)/libelementary_la-elm_picker.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='elm_picker.c' object='libelementary_la-elm_picker.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_picker.lo `test -f 'elm_picker.c' || echo '$(srcdir)/'`elm_picker.c + +libelementary_la-elm_picker2.lo: elm_picker2.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_picker2.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_picker2.Tpo -c -o libelementary_la-elm_picker2.lo `test -f 'elm_picker2.c' || echo '$(srcdir)/'`elm_picker2.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libelementary_la-elm_picker2.Tpo $(DEPDIR)/libelementary_la-elm_picker2.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='elm_picker2.c' object='libelementary_la-elm_picker2.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_picker2.lo `test -f 'elm_picker2.c' || echo '$(srcdir)/'`elm_picker2.c + +libelementary_la-elm_timepicker.lo: elm_timepicker.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_timepicker.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_timepicker.Tpo -c -o libelementary_la-elm_timepicker.lo `test -f 'elm_timepicker.c' || echo '$(srcdir)/'`elm_timepicker.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libelementary_la-elm_timepicker.Tpo $(DEPDIR)/libelementary_la-elm_timepicker.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='elm_timepicker.c' object='libelementary_la-elm_timepicker.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_timepicker.lo `test -f 'elm_timepicker.c' || echo '$(srcdir)/'`elm_timepicker.c + +libelementary_la-elm_datepicker.lo: elm_datepicker.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_datepicker.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_datepicker.Tpo -c -o libelementary_la-elm_datepicker.lo `test -f 'elm_datepicker.c' || echo '$(srcdir)/'`elm_datepicker.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libelementary_la-elm_datepicker.Tpo $(DEPDIR)/libelementary_la-elm_datepicker.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='elm_datepicker.c' object='libelementary_la-elm_datepicker.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_datepicker.lo `test -f 'elm_datepicker.c' || echo '$(srcdir)/'`elm_datepicker.c + +libelementary_la-elm_datepicker2.lo: elm_datepicker2.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_datepicker2.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_datepicker2.Tpo -c -o libelementary_la-elm_datepicker2.lo `test -f 'elm_datepicker2.c' || echo '$(srcdir)/'`elm_datepicker2.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libelementary_la-elm_datepicker2.Tpo $(DEPDIR)/libelementary_la-elm_datepicker2.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='elm_datepicker2.c' object='libelementary_la-elm_datepicker2.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_datepicker2.lo `test -f 'elm_datepicker2.c' || echo '$(srcdir)/'`elm_datepicker2.c + libelementary_la-elm_thumb.lo: elm_thumb.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_thumb.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_thumb.Tpo -c -o libelementary_la-elm_thumb.lo `test -f 'elm_thumb.c' || echo '$(srcdir)/'`elm_thumb.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libelementary_la-elm_thumb.Tpo $(DEPDIR)/libelementary_la-elm_thumb.Plo @@ -869,6 +955,20 @@ libelementary_la-elm_config.lo: elm_config.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_config.lo `test -f 'elm_config.c' || echo '$(srcdir)/'`elm_config.c +libelementary_la-elm_titlebar.lo: elm_titlebar.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_titlebar.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_titlebar.Tpo -c -o libelementary_la-elm_titlebar.lo `test -f 'elm_titlebar.c' || echo '$(srcdir)/'`elm_titlebar.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libelementary_la-elm_titlebar.Tpo $(DEPDIR)/libelementary_la-elm_titlebar.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='elm_titlebar.c' object='libelementary_la-elm_titlebar.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_titlebar.lo `test -f 'elm_titlebar.c' || echo '$(srcdir)/'`elm_titlebar.c + +libelementary_la-elm_popup.lo: elm_popup.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_popup.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_popup.Tpo -c -o libelementary_la-elm_popup.lo `test -f 'elm_popup.c' || echo '$(srcdir)/'`elm_popup.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libelementary_la-elm_popup.Tpo $(DEPDIR)/libelementary_la-elm_popup.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='elm_popup.c' object='libelementary_la-elm_popup.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_popup.lo `test -f 'elm_popup.c' || echo '$(srcdir)/'`elm_popup.c + libelementary_la-elm_diskcontroller.lo: elm_diskcontroller.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_diskcontroller.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_diskcontroller.Tpo -c -o libelementary_la-elm_diskcontroller.lo `test -f 'elm_diskcontroller.c' || echo '$(srcdir)/'`elm_diskcontroller.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libelementary_la-elm_diskcontroller.Tpo $(DEPDIR)/libelementary_la-elm_diskcontroller.Plo @@ -939,6 +1039,27 @@ libelementary_la-elm_ctxpopup.lo: elm_ctxpopup.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_ctxpopup.lo `test -f 'elm_ctxpopup.c' || echo '$(srcdir)/'`elm_ctxpopup.c +libelementary_la-elm_actionsheet.lo: elm_actionsheet.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_actionsheet.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_actionsheet.Tpo -c -o libelementary_la-elm_actionsheet.lo `test -f 'elm_actionsheet.c' || echo '$(srcdir)/'`elm_actionsheet.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libelementary_la-elm_actionsheet.Tpo $(DEPDIR)/libelementary_la-elm_actionsheet.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='elm_actionsheet.c' object='libelementary_la-elm_actionsheet.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_actionsheet.lo `test -f 'elm_actionsheet.c' || echo '$(srcdir)/'`elm_actionsheet.c + +libelementary_la-elm_gridbox.lo: elm_gridbox.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_gridbox.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_gridbox.Tpo -c -o libelementary_la-elm_gridbox.lo `test -f 'elm_gridbox.c' || echo '$(srcdir)/'`elm_gridbox.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libelementary_la-elm_gridbox.Tpo $(DEPDIR)/libelementary_la-elm_gridbox.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='elm_gridbox.c' object='libelementary_la-elm_gridbox.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_gridbox.lo `test -f 'elm_gridbox.c' || echo '$(srcdir)/'`elm_gridbox.c + +libelementary_la-elm_softkey.lo: elm_softkey.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elm_softkey.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elm_softkey.Tpo -c -o libelementary_la-elm_softkey.lo `test -f 'elm_softkey.c' || echo '$(srcdir)/'`elm_softkey.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libelementary_la-elm_softkey.Tpo $(DEPDIR)/libelementary_la-elm_softkey.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='elm_softkey.c' object='libelementary_la-elm_softkey.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -c -o libelementary_la-elm_softkey.lo `test -f 'elm_softkey.c' || echo '$(srcdir)/'`elm_softkey.c + libelementary_la-elc_anchorblock.lo: elc_anchorblock.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libelementary_la_CFLAGS) $(CFLAGS) -MT libelementary_la-elc_anchorblock.lo -MD -MP -MF $(DEPDIR)/libelementary_la-elc_anchorblock.Tpo -c -o libelementary_la-elc_anchorblock.lo `test -f 'elc_anchorblock.c' || echo '$(srcdir)/'`elc_anchorblock.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libelementary_la-elc_anchorblock.Tpo $(DEPDIR)/libelementary_la-elc_anchorblock.Plo diff --git a/src/lib/elm_gridbox.c b/src/lib/elm_gridbox.c new file mode 100755 index 0000000..ddf0892 --- /dev/null +++ b/src/lib/elm_gridbox.c @@ -0,0 +1,317 @@ +#include +#include "elm_priv.h" + +/** + * @addtogroup Gridbox + * + * This is a gridbox + */ + +typedef struct _Widget_Data Widget_Data; +struct _Widget_Data { + Evas_Object *tbl, *scr; + Evas_Coord itemsize_h, itemsize_v; + Evas_Coord minw, minh; + Evas_Coord horizontal, vertical; + int x, y; + Eina_Bool homogeneous :1; +}; + +static void _del_hook(Evas_Object *obj); +static void _sizing_eval(Evas_Object *obj, int mode); +static void _changed_size_hints(void *data, Evas *e, Evas_Object *obj, + void *event_info); +static void _changed_size_min(void *data, Evas *e, Evas_Object *obj, + void *event_info); +static void _sub_del(void *data, Evas_Object *obj, void *event_info); +static void _show_event(void *data, Evas_Object *obj, void *event_info); + +static void _del_pre_hook(Evas_Object *obj) { + Widget_Data *wd = elm_widget_data_get(obj); + + evas_object_event_callback_del_full(wd->tbl, + EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints, obj); + evas_object_event_callback_del_full(wd->tbl, EVAS_CALLBACK_RESIZE, + _changed_size_min, obj); + evas_object_del(wd->tbl); + evas_object_del(wd->scr); +} + +static void _del_hook(Evas_Object *obj) { + Widget_Data *wd = elm_widget_data_get(obj); + free(wd); +} + +static Eina_Bool _arrange_table(Evas_Object *obj) { + Widget_Data *wd = elm_widget_data_get(obj); + Eina_List* l, *l_temp = NULL; + Evas_Object* item; + int i = 0; + + if (wd) { + if (wd->tbl) { + int index = + eina_list_count(evas_object_table_children_get(wd->tbl)); + if (!index) + return EINA_FALSE; + + elm_gridbox_item_size_set(obj, wd->itemsize_h, wd->itemsize_v); + l = evas_object_table_children_get(wd->tbl); + +EINA_LIST_FOREACH (l, l_temp, item) + { + evas_object_table_unpack(wd->tbl, item); + elm_widget_sub_object_del(wd->tbl, item); + evas_object_table_pack(wd->tbl, item, i%wd->x , i/wd->x, 1, 1); + i++; + } + } +} + +return EINA_TRUE; +} + +static void _sizing_eval(Evas_Object *obj, int mode) { + Widget_Data *wd = elm_widget_data_get(obj); + Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1; + Evas_Coord w, h; + + evas_object_size_hint_min_get(wd->scr, &minw, &minh); + evas_object_size_hint_max_get(wd->scr, &maxw, &maxh); + evas_object_size_hint_min_set(obj, minw, minh); + evas_object_size_hint_max_set(obj, maxw, maxh); + // evas_object_geometry_get(obj, NULL, NULL, &w, &h); + evas_object_geometry_get(wd->scr, NULL, NULL, &w, &h); + + if (w < minw) + w = minw; + if (h < minh) + h = minh; + if ((maxw >= 0) && (w > maxw)) + w = maxw; + if ((maxh >= 0) && (h > maxh)) + h = maxh; + evas_object_resize(obj, w, h); + + wd->minw = w; + wd->minh = h; + + if (wd->homogeneous) { + wd->x = w / wd->itemsize_h; + wd->y = h / wd->itemsize_v; + wd->horizontal = (wd->minw - wd->x * wd->itemsize_h) / wd->x; + wd->vertical = (wd->minh - wd->y * wd->itemsize_v) / wd->y; + elm_gridbox_padding_set(obj, wd->horizontal, wd->vertical); + } + + if (!mode) + _arrange_table(obj); +} + +static void _changed_size_hints(void *data, Evas *e, Evas_Object *obj, + void *event_info) { + _sizing_eval(data, 0); +} + +static void _changed_size_min(void *data, Evas *e, Evas_Object *obj, + void *event_info) { + _sizing_eval(data, 0); +} + +static void _sub_del(void *data, Evas_Object *obj, void *event_info) { + _sizing_eval(obj, 1); +} + +static void _show_event(void *data, Evas_Object *obj, void *event_info) { + _sizing_eval(data, 0); +} + +static void _freeze_on(void *data, Evas_Object *obj, void *event_info) { + Widget_Data *wd = elm_widget_data_get(obj); + + if (!wd) + return; + evas_object_smart_callback_call(wd->scr, "scroll-freeze-on", NULL); +} + +static void _freeze_off(void *data, Evas_Object *obj, void *event_info) { + Widget_Data *wd = elm_widget_data_get(obj); + + if (!wd) + return; + evas_object_smart_callback_call(wd->scr, "scroll-freeze-off", NULL); +} + +/** + * Add a new gridbox to the parent + * + * @param parent The parent object + * @return The new object or NULL if it cannot be created + * + * @ingroup Gridbox + */ +EAPI Evas_Object * +elm_gridbox_add(Evas_Object *parent) { + Evas_Object *obj; + Evas *e; + Widget_Data *wd; + + wd = ELM_NEW(Widget_Data); + e = evas_object_evas_get(parent); + obj = elm_widget_add(e); + elm_widget_type_set(obj, "gridbox"); + elm_widget_sub_object_add(parent, obj); + elm_widget_data_set(obj, wd); + elm_widget_del_hook_set(obj, _del_hook); + elm_widget_del_pre_hook_set(obj, _del_pre_hook); + + wd->scr = elm_scroller_add(parent); + elm_widget_resize_object_set(obj, wd->scr); + elm_scroller_bounce_set(wd->scr, 0, 1); + + wd->tbl = evas_object_table_add(e); + //evas_object_size_hint_weight_set(wd->tbl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_weight_set(wd->tbl, 0.0, 0.0); + //evas_object_size_hint_weight_set(wd->tbl, EVAS_HINT_EXPAND, 0.0); + elm_scroller_content_set(wd->scr, wd->tbl); + evas_object_show(wd->tbl); + + evas_object_event_callback_add(wd->scr, EVAS_CALLBACK_CHANGED_SIZE_HINTS, + _changed_size_hints, obj); + evas_object_event_callback_add(wd->scr, EVAS_CALLBACK_RESIZE, + _changed_size_min, obj); + evas_object_event_callback_add(wd->scr, EVAS_CALLBACK_SHOW, _show_event, + obj); + + evas_object_smart_callback_add(obj, "sub-object-del", _sub_del, obj); + evas_object_smart_callback_add(obj, "scroll-freeze-on", _freeze_on, obj); + evas_object_smart_callback_add(obj, "scroll-freeze-off", _freeze_off, obj); + + _sizing_eval(obj, 0); + + return obj; +} + +/** + * Set padding between cells. + * + * @param obj The layout object. + * @param horizontal set the horizontal padding. + * @param vertical set the vertical padding. + * + * @ingroup Gridbox + */ +EAPI void elm_gridbox_padding_set(Evas_Object *obj, Evas_Coord horizontal, + Evas_Coord vertical) { + Widget_Data *wd = elm_widget_data_get(obj); + + wd->horizontal = horizontal; + wd->vertical = vertical; + + if (wd) + evas_object_table_padding_set(wd->tbl, horizontal, vertical); +} + +/** + * Set gridbox item size + * + * @param obj The gridbox object + * @param h_pagesize The horizontal item size + * @param v_pagesize The vertical item size + * + * @ingroup Gridbox + */ +EAPI void elm_gridbox_item_size_set(Evas_Object *obj, Evas_Coord h_itemsize, + Evas_Coord v_itemsize) { + Widget_Data *wd = elm_widget_data_get(obj); + Evas_Coord minw = -1, minh = -1; + Evas_Coord w, h; + + if (!wd) + return; + + wd->itemsize_h = h_itemsize; + wd->itemsize_v = v_itemsize; + evas_object_size_hint_min_get(wd->scr, &minw, &minh); + evas_object_geometry_get(obj, NULL, NULL, &w, &h); + if (w < minw) + w = minw; + if (h < minh) + h = minh; + wd->x = w / h_itemsize; + wd->y = h / v_itemsize; + + if (!wd->x) + wd->x = 1; + if (!wd->y) + wd->y = 1; +} + +/** + * Add a subobject on the gridbox + * + * @param obj The table object + * @param subobj The subobject to be added to the gridbox + * + * @ingroup Gridbox + */ +EAPI void elm_gridbox_pack(Evas_Object *obj, Evas_Object *subobj) { + Widget_Data *wd = elm_widget_data_get(obj); + int index = eina_list_count(evas_object_table_children_get(wd->tbl)); + evas_object_size_hint_min_set(subobj, wd->itemsize_h, wd->itemsize_v); + evas_object_size_hint_max_set(subobj, wd->itemsize_h, wd->itemsize_v); + elm_widget_sub_object_add(obj, subobj); + evas_object_table_pack(wd->tbl, subobj, index % wd->x, index / wd->x, 1, 1); +} + +/** + * Unpack a subobject on the gridbox + * + * @param obj The gribox object + * @param subobj The subobject to be removed to the gridbox + * + * @ingroup Gridbox + */ +EAPI Eina_Bool elm_gridbox_unpack(Evas_Object *obj, Evas_Object *subobj) { + Widget_Data *wd = elm_widget_data_get(obj); + Eina_Bool ret = 0; + + elm_widget_sub_object_del(wd->tbl, subobj); + ret = evas_object_table_unpack(wd->tbl, subobj); + + _arrange_table(obj); + + return ret; +} + +/** + * Get the list of children for the gridbox. + * + * @param obj The gribox object + * + * @ingroup Gridbox + */ +EAPI Eina_List * +elm_gridbox_children_get(Evas_Object *obj) { + Widget_Data *wd = elm_widget_data_get(obj); + Eina_List *new_list = NULL; + + new_list = evas_object_table_children_get(wd->tbl); + + return new_list; +} + +/** + * Set homogenous paddding layout + * + * @param obj The gribox object + * @param homogenous The homogenous flag (1 = on, 0 = off) + * + * @ingroup Gridbox + */ +EAPI void elm_gridbox_homogenous_padding_set(Evas_Object *obj, + Eina_Bool homogenous) { + Widget_Data *wd = elm_widget_data_get(obj); + wd->homogeneous = homogenous; +} + diff --git a/src/lib/elm_softkey.c b/src/lib/elm_softkey.c new file mode 100755 index 0000000..c5b7723 --- /dev/null +++ b/src/lib/elm_softkey.c @@ -0,0 +1,1360 @@ +#include +#include "elm_priv.h" + +/** + * @addtogroup Softkey Softkey + * + * This is a softkey + */ + +/** + * internal data structure of softkey object + */ +#define BTN_ANIMATOR_MAX 4 +#define PANEL_ANIMATOR_MAX 1 +typedef struct _Widget_Data Widget_Data; + +struct _Widget_Data { + Evas_Object *lay; + Evas_Object *button[2]; + Evas_Object *bg_rect; + Evas_Object *panel; + Evas_Object *glow_obj; + + Evas_Coord x, y, w, h; + Evas_Coord glow_w, glow_h; + Evas_Coord win_h; + Evas_Coord panel_height; + Ecore_Animator *animator; + Eina_List *items; + unsigned int panel_btn_idx; + Eina_Bool button_show[2]; + Eina_Bool show_panel :1; + Eina_Bool animating :1; + Eina_Bool is_horizontal; + double scale_factor; + int max_button; + Eina_Bool panel_suppported; +}; + +struct _Elm_Softkey_Item { + Evas_Object *obj; + Evas_Object *base; + Evas_Object *icon; + const char *label; + void (*func)(void *data, Evas_Object *obj, void *event_info); + const void *data; + Eina_Bool disabled :1; +}; + +static void _item_disable(Elm_Softkey_Item *it, Eina_Bool disabled); +static void _del_hook(Evas_Object *obj); +static void _theme_hook(Evas_Object *obj); +static void _sizing_eval(Evas_Object *obj); +static void _sub_del(void *data, Evas_Object *obj, void *event_info); + +/* + * callback functions + */ +static void _softkey_down_cb(void *data, Evas_Object *obj, + const char *emission, const char *source); +static void _softkey_up_cb(void *data, Evas_Object *obj, const char *emission, + const char *source); + +static void _panel_down_cb(void *data, Evas *e, Evas_Object *obj, + void *event_info); +static void _panel_up_cb(void *data, Evas *e, Evas_Object *obj, + void *event_info); + +static void _more_btn_click_cb(void *data, Evas_Object *obj, + const char *emission, const char *source); +static void _close_btn_click_cb(void *data, Evas_Object *obj, + const char *emission, const char *source); +static void _bg_click_cb(void *data, Evas *e, Evas_Object *obj, + void *event_info); + +static int _show_button_animator_cb(void *data); +static int _hide_button_animator_cb(void *data); +static int _panel_up_animator_cb(void *data); +static int _panel_down_animator_cb(void *data); + +/* + * internal function + */ +static int + _show_button(Evas_Object *obj, Elm_Softkey_Type type, Eina_Bool show); +static int _delete_button(Evas_Object *obj); + +static void _softkey_object_move(void *data, Evas *e, Evas_Object *obj, + void *event_info); +static void _softkey_object_resize(void *data, Evas *e, Evas_Object *obj, + void *event_info); +static void _softkey_object_show(void *data, Evas *e, Evas_Object *obj, + void *event_info); +static void _softkey_object_hide(void *data, Evas *e, Evas_Object *obj, + void *event_info); + +static void _icon_disable(Evas_Object *icon, Eina_Bool disabled) { + Evas_Object *edj; + + if (!icon) + return; + edj = elm_layout_edje_get(icon); + + if (disabled) { + if (!edj) { + edje_object_signal_emit(icon, "elm,state,disabled", "elm"); + } else { + edje_object_signal_emit(edj, "elm,state,disabled", "elm"); + } + } else { + if (!edj) { + edje_object_signal_emit(icon, "elm,state,enabled", "elm"); + } else { + edje_object_signal_emit(edj, "elm,state,enabled", "elm"); + } + } +} + +static void _item_disable(Elm_Softkey_Item *it, Eina_Bool disabled) { + Widget_Data *wd = elm_widget_data_get(it->obj); + if (!wd) + return; + if (it->disabled == disabled) + return; + it->disabled = disabled; + if (it->disabled) { + edje_object_signal_emit(it->base, "elm,state,disabled", "elm"); + } else { + edje_object_signal_emit(it->base, "elm,state,enabled", "elm"); + } + + _icon_disable(it->icon, disabled); +} + +static void _del_hook(Evas_Object *obj) { + int i; + Evas_Object *btn; + Widget_Data *wd = elm_widget_data_get(obj); + + if (!wd) + return; + + if (wd->lay) { + evas_object_smart_member_del(wd->lay); + evas_object_del(wd->lay); + wd->lay = NULL; + } + + /* delete button */ + for (i = 0; i < 2; i++) { + btn = wd->button[i]; + if (btn != NULL) { + evas_object_smart_member_del(btn); + _delete_button(btn); + } + } + + /* delete background */ + if (wd->bg_rect) { + evas_object_smart_member_del(wd->bg_rect); + evas_object_del(wd->bg_rect); + wd->bg_rect = NULL; + } + + /* delete panel */ + if (wd->panel) { + elm_softkey_panel_del(obj); + //panel); + evas_object_del(wd->panel); + wd->panel = NULL;*/ + //glow_obj) { + evas_object_del(wd->glow_obj); + wd->glow_obj = NULL; + } + + free(wd); +} + +static void _theme_hook(Evas_Object *obj) { + Elm_Softkey_Item* item; + Widget_Data *wd = elm_widget_data_get(obj); + Elm_Softkey_Item *it; + const Eina_List *l; + + if (!wd) { + return; + } + _elm_theme_object_set(obj, wd->lay, "softkey", "bg", elm_widget_style_get( + obj)); + _elm_theme_object_set(obj, wd->glow_obj, "softkey", "glow", "default"); + + if (wd->button[ELM_SK_LEFT_BTN]) { + + item = evas_object_data_get(wd->button[ELM_SK_LEFT_BTN], "item_data"); + _elm_theme_object_set(obj, wd->button[ELM_SK_LEFT_BTN], "softkey", + "button_left", elm_widget_style_get(obj)); + + elm_softkey_item_label_set(item, item->label); + + } + + if (wd->button[ELM_SK_RIGHT_BTN]) { + + item = evas_object_data_get(wd->button[ELM_SK_RIGHT_BTN], "item_data"); + + _elm_theme_object_set(obj, wd->button[ELM_SK_RIGHT_BTN], "softkey", + "button_right", elm_widget_style_get(obj)); + + elm_softkey_item_label_set(item, item->label); + + } + + if (wd->panel) { + _elm_theme_object_set(obj, wd->panel, "softkey", "panel", + elm_widget_style_get(obj)); + if (wd->panel_btn_idx > 0) { + //show more button + edje_object_signal_emit(wd->lay, "more_btn_show", ""); +EINA_LIST_FOREACH (wd->items, l, it) + { + _elm_theme_object_set(obj, it->base, "softkey", "panel_button", elm_widget_style_get(obj)); + if(it->label) { + edje_object_part_text_set(it->base, "elm.text", it->label); // set text + } + } + } +} + +_sizing_eval( obj ); +} + +static void _sub_del(void *data, Evas_Object *obj, void *event_info) { + Widget_Data *wd = elm_widget_data_get(obj); + Evas_Object *sub = event_info; + const Eina_List *l; + Elm_Softkey_Item *it; + if (!wd) + return; + +EINA_LIST_FOREACH(wd->items, l, it) +{ + if(sub == it->icon) { + it->icon = NULL; + } + break; +} +} + +static void _sizing_eval(Evas_Object *obj) { + Widget_Data *wd = elm_widget_data_get(obj); + + if (!wd) + return; + + _softkey_object_move(obj, NULL, obj, NULL); + _softkey_object_resize(obj, NULL, obj, NULL); +} + +static int _panel_up_animator_cb(void *data) { + int max = PANEL_ANIMATOR_MAX; + static int progress = 0; + Widget_Data *wd; + Evas_Coord ypos; + + wd = elm_widget_data_get(data); + if (!wd) + return 0; + + progress++; + wd->animating = EINA_TRUE; + + if (progress > max) { + if (!wd->animator) + return 0; + ecore_animator_del(wd->animator); + wd->animating = EINA_FALSE; + wd->show_panel = EINA_TRUE; + progress = 0; + return 0; + } + + /* move up panel */ + if (wd->panel) { + ypos = wd->win_h - (wd->panel_height * progress / max); + evas_object_move(wd->panel, 0, ypos); + } + + return 1; +} + +static int _panel_down_animator_cb(void *data) { + int max = PANEL_ANIMATOR_MAX; + static int progress = 0; + Widget_Data *wd; + Evas_Coord ypos; + + wd = elm_widget_data_get(data); + if (!wd) + return 0; + + progress++; + wd->animating = EINA_TRUE; + + if (progress > max) { + if (!wd->animator) + return 0; + ecore_animator_del(wd->animator); + wd->animating = EINA_FALSE; + wd->animator = ecore_animator_add(_show_button_animator_cb, data); + wd->show_panel = EINA_FALSE; + progress = 0; + + evas_object_smart_callback_call(data, "panel,hide", NULL); + + return 0; + } + + /* move down panel */ + if (wd->panel) { + ypos = wd->win_h - wd->panel_height + (wd->panel_height * progress + / max); + evas_object_move(wd->panel, 0, ypos); + } + + return 1; +} + +static int _hide_button_animator_cb(void *data) { + int max = BTN_ANIMATOR_MAX; + static int progress = 0; + Widget_Data *wd; + Evas_Coord btn_w, xpos; + + wd = elm_widget_data_get(data); + if (!wd) + return 0; + + progress++; + wd->animating = EINA_TRUE; + + if (progress > max) { + if (!wd->animator) + return 0; + ecore_animator_del(wd->animator); + wd->animating = EINA_FALSE; + wd->animator = ecore_animator_add(_panel_up_animator_cb, data); + progress = 0; + return 0; + } + + /* move left button */ + if (wd->button[ELM_SK_LEFT_BTN]) { + edje_object_part_geometry_get(wd->button[ELM_SK_LEFT_BTN], + "button_rect", NULL, NULL, &btn_w, NULL); + + xpos = -1 * btn_w * progress / max; + evas_object_move(wd->button[ELM_SK_LEFT_BTN], xpos, wd->y); + } + + /* move right button */ + if (wd->button[ELM_SK_RIGHT_BTN]) { + edje_object_part_geometry_get(wd->button[ELM_SK_RIGHT_BTN], + "button_rect", NULL, NULL, &btn_w, NULL); + + xpos = (wd->w - btn_w) + (btn_w * progress / max); + evas_object_move(wd->button[ELM_SK_RIGHT_BTN], xpos, wd->y); + } + + return 1; +} + +static int _show_button_animator_cb(void *data) { + int max = BTN_ANIMATOR_MAX; + static int progress = 0; + Widget_Data *wd; + Evas_Coord btn_w, xpos; + + wd = elm_widget_data_get(data); + if (!wd) + return 0; + + progress++; + + wd->animating = EINA_TRUE; + + if (progress > max) { + if (!wd->animator) + return 0; + ecore_animator_del(wd->animator); + wd->animating = EINA_FALSE; + progress = 0; + return 0; + } + + /* move left button */ + if (wd->button[ELM_SK_LEFT_BTN]) { + edje_object_part_geometry_get(wd->button[ELM_SK_LEFT_BTN], + "button_rect", NULL, NULL, &btn_w, NULL); + + xpos = (-1 * btn_w) + (btn_w * progress / max); + evas_object_move(wd->button[ELM_SK_LEFT_BTN], xpos, wd->y); + } + + /* move right button */ + if (wd->button[ELM_SK_RIGHT_BTN]) { + edje_object_part_geometry_get(wd->button[ELM_SK_RIGHT_BTN], + "button_rect", NULL, NULL, &btn_w, NULL); + + xpos = wd->w - (btn_w * progress / max); + evas_object_move(wd->button[ELM_SK_RIGHT_BTN], xpos, wd->y); + } + + return 1; +} + +static void _more_btn_click_cb(void *data, Evas_Object *obj, + const char *emission, const char *source) { + Widget_Data *wd; + wd = elm_widget_data_get(data); + if (!wd) + return; + + evas_object_smart_callback_call(data, "panel,show", NULL); + + if (!wd->panel) + return; + evas_object_show(wd->panel); + + if (wd->bg_rect) { + evas_object_show(wd->bg_rect); + } + + if (wd->animating == EINA_FALSE) { + wd->animator = ecore_animator_add(_hide_button_animator_cb, data); + } +} + +static void _close_panel(Evas_Object *obj) { + Widget_Data *wd; + wd = elm_widget_data_get(obj); + if (!wd) + return; + + if (wd->bg_rect) { + evas_object_hide(wd->bg_rect); + } + + if (!wd->panel) + return; + + if (wd->animating == EINA_FALSE) { + wd->animator = ecore_animator_add(_panel_down_animator_cb, obj); + } +} + +static void _bg_click_cb(void *data, Evas *e, Evas_Object *obj, + void *event_info) { + _close_panel(data); +} + +static void _close_btn_click_cb(void *data, Evas_Object *obj, + const char *emission, const char *source) { + _close_panel(data); +} + +static int _show_button(Evas_Object *obj, Elm_Softkey_Type type, Eina_Bool show) { + if (!obj) + return -1; + + Widget_Data *wd = elm_widget_data_get(obj); + Evas_Object *btn = wd->button[type]; + if (!btn) + return -1; + + /* Make visible button */ + if (show) { + wd->button_show[type] = EINA_TRUE; + evas_object_show(btn); + } else { + wd->button_show[type] = EINA_FALSE; + evas_object_hide(btn); + } + + return 0; +} + +static int _arrange_button(Evas_Object *obj, Elm_Softkey_Type type) { + Widget_Data *wd; + Evas_Coord btn_w = 0; + Evas_Object *btn; + + if (!obj) + return -1; + wd = elm_widget_data_get(obj); + if (!wd) + return -1; + + btn = wd->button[type]; + if (!btn) + return -1; + + switch (type) { + case ELM_SK_LEFT_BTN: + evas_object_move(btn, wd->x, wd->y); + break; + case ELM_SK_RIGHT_BTN: + edje_object_part_geometry_get(btn, "button_rect", NULL, NULL, &btn_w, + NULL); + evas_object_move(btn, wd->w - btn_w, wd->y); + break; + default: + break; + } + + return 0; +} + +static void _softkey_up_cb(void *data, Evas_Object *obj, const char *emission, + const char *source) { + Evas_Object *edj; + + Elm_Softkey_Item *it = (Elm_Softkey_Item *) data; + elm_softkey_panel_close(it->obj); + if (it->func) + it->func((void *) (it->data), it->obj, it); + evas_object_smart_callback_call(it->obj, "clicked", it); + + if (!it->icon) + return; + edj = elm_layout_edje_get(it->icon); + if (!edj) + return; + + edje_object_signal_emit(edj, "elm,state,unselected", "elm"); +} + +static void _softkey_down_cb(void *data, Evas_Object *obj, + const char *emission, const char *source) { + Evas_Object *edj; + + Elm_Softkey_Item *it = (Elm_Softkey_Item *) data; + evas_object_smart_callback_call(it->obj, "press", it); + + if (!it->icon) + return; + edj = elm_layout_edje_get(it->icon); + if (!edj) + return; + + edje_object_signal_emit(edj, "elm,state,selected", "elm"); +} + +static void _panel_up_cb(void *data, Evas *e, Evas_Object *obj, + void *event_info) { + Elm_Softkey_Item *it = (Elm_Softkey_Item *) data; + + Widget_Data *wd; + wd = elm_widget_data_get(it->obj); + if (wd == NULL) + return; + + /* hide glow effect */ + if (wd->glow_obj) { + evas_object_hide(wd->glow_obj); + } + + elm_softkey_panel_close(it->obj); + if (it->func) + it->func((void *) (it->data), it->obj, it); + evas_object_smart_callback_call(it->obj, "clicked", it); +} + +static void _panel_down_cb(void *data, Evas *e, Evas_Object *obj, + void *event_info) { + Evas_Coord glow_x, glow_y; + Widget_Data *wd; + + Elm_Softkey_Item *it = (Elm_Softkey_Item *) data; + wd = elm_widget_data_get(it->obj); + if (wd == NULL) + return; + + /* show glow effect */ + if (wd->glow_obj) { + Evas_Event_Mouse_Down *ev = (Evas_Event_Mouse_Down *) event_info; + glow_x = ev->canvas.x - (wd->glow_w / 2); + glow_y = ev->canvas.y - (wd->glow_h / 2); + + evas_object_move(wd->glow_obj, glow_x, glow_y); + evas_object_show(wd->glow_obj); + } + + evas_object_smart_callback_call(it->obj, "press", it); +} + +static int _delete_button(Evas_Object *obj) { + if (!obj) + return -1; + + if (obj) { + evas_object_del(obj); + obj = NULL; + } + + return 0; +} + +static void _calc_win_height(Widget_Data *wd) { + wd->win_h = wd->y + wd->h; + + if (wd->bg_rect) { + evas_object_resize(wd->bg_rect, wd->w, wd->win_h); + } + + if (wd->show_panel) { + evas_object_move(wd->panel, wd->x, (wd->win_h - wd->panel_height)); + } else { + evas_object_move(wd->panel, wd->x, wd->win_h); + } +} + +static void _softkey_object_move(void *data, Evas *e, Evas_Object *obj, + void *event_info) { + Widget_Data *wd; + int i; + Evas_Coord x, y; + + if (!data) + return; + wd = elm_widget_data_get((Evas_Object *) data); + if (!wd) + return; + + evas_object_geometry_get(wd->lay, &x, &y, NULL, NULL); + + wd->x = x; + wd->y = y; + + // evas_object_move(wd->lay, x, y); + + for (i = 0; i < 2; i++) { + _arrange_button((Evas_Object *) data, i); + } + + _calc_win_height(wd); +} + +static void _softkey_object_resize(void *data, Evas *e, Evas_Object *obj, + void *event_info) { + Widget_Data *wd; + Evas_Object *btn; + int i; + Evas_Coord btn_w; + Evas_Coord w, h; + + if (!data) + return; + wd = elm_widget_data_get((Evas_Object *) data); + if (!wd) + return; + + evas_object_geometry_get(wd->lay, NULL, NULL, &w, &h); + + wd->w = w; + wd->h = h; + + if (!wd->lay) + return; + evas_object_resize(wd->lay, w, h); + + /* resize button */ + for (i = 0; i < 2; i++) { + btn = wd->button[i]; + if (btn != NULL) { + edje_object_part_geometry_get(btn, "button_rect", NULL, NULL, + &btn_w, NULL); + evas_object_resize(btn, btn_w, h); + _arrange_button((Evas_Object *) data, i); + } + } + + if (wd->w >= wd->win_h) { + _softkey_horizontal_set(data, EINA_TRUE); + } else { + _softkey_horizontal_set(data, EINA_FALSE); + } + _calc_win_height(wd); +} + +static void _softkey_object_show(void *data, Evas *e, Evas_Object *obj, + void *event_info) { + Widget_Data *wd = NULL; + Evas_Object *btn; + int i; + if (data == NULL) + return; + wd = elm_widget_data_get((Evas_Object *) data); + if (wd == NULL) + return; + + if (wd->lay) { + evas_object_show(wd->lay); + } + + /* show button */ + for (i = 0; i < 2; i++) { + btn = wd->button[i]; + if (btn != NULL && wd->button_show[i] == EINA_TRUE) { + evas_object_show(btn); + //evas_object_clip_set(btn, evas_object_clip_get((Evas_Object *)data)); + } + } + if (wd->panel_btn_idx > 0) { + /* show more button */ + edje_object_signal_emit(wd->lay, "more_btn_show", ""); + } +} + +static void _softkey_object_hide(void *data, Evas *e, Evas_Object *obj, + void *event_info) { + Widget_Data *wd = NULL; + Evas_Object *btn; + int i; + + if (data == NULL) + return; + wd = elm_widget_data_get((Evas_Object *) data); + if (wd == NULL) + return; + + if (wd->lay) { + evas_object_hide(wd->lay); + } + + /* hide button */ + for (i = 0; i < 2; i++) { + btn = wd->button[i]; + if (btn != NULL) { + evas_object_hide(btn); + } + } + + if (wd->panel_btn_idx > 0) { + /* hide more button */ + edje_object_signal_emit(wd->lay, "more_btn_hide", ""); + } +} + +/** + * Add a new softkey to the parent + + * @param parent the parent of the smart object + * @return Evas_Object* pointer of softkey(evas object) or NULL + * @ingroup Softkey + */ +EAPI Evas_Object * +elm_softkey_add(Evas_Object *parent) { + Evas_Object *obj = NULL; + Widget_Data *wd = NULL; + Evas *e; + + wd = ELM_NEW(Widget_Data); + e = evas_object_evas_get(parent); + if (e == NULL) + return NULL; + obj = elm_widget_add(e); + elm_widget_type_set(obj, "softkey"); + elm_widget_sub_object_add(parent, obj); + elm_widget_data_set(obj, wd); + elm_widget_del_hook_set(obj, _del_hook); + elm_widget_theme_hook_set(obj, _theme_hook); + + /* load background edj */ + wd->lay = edje_object_add(e); + _elm_theme_object_set(obj, wd->lay, "softkey", "bg", "default"); + if (wd->lay == NULL) { + printf("Cannot load bg edj\n"); + return NULL; + } + elm_widget_resize_object_set(obj, wd->lay); + edje_object_signal_callback_add(wd->lay, "clicked", "more_btn", + _more_btn_click_cb, obj); + + evas_object_event_callback_add(obj, EVAS_CALLBACK_RESIZE, + _softkey_object_resize, obj); + evas_object_event_callback_add(obj, EVAS_CALLBACK_MOVE, + _softkey_object_move, obj); + evas_object_event_callback_add(obj, EVAS_CALLBACK_SHOW, + _softkey_object_show, obj); + evas_object_event_callback_add(obj, EVAS_CALLBACK_HIDE, + _softkey_object_hide, obj); + wd->is_horizontal = EINA_FALSE; + wd->panel_suppported = EINA_TRUE; + wd->scale_factor = elm_scale_get(); + if (wd->scale_factor == 0.0) { + wd->scale_factor = 1.0; + } + + /* load glow effect */ + wd->glow_obj = edje_object_add(e); + _elm_theme_object_set(obj, wd->glow_obj, "softkey", "glow", "default"); + evas_object_geometry_get(wd->glow_obj, NULL, NULL, &wd->glow_w, &wd->glow_h); + evas_object_resize(wd->glow_obj, wd->glow_w, wd->glow_h); + + // FIXME + evas_object_smart_callback_add(obj, "sub-object-del", _sub_del, obj); + + // _sizing_eval(obj); + + return obj; +} + +EAPI void _softkey_horizontal_set(Evas_Object *obj, Eina_Bool horizontal_mode) { + Widget_Data *wd; + char buff[32]; + if (!obj) + return; + wd = elm_widget_data_get(obj); + if (!wd) + return; + wd->is_horizontal = horizontal_mode; + if (wd->panel) { + if ((edje_object_data_get(wd->panel, "max_item_count") == NULL) + || (edje_object_data_get(wd->panel, "panel_height") == NULL) + || (edje_object_data_get(wd->panel, "panel_height_horizontal") + == NULL)) { + wd->panel_suppported = EINA_FALSE; + } else + wd->panel_suppported = EINA_TRUE; + if (wd->panel_suppported == EINA_TRUE) { + if (wd->is_horizontal == EINA_TRUE) { + sprintf(buff, "button_%d", (wd->panel_btn_idx + wd->max_button)); + edje_object_signal_emit(wd->panel, buff, "panel_rect"); + wd->panel_height = (int) (atoi(edje_object_data_get(wd->panel, + buff)) * wd->scale_factor); + evas_object_resize( + wd->panel, + wd->w, + ((int) (atoi(edje_object_data_get(wd->panel, + "panel_height_horizontal")) * wd->scale_factor))); + } else { + sprintf(buff, "button_%d", (wd->panel_btn_idx)); + edje_object_signal_emit(wd->panel, buff, "panel_rect"); + wd->panel_height = (int) (atoi(edje_object_data_get(wd->panel, + buff)) * wd->scale_factor); + evas_object_resize(wd->panel, wd->w, ((int) (atoi( + edje_object_data_get(wd->panel, "panel_height")) + * wd->scale_factor))); + } + } + _calc_win_height(wd); + } + +} + +/** + * add side button of softkey + * @param obj softkey object + * @param type softkey button type + * @param icon The icon object to use for the item + * @param label The text label to use for the item + * @param func Convenience function to call when this item is selected + * @param data Data to pass to convenience function + * @return A handle to the item added + * + * @ingroup Softkey + */ +EAPI Elm_Softkey_Item * +elm_softkey_button_add(Evas_Object *obj, Elm_Softkey_Type type, + Evas_Object *icon, const char *label, void(*func)(void *data, + Evas_Object *obj, void *event_info), const void *data) { + Widget_Data *wd; + Evas* evas; + char button_type[64]; + Elm_Softkey_Item *it; + + if (!obj) + return NULL; + wd = elm_widget_data_get(obj); + if (!wd) + return NULL; + + if (wd->button[type]) { + printf("already created.\n"); + return NULL; + } + + /* set item data */ + it = ELM_NEW(Elm_Softkey_Item); + it->obj = obj; + it->func = func; + it->data = data; + + /* get evas */ + evas = evas_object_evas_get(obj); + if (!evas) + return NULL; + + /* load button edj */ + if (wd->button[type] == NULL) { + if (type == ELM_SK_LEFT_BTN) { + strcpy(button_type, "button_left"); + } else { + strcpy(button_type, "button_right"); + } + + it->base = wd->button[type] = edje_object_add(evas); + if (!wd->button[type]) + return NULL; + _elm_theme_object_set(obj, wd->button[type], "softkey", button_type, + elm_widget_style_get(obj)); + + wd->button_show[type] = EINA_TRUE; + if (evas_object_visible_get(obj)) { + evas_object_show(wd->button[type]); + } + evas_object_smart_member_add(wd->button[type], obj); + + edje_object_signal_callback_add(wd->button[type], "elm,action,down", + "", _softkey_down_cb, it); + edje_object_signal_callback_add(wd->button[type], "elm,action,click", + "", _softkey_up_cb, it); + + evas_object_clip_set(wd->button[type], evas_object_clip_get(obj)); + if (wd->panel) + evas_object_raise(wd->panel); + } + + _sizing_eval(obj); + + elm_softkey_item_label_set(it, label); + elm_softkey_item_icon_set(it, icon); + + evas_object_data_set(wd->button[type], "item_data", it); + + return it; +} + +/** + * delete side button of softkey + * @param obj softkey object + * @param type softkey button type + * + * @ingroup Softkey + */ +EAPI void elm_softkey_button_del(Evas_Object *obj, Elm_Softkey_Type type) { + Widget_Data *wd; + Elm_Softkey_Item *it; + Evas_Object *btn; + + if (!obj) { + printf("Invalid argument: softkey object is NULL\n"); + return; + } + + wd = elm_widget_data_get(obj); + if (!wd) + return; + + btn = wd->button[type]; + if (!btn) + return; + + it = evas_object_data_get(btn, "item_data"); + free(it); + + evas_object_smart_member_del(btn); + _delete_button(btn); + wd->button[type] = NULL; +} + +/** + * show button of softkey + * @param obj softkey object + * @param type softkey button type + * + * @ingroup Softkey + */ +EAPI void elm_softkey_button_show(Evas_Object *obj, Elm_Softkey_Type type) { + _show_button(obj, type, EINA_TRUE); +} + +/** + * hide button of softkey + * @param obj softkey object + * @param type softkey button type + * + * @ingroup Softkey + */ +EAPI void elm_softkey_button_hide(Evas_Object *obj, Elm_Softkey_Type type) { + _show_button(obj, type, EINA_FALSE); +} + +/** + * add item in panel + * @param obj softkey object + * @param icon The icon object + * @param label The text label to use for the item + * @param func Convenience function to call when this item is selected + * @param data Data to pass to convenience function + * @return A handle to the item added + * + * @ingroup Softkey + */ +EAPI Elm_Softkey_Item * +elm_softkey_panel_item_add(Evas_Object *obj, Evas_Object *icon, + const char *label, void(*func)(void *data, Evas_Object *obj, + void *event_info), const void *data) { + Widget_Data *wd; + Evas *evas; + char button_name[32]; + Evas_Object *btn; + Elm_Softkey_Item *it; + char buff[PATH_MAX]; + + wd = elm_widget_data_get(obj); + if (!wd) { + printf("Cannot get smart data\n"); + return NULL; + } + + /* set item data */ + it = ELM_NEW(Elm_Softkey_Item); + wd->items = eina_list_append(wd->items, it); + it->obj = obj; + it->label = eina_stringshare_add(label); + it->icon = icon; + it->func = func; + it->data = data; + + /* get evas */ + evas = evas_object_evas_get(obj); + if (!evas) + return NULL; + + if (wd->panel == NULL) { + /* create panel */ + wd->bg_rect = evas_object_rectangle_add(evas); + if (!wd->bg_rect) + return NULL; + evas_object_color_set(wd->bg_rect, 10, 10, 10, 150); + evas_object_pass_events_set(wd->bg_rect, 0); + + if (wd->bg_rect) { + evas_object_resize(wd->bg_rect, wd->w, wd->win_h); + evas_object_event_callback_add(wd->bg_rect, EVAS_CALLBACK_MOUSE_UP, + _bg_click_cb, obj); + evas_object_smart_member_add(wd->bg_rect, obj); + } + + wd->panel = edje_object_add(evas); + if (!wd->panel) + return NULL; + _elm_theme_object_set(obj, wd->panel, "softkey", "panel", + elm_widget_style_get(obj)); + + evas_object_move(wd->panel, 0, wd->win_h); + edje_object_signal_callback_add(wd->panel, "clicked", "close_btn", + _close_btn_click_cb, obj); + evas_object_smart_member_add(wd->panel, obj); + if (evas_object_visible_get(obj)) { + evas_object_show(wd->panel); + } + wd->panel_height = 0; + if ((edje_object_data_get(wd->panel, "max_item_count") == NULL) + || (edje_object_data_get(wd->panel, "panel_height") == NULL) + || (edje_object_data_get(wd->panel, "panel_height_horizontal") + == NULL)) { + //If this key is not found in data section, then it means the panel won't come. + wd->max_button = 0; + // delete panel + if (wd->panel) { + elm_softkey_panel_del(obj); + } + wd->panel_suppported = EINA_FALSE; + return NULL; + } else { + wd->max_button = (int) (atoi(edje_object_data_get(wd->panel, + "max_item_count"))); + if (wd->is_horizontal) { + evas_object_resize( + wd->panel, + wd->w, + ((int) (atoi(edje_object_data_get(wd->panel, + "panel_height_horizontal")) * wd->scale_factor))); + } else { + evas_object_resize(wd->panel, wd->w, ((int) (atoi( + edje_object_data_get(wd->panel, "panel_height")) + * wd->scale_factor))); + } + } + + evas_object_clip_set(wd->panel, evas_object_clip_get(obj)); + } + + if (wd->panel_btn_idx >= wd->max_button) + return NULL; + + wd->panel_btn_idx++; + + if (evas_object_visible_get(obj)) { + /* show more button */ + edje_object_signal_emit(wd->lay, "more_btn_show", ""); + } + + /* load panel button */ + it->base = btn = edje_object_add(evas); + if (!btn) + return NULL; + _elm_theme_object_set(obj, btn, "softkey", "panel_button", + elm_widget_style_get(obj)); + + edje_object_part_text_set(btn, "elm.text", label); /* set text */ + edje_object_message_signal_process(btn); + + evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_DOWN, + _panel_down_cb, it); + evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_UP, _panel_up_cb, + it); + + /* swallow button */ + sprintf(button_name, "panel_button_area_%d", wd->panel_btn_idx); + edje_object_part_swallow(wd->panel, button_name, btn); + if (wd->is_horizontal) { + sprintf(buff, "button_%d", wd->max_button + wd->panel_btn_idx); + edje_object_signal_emit(wd->panel, buff, "panel_rect"); + wd->panel_height = (int) (atoi(edje_object_data_get(wd->panel, buff)) + * wd->scale_factor); + } else { + sprintf(buff, "button_%d", wd->panel_btn_idx); + edje_object_signal_emit(wd->panel, buff, "panel_rect"); + wd->panel_height = (int) (atoi(edje_object_data_get(wd->panel, buff)) + * wd->scale_factor); + } + + return it; +} + +/** + * delete panel + + * @param obj softkey object + * @return int 0 (SUCCESS) or -1 (FAIL) + * + * @ingroup Softkey + */ +EAPI int elm_softkey_panel_del(Evas_Object *obj) { + Widget_Data *wd; + char button_name[32]; + Evas_Object *btn; + int i; + Elm_Softkey_Item *it; + + wd = elm_widget_data_get(obj); + if (!wd) + return -1; + if (wd->panel == NULL) + return -1; + + for (i = 1; i <= wd->panel_btn_idx; i++) { + sprintf(button_name, "panel_button_area_%d", i); + btn = edje_object_part_swallow_get(wd->panel, button_name); + _delete_button(btn); + } + + EINA_LIST_FREE(wd->items, it) + { + eina_stringshare_del(it->label); + free(it); + } + + wd->panel_btn_idx = 0; + wd->panel_height = 0; + + //hide more button + edje_object_signal_emit(wd->lay, "more_btn_hide", ""); + + if (wd->panel) { + evas_object_move(wd->panel, 0, wd->win_h); + evas_object_clip_unset(wd->panel); + // + evas_object_smart_member_del(wd->panel); + evas_object_del(wd->panel); + wd->panel = NULL; + // + } + + return 0; +} + +/** + * sliding up panel if it is closed + + * @param obj softkey object + * @return int 0 (SUCCESS) or -1 (FAIL) + * + * @ingroup Softkey + */ +EAPI int elm_softkey_panel_open(Evas_Object *obj) { + Widget_Data *wd; + wd = elm_widget_data_get(obj); + + if (!wd) + return -1; + if (!wd->panel) + return -1; + + if (wd->show_panel == EINA_FALSE) { + _more_btn_click_cb(obj, NULL, NULL, NULL); + } + + return 0; +} + +/** + * sliding down panel if it is opened + + * @param obj softkey object + * @return int 0 (SUCCESS) or -1 (FAIL) + * + * @ingroup Softkey + */ +EAPI int elm_softkey_panel_close(Evas_Object *obj) { + Widget_Data *wd; + wd = elm_widget_data_get(obj); + if (!wd) + return -1; + + if (wd->panel == NULL) + return -1; + + if (wd->show_panel == EINA_TRUE) { + _close_btn_click_cb(obj, obj, NULL, NULL); + } + + return 0; +} + +/** + * Set the icon of an softkey item + * + * @param it The item to set the icon + * @param icon The icon object + * + * @ingroup Softkey + */ +EAPI void elm_softkey_item_icon_set(Elm_Softkey_Item *it, Evas_Object *icon) { + if (!it) + return; + + if ((it->icon != icon) && (it->icon)) + elm_widget_sub_object_del(it->obj, it->icon); + + if ((icon) && (it->icon != icon)) { + it->icon = icon; + elm_widget_sub_object_add(it->obj, icon); + //evas_object_event_callback_add(icon, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints, obj); + //edje_object_part_swallow(it->base, "elm.swallow.content", icon); + edje_object_part_swallow(it->base, "elm.swallow.icon", icon); + edje_object_signal_emit(it->base, "elm,state,icon,visible", "elm"); + edje_object_message_signal_process(it->base); + _sizing_eval(it->obj); + } else + it->icon = icon; +} + +/** + * Get the icon of an softkey item + * + * @param it The item to get the icon + * @return The icon object + * + * @ingroup Softkey + */ +EAPI Evas_Object * +elm_softkey_item_icon_get(Elm_Softkey_Item *it) { + if (!it) + return NULL; + return it->icon; +} + +/** + * Get the text label of an softkey item + * + * @param it The item to set the label + * @param label label + * + * @ingroup Softkey + */ +EAPI void elm_softkey_item_label_set(Elm_Softkey_Item *it, const char *label) { + if (!it) + return; + if (it->label) + eina_stringshare_del(it->label); + + if (label) { + it->label = eina_stringshare_add(label); + edje_object_signal_emit(it->base, "elm,state,text,visible", "elm"); + + /* set text */ + edje_object_part_text_set(it->base, "elm.text", label == NULL ? "" + : label); + } else { + it->label = NULL; + edje_object_signal_emit(it->base, "elm,state,text,hidden", "elm"); + } + edje_object_message_signal_process(it->base); +} + +/** + * Set the item callback function + * + * @param it Item to set callback function. + * @param func callback function pointer. + * @param data callback function argument data. + * + * @ingroup Softkey + */ +EAPI void elm_softkey_item_callback_set(Elm_Softkey_Item* item, void(*func)( + void *data, Evas_Object *obj, void *event_info), const void *data) { + if (!item) + return; + + item->func = func; + item->data = data; + +} + +/** + * Get the text label of an softkey item + * + * @param it The item to get the label + * @return The text label of the softkey item + * + * @ingroup Softkey + */ +EAPI const char * +elm_softkey_item_label_get(Elm_Softkey_Item *it) { + if (!it) + return NULL; + return it->label; +} + +EAPI Eina_Bool elm_softkey_item_disabled_get(Elm_Softkey_Item *it) { + if (!it) + return EINA_FALSE; + return it->disabled; +} + +EAPI void elm_softkey_item_disabled_set(Elm_Softkey_Item *it, + Eina_Bool disabled) { + if (!it) + return; + _item_disable(it, disabled); +} -- 2.7.4