[efl-upgrade]
authorJeahwan Kim <jae.hwan.kim@samsung.com>
Fri, 10 Sep 2010 10:27:33 +0000 (19:27 +0900)
committerJeahwan Kim <jae.hwan.kim@samsung.com>
Fri, 10 Sep 2010 10:27:33 +0000 (19:27 +0900)
Merge with EFL svn repo

Merge branch 'svn_merge'

Conflicts:
configure.ac
data/themes/default.edc
src/lib/Elementary.h.in
src/lib/Makefile.am
src/lib/elm_animator.c
src/lib/elm_cnp_helper.c
src/lib/elm_entry.c
src/lib/elm_gengrid.c
src/lib/elm_genlist.c
src/lib/elm_index.c
src/lib/elm_label.c
src/lib/elm_main.c
src/lib/elm_notify.c
src/lib/elm_pager.c
src/lib/elm_priv.h
src/lib/elm_scroller.c

56 files changed:
1  2 
configure.ac
data/themes/default.edc
debian/changelog
debian/control
src/lib/Elementary.h.in
src/lib/Makefile.am
src/lib/elc_anchorblock.c
src/lib/elc_anchorview.c
src/lib/elc_fileselector.c
src/lib/elc_fileselector_button.c
src/lib/elc_hoversel.c
src/lib/elc_notepad.c
src/lib/elc_scrolled_entry.c
src/lib/elm_animator.c
src/lib/elm_bubble.c
src/lib/elm_button.c
src/lib/elm_check.c
src/lib/elm_clock.c
src/lib/elm_config.c
src/lib/elm_conform.c
src/lib/elm_entry.c
src/lib/elm_flip.c
src/lib/elm_frame.c
src/lib/elm_gengrid.c
src/lib/elm_genlist.c
src/lib/elm_hover.c
src/lib/elm_icon.c
src/lib/elm_image.c
src/lib/elm_index.c
src/lib/elm_layout.c
src/lib/elm_list.c
src/lib/elm_main.c
src/lib/elm_map.c
src/lib/elm_mapbuf.c
src/lib/elm_menu.c
src/lib/elm_notify.c
src/lib/elm_pager.c
src/lib/elm_panel.c
src/lib/elm_photo.c
src/lib/elm_photocam.c
src/lib/elm_priv.h
src/lib/elm_progressbar.c
src/lib/elm_radio.c
src/lib/elm_scroller.c
src/lib/elm_slider.c
src/lib/elm_slideshow.c
src/lib/elm_spinner.c
src/lib/elm_theme.c
src/lib/elm_thumb.c
src/lib/elm_toggle.c
src/lib/elm_toolbar.c
src/lib/elm_widget.c
src/lib/elm_win.c
src/lib/els_scroller.c
src/modules/ctxpopup_copypasteUI/Makefile.am
src/modules/popup_copypasteUI/Makefile.am

diff --cc configure.ac
index df12a4e,e621f07..440ea68
mode 100755,100644..100755
@@@ -591,36 -596,6 +596,37 @@@ collections 
        }
     }
  
 +   group { name: "elm/label/base_wrap_ellipsis/default";
 +      data.item: "default_font_size" "24";
 +      data.item: "min_font_size" "8";
 +      data.item: "max_font_size" "60";
 +      parts {
 +       part { name: "label.swallow.background";
 +          type: SWALLOW;
 +          description { state: "default" 0.0;
 +             visible: 1;
 +             rel1 { relative: 0 0; to: "elm.text"; }
 +             rel2 { relative: 1 1; to: "elm.text"; }
 +          }
 +       }
++
 +       part { name: "elm.text";
 +          type: TEXTBLOCK;
 +          mouse_events: 0;
 +          scale: 1;
 +          description { state: "default" 0.0;
 +               // FIXME : fixed for multiline ellipsis.
 +               //         does it need to make another ellipsis style? 
 +             fixed: 0 1; 
 +             text {
 +                style: "textblock_style";
 +                min: 0 1;
 +             }
 +          }
 +       }
 +      }
 +   }
 +
     group { name: "elm/label/base/marker";
        data.item: "default_font_size" "24";
        data.item: "min_font_size" "8";
index bc11d7b,0000000..f60edd9
mode 100644,000000..100644
--- /dev/null
@@@ -1,922 -1,0 +1,939 @@@
++elementary (1.0.0+svn.51480slp2+build01) unstable; urgency=low
++
++  * efl 1.0 alpha upgrade
++  * Git: 165.213.180.234:/git/slp/pkgs/elementary
++  * Tag: elementary_1.0.0+svn.51480slp2+build01
++
++ -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Tue, 31 Aug 2010 22:57:03 +0900
++
++elementary (0.4.0+svn.49550slp2+3build51) unstable; urgency=low
++
++  * [elm_theme] Added NULL check to elm_theme_get().
++  * [Elementary.h.in] fix vim modeline. fix indent
++  * Git: 165.213.180.234:/git/slp/pkgs/elementary
++  * Tag: elementary_0.4.0+svn.49550slp2+3build51
++
++ -- Daniel Juyung Seo <juyung.seo@samsung.com>  Wed, 08 Sep 2010 12:06:32 +0900
++
 +elementary (0.4.0+svn.49550slp2+3build50) unstable; urgency=low
 +
 +  * [elm_stackedicon] improve performance
 +  * [genlist] Code refactoring
 +  * [genlist] Added genlist APIs.
 +  * [genlist] Disabled item_select when slide menu is opened.
 +  * [segment_control] new API is added to elm_segment_control
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build50
 +
 + -- Daniel Juyung Seo <juyung.seo@samsung.com>  Wed, 08 Sep 2010 03:57:16 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build49) unstable; urgency=low
 +
 +  * [Elementary.h.in]
 +  * [elm_ctxpopup.c] updated scroller
 +  * [elm_selectioninfo,elm_pagecontrol] Added exception handling
 +  * [elm_dayselecotr.c] modified elm_dayselector clicked event_info as Elm_Event_DaySelector_Day*
 +  * [label] adding multiline ellipsis style
 +  * [label] refine multiline ellipsis
 +  * [elm_webview]modify BOUNCE feature
 +  * [els_webview]flash file support
 +  * [searchbar] adding base_bg event handler
 +  * [tickernoti] bugfix for del_hook
 +  * [genlist] Added some genlist APIs and checked EINA_DEPRECATED for some APIs.
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build49
 +
 + -- Daniel Juyung Seo <juyung.seo@samsung.com>  Tue, 07 Sep 2010 23:17:41 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build48) unstable; urgency=low
 +
 +  * repackaging. Please refer the git log 
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build48
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Tue, 07 Sep 2010 15:26:31 +0900 
 +elementary (0.4.0+svn.49550slp2+3build47) unstable; urgency=low
 +
 +  * repackaging. for latest beat-theme. 
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build47
 +
 + -- WooHyun Jung <wh0705.jung@samsung.com>  Thu, 02 Sep 2010 18:57:11 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build46) unstable; urgency=low
 +
 +  * repackaging. please refer git log. 
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build46
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Tue, 31 Aug 2010 15:17:11 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build45) unstable; urgency=low
 +
 +  * repackage for slidingdrawer
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build45
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Mon, 30 Aug 2010 23:14:18 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build44) unstable; urgency=low
 +
 +  * repackage for sync
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build44
 +
 + -- WooHyun Jung <wh0705.jung@samsung.com>  Mon, 30 Aug 2010 13:05:14 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build43) unstable; urgency=low
 +
 +  * [webview] discpicker deleted
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build43
 +
 + -- WooHyun Jung <wh0705.jung@samsung.com>  Fri, 27 Aug 2010 16:26:09 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build42) unstable; urgency=low
 +
 +  * [bubble] elm_bubble initial release
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build42
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Thu, 26 Aug 2010 22:19:28 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build41) unstable; urgency=low
 +
 +  * [elm_popup_add_with_buttons_added with EINA_DEPRECATED]
 +    added EINA_DEPRECATED for some  aqua and android widgets. 
 +    Made popup when window passed as Evas_Object and api changed to elm_popup_with _buttons_add
 +    add elm_webview_default_layout_width_set API
 +    [genlist] code refactoring
 +    [box] make extended box min size unset in the layout function 
 +    [elm_dayselector.c] added new API elm_dayselector_check_state_set
 +    [elm_animatedicon] elm_animatedicon is removed
 +     ...
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build41
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Thu, 26 Aug 2010 19:18:03 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build40) unstable; urgency=low
 +
 +  * Beat Winset updates.
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build40
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Wed, 25 Aug 2010 09:08:30 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build39) unstable; urgency=low
 +
 +  * Beat Winset Beta Release.
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build39
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Mon, 23 Aug 2010 10:47:22 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build38) unstable; urgency=low
 +
 +  * [multibuttonentry]
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build38
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Fri, 20 Aug 2010 21:18:03 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build37) unstable; urgency=low
 +
 +  * [controlbar] rollback
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build37
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Thu, 19 Aug 2010 20:47:55 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build36) unstable; urgency=low
 +
 +  * add clip set
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build36
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Thu, 19 Aug 2010 17:30:22 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build35) unstable; urgency=low
 +
 +  * added dependency for the webkit-engine
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build35
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Thu, 19 Aug 2010 09:41:17 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build34) unstable; urgency=low
 +
 +  * [Elemenatry.h.in]
 +  * [controlbar] block more item mode
 +  * [elm_datefield] bug related to imf commit signal cb
 +  * [elm_datefield] ampm mouse down event bug
 +  * [dialoguegroup] new style added
 +  * [dialoguegroup] sub_obj_add are added for each item
 +  * [editfield] bugs are fixed
 +  * [elm_ctxpopup.c] on implementing a function that user content set.
 +  * [elm_ctxpopup.c] added visual interaction in code temporary.
 +  * [src/modules/ctxpopup_copypasteUI/copypaste.c]
 +  *        removed elm_object_style_set for the ctxpopup.
 +  * [modules/ctxpopup_copypasteUI/copypaste.c]
 +  *        added elm_object_style_set for the ctpopup copypaste style.
 +  * [ctxpopup_copypasteUI/copypaste.c]
 +  *        modified elm_ctxpopup_label_add -> elm_ctxpopup_item_add
 +  * [popup_copypasteUI/copypaste.c]
 +  *        modified elm_ctxpopup_label_add -> elm_ctxpopup_item_add
 +  * [elm_label] fixing ellipsis label to width bug
 +  * [elm_label.c] added usage comment to elm_label_text_align_set.
 +  * [elm_nocontents] added elm_nocontents
 +  * [elm_transit.c] fixed wipe direction, fixed wipe effect bug.
 +  * [elm_webview] add libwebkit-engine-dev to debian/control
 +  * [elm_webview] remove webview test
 +  * [elm_webview] remove glib dependency
 +  * [elm_webview] modify webkit option to auto
 +  * [elm_webview] enable elm_webview and correct wrong API names
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build34
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Wed, 18 Aug 2010 20:05:25 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build33) unstable; urgency=low
 +
 +  * [picker] add time_date
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build33
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Tue, 17 Aug 2010 08:56:21 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build32) unstable; urgency=low
 +
 +  * [segment_control] fixed click callback bug
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build32
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Mon, 16 Aug 2010 21:40:15 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build31) unstable; urgency=low
 +
 +  * [controlbar] fix label bug, add animation effect
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build31
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Sun, 15 Aug 2010 14:45:47 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build30) unstable; urgency=low
 +
 +  * [dialoguegroup & editfield] modified for 0.7
 +  * [Elm_index] Support added if only single level required.
 +  * [pager]: removed animation from the first page.
 +  * [elm_label] adding multiline ellipsis
 +  * [controlbar] change item move animation and box structure
 +  * [gengrid] modified for theme setting
 +  * [elm_slider] modified
 +  * [elm_animator.c]
 +  * [elm_transit.c]
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build30
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Mon, 09 Aug 2010 23:43:49 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build29) unstable; urgency=low
 +
 +  * repackaging
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build29
 +
 + -- WooHyun Jung <wh0705.jung@samsung.com>  Thu, 05 Aug 2010 19:56:44 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build28) unstable; urgency=low
 +
 +  * [elm_tab] dim hide
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build28
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Wed, 04 Aug 2010 15:14:11 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build27) unstable; urgency=low
 +
 +  * [elm_editfield] rollback for kessler
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build27
 +
 + -- WooHyun Jung <wh0705.jung@samsung.com>  Fri, 30 Jul 2010 11:08:55 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build26) unstable; urgency=low
 +
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build26
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Thu, 29 Jul 2010 19:58:47 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build25) unstable; urgency=low
 +
 +  * [Segment Control] Resizing issue fixed.
 +  * [elm_ctxpopup.c]
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build25
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Mon, 26 Jul 2010 09:41:13 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build24) unstable; urgency=low
 +
 +  * [els_touch] commit initial els_touch file which will be used by elm_webview
 +  * [popup]: standardization for contribution
 +  * [elm_slider] hold scroller during draging
 +  * [elm_main] Temporary set ELM_MODULES.
 +  * [actionslider] fix formatting
 +  * [elm_ctxpopup.c] fixed computation size problem.
 +  * [controlbar, searchbar, slider] fix formatting
 +  * [editfield] fix formatting
 +  * [scrolled_entry] remove warning
 +  * [ScrollBar (Handler)] Modified to smooth handler movement.
 +  * [elm_dialoguegroup] modified for editfield design, fixing bugs
 +  * [entry copypaste]- not scrolling issue after copy paste resolved.
 +  * [entry] remove unused variable
 +  * [Elementary.h.in] fix formatting
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build24
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Thu, 22 Jul 2010 21:10:18 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build23) unstable; urgency=low
 +
 +  * elm_dialoguegroup API change
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build23
 +
 + -- WooHyun Jung <wh0705.jung@samsung.com>  Tue, 20 Jul 2010 16:59:38 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build22) unstable; urgency=low
 +
 +  * Repackaging
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build22
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Mon, 19 Jul 2010 10:44:38 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build21) unstable; urgency=low
 +
 +  * Repackaging
 +  * Git: 165.213.180.234:/git/slp/pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build21
 +
 + -- WooHyun Jung <wh0705.jung@samsung.com>  Thu, 15 Jul 2010 14:48:43 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build20) unstable; urgency=low
 +
 +  * Repackaging
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build20
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Wed, 14 Jul 2010 10:05:43 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build19) unstable; urgency=low
 +
 +  * Repackaging
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build19
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Wed, 14 Jul 2010 08:35:01 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build18) unstable; urgency=low
 +
 +  * [animator] prevent critical a bug.  
 +  * [coverflow] fixed landspace mode bug. 
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build18
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Tue, 13 Jul 2010 23:07:03 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build17) unstable; urgency=low
 +
 +  * [softkey] Indentation using Ecliplse Ecoding style for Eclipse.
 +  * [softkey] Modified softkey toresolve crashes in applications.
 +  * [popup] theme hook modifications.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build17
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Tue, 13 Jul 2010 22:43:23 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build16) unstable; urgency=low
 +
 +  * repackaging.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build16
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Mon, 12 Jul 2010 19:51:42 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build15) unstable; urgency=low
 +
 +  * modify _theme_hook in elm_entry.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build15
 +
 + -- Jihoon Kim <jihoon48.kim@samsung.com>  Fri, 09 Jul 2010 20:01:36 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build14) unstable; urgency=low
 +
 +  * Add APIs related to input panel in the scrolled entry.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build14
 +
 + -- Jihoon Kim <jihoon48.kim@samsung.com>  Fri, 09 Jul 2010 09:27:49 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build13) unstable; urgency=low
 +
 +  * Add APIs related to input panel.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build13
 +
 + -- Jihoon Kim <jihoon48.kim@samsung.com>  Thu, 08 Jul 2010 17:50:35 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build12) unstable; urgency=low
 +
 +  * Packaging.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build12
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Wed, 07 Jul 2010 17:02:01 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build11) unstable; urgency=low
 +
 +  * Packaging.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build11
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Wed, 23 Jun 2010 17:23:16 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build10) unstable; urgency=low
 +
 +  * Packaging.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build10
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Fri, 18 Jun 2010 23:10:03 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build09) unstable; urgency=low
 +
 +  * Applied ethumb package changes.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build09
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Fri, 18 Jun 2010 17:45:00 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build08) unstable; urgency=low
 +
 +  * Applied titlebar changes.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build08
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Thu, 17 Jun 2010 11:38:34 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build07) unstable; urgency=low
 +
 +  * Contextual Popup bug fixed.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build07
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Wed, 16 Jun 2010 18:41:31 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build06) unstable; urgency=low
 +
 +  * Genlist bug fix.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build06
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Tue, 15 Jun 2010 15:23:06 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build05) unstable; urgency=low
 +
 +  * Packaging.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build05
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Tue, 15 Jun 2010 11:42:57 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build04) unstable; urgency=low
 +
 +  * Packaging.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build04
 +
 + -- Daniel Juyung Seo <juyung.seo@samsung.com>  Thu, 10 Jun 2010 21:09:41 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build03) unstable; urgency=low
 +
 +  * Packaging.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build03
 +
 + -- Daniel Juyung Seo <juyung.seo@samsung.com>  Thu, 10 Jun 2010 21:04:24 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3build02) unstable; urgency=low
 +
 +  * Packaging.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3build02
 +
 + -- Daniel Juyung Seo <juyung.seo@samsung.com>  ëª©, 10  6ì›” 2010 21:00:52 +0900
 +
 +elementary (0.4.0+svn.49550slp2+3) unstable; urgency=low
 +
 +  * Packaging.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+3
 +
 + -- Daniel Juyung Seo <juyung.seo@samsung.com>  Thu, 10 Jun 2010 20:46:54 +0900
 +
 +elementary (0.4.0+svn.49550slp2+2) unstable; urgency=low
 +
 +  * Packaging.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+2
 +
 + -- Daniel Juyung Seo <juyung.seo@samsung.net>  Thu, 10 Jun 2010 20:46:08 +0900
 +
 +elementary (0.4.0+svn.49550slp2+1) unstable; urgency=low
 +
 +  * Packaging.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/elementary
 +  * Tag: elementary_0.4.0+svn.49550slp2+1
 +
 + -- Daniel Juyung Seo <juyung.seo@smasung.net>  Thu, 10 Jun 2010 20:45:23 +0900
 +
 +elementary (0.4.0+svn.49550slp2+0) unstable; urgency=low
 +
 +  * Update opensource EFL from SVN
 +  * SVN revision: 49550 (Total EFL revision: 49550)
 +  * Tag: 0.4.0+svn.49550slp2+0
 +
 + -- Daniel Juyung Seo <juyung.seo@smasung.net>  Thu, 10 Jun 2010 15:50:42 +0900
 +
 +elementary (0.4.0+svn20100304slp2+18) unstable; urgency=low
 +
 +  * tab bug fix, add animator and transit
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
 +  * Tag: elementary_0.4.0+svn20100304slp2+18
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Thu, 06 May 2010 10:13:42 +0900
 +
 +elementary (0.4.0+svn20100304slp2+17) unstable; urgency=low
 +
 +  * Repackaging.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
 +  * Tag: elementary_0.4.0+svn20100304slp2+17
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Mon, 26 Apr 2010 11:59:26 +0900
 +
 +elementary (0.4.0+svn20100304slp2+16) unstable; urgency=low
 +
 +  * fix elm_button , add dependency efreet-dev
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
 +  * Tag: elementary_0.4.0+svn20100304slp2+16
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Sun, 25 Apr 2010 13:21:19 +0900
 +
 +elementary (0.4.0+svn20100304slp2+15) unstable; urgency=low
 +
 +  * debian/control changed.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
 +  * Tag: elementary_0.4.0+svn20100304slp2+15
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Sat, 24 Apr 2010 18:56:03 +0900
 +
 +elementary (0.4.0+svn20100304slp2+14) unstable; urgency=low
 +
 +  * Packaging.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
 +  * Tag: elementary_0.4.0+svn20100304slp2+14
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Fri, 23 Apr 2010 19:36:42 +0900
 +
 +elementary (0.4.0+svn20100304slp2+13) unstable; urgency=low
 +
 +  * Updated package version due to tag
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
 +  * Tag: elementary_0.4.0+svn20100304slp2+13
 +
 + -- Myungjae Lee <mjae.lee@samsung.com>  Thu, 16 Apr 2010 11:38:00 +0900
 +
 +elementary (0.4.0+svn20100304slp2+12) unstable; urgency=low
 +
 +  * Updated package version due to tag
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
 +  * Tag: elementary_0.4.0+svn20100304slp2+12
 +
 + -- Myungjae Lee <mjae.lee@samsung.com>  Thu, 15 Apr 2010 20:35:00 +0900
 +
 +elementary (0.4.0+svn20100304slp2+11) unstable; urgency=low
 +
 +  * Bug fix - entry cursor position
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
 +  * Tag: elementary_0.4.0+svn20100304slp2+11
 +
 + -- Myungjae Lee <mjae.lee@samsung.com>  Thu, 15 Apr 2010 19:53:00 +0900
 +
 +elementary (0.4.0+svn20100304slp2+10) unstable; urgency=low
 +
 +  * Support autocapitalization
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
 +  * Tag: elementary_0.4.0+svn20100304slp2+10
 +
 + -- Jihoon Kim <jihoon48.kim@samsung.com>  Wed, 14 Apr 2010 18:12:14 +0900
 +
 +elementary (0.4.0+svn20100304slp2+9) unstable; urgency=low
 +
 +  * Hor_scroller : Patch for horizontal scroller from jinny.yoon@samsung.com.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
 +  * Tag: elementary_0.4.0+svn20100304slp2+9
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Wed, 14 Apr 2010 17:11:34 +0900
 +
 +elementary (0.4.0+svn20100304slp2+8) unstable; urgency=low
 +
 +  * elm genlist main stream item queue handler rollback (by Mr.Govi)
 +  * Tag: elementary_0.4.0+svn20100304slp2+8
 +
 + -- Myungjae Lee <mjae.lee@samsung.com>  Tue, 14 Apr 2010 15:11:00 +0900
 +
 +elementary (0.4.0+svn20100304slp2+7) unstable; urgency=low
 +
 +  * elm_tab, elm_colorpicker bug fix
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
 +  * Tag: elementary_0.4.0+svn20100304slp2+7
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Tue, 13 Apr 2010 17:03:54 +0900
 + 
 +elementary (0.4.0+svn20100304slp2+6) unstable; urgency=low
 +
 +  * Patch for horizontal scroller.
 +  * Genlist : Group header support added.
 +  * Popup : Popup widget added.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
 +  * Tag: elementary_0.4.0+svn20100304slp2+6
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Fri, 09 Apr 2010 20:08:33 +0900
 +
 +elementary (0.4.0+svn20100304slp2+5) unstable; urgency=low
 +
 +  * Repackaging.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
 +  * Tag: elementary_0.4.0+svn20100304slp2+5
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Mon, 05 Apr 2010 20:45:51 +0900
 +
 +elementary (0.4.0+svn20100304slp2+4) unstable; urgency=low
 +
 +  * Patch for horizontal scroller.
 +  * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
 +  * Tag: elementary_0.4.0+svn20100304slp2+4
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Mon, 05 Apr 2010 20:28:33 +0900
 +
 +elementary (0.4.0+svn20100304slp2+3) unstable; urgency=low
 +
 +  * rollback - elm_entry : removed <br> related bug fix
 +
 + -- Myungjae Lee <mjae.lee@samsung.com>  Sat, 27 Mar 2010 18:35:00 +0900
 +
 +elementary (0.4.0+svn20100304slp2+2) unstable; urgency=low
 +
 +  * elm_genlist rollback
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Fri, 26 Mar 2010 21:42:43 +0900
 +
 +elementary (0.4.0+svn20100304slp2+1) unstable; urgency=low
 +
 +  * change package version
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Thu, 25 Mar 2010 14:57:50 +0900
 +
 +elementary (0.4.0+svn20100304-5) unstable; urgency=low
 +
 +  * Genlist "selected", "longpressed" callback bug fix.
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Wed, 24 Mar 2010 18:01:12 +0900
 +
 +elementary (0.4.0+svn20100304-4) unstable; urgency=low
 +
 +  * softkey bug fix - reported by myfile
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Tue, 23 Mar 2010 15:55:40 +0900
 +
 +elementary (0.4.0+svn20100304-3) unsyable; urgency=low
 +
 +  * Editfield Bug is fixed
 +
 + -- WooHyun Jung <wh0705.jung@samsung.com>  Fri, 19 Mar 2010 23:53:20 +0900
 +
 +elementary (0.4.0+svn20100304-2) unstable; urgency=low
 +
 +  * tab API add, diskcontroller bug fix, genlist bug fix etc.
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Fri, 19 Mar 2010 13:36:57 +0900
 +
 +elementary (0.4.0+svn20100304-1) unstable; urgency=low
 +
 +  * EFL_update_revision_46864
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Wed, 10 Mar 2010 16:06:40 +0900
 +
 +elementary (0.4.0+svn20100203-19) unstable; urgency=low
 +
 +  * Merge source (based on svn rev.46421)
 +
 + -- Doyoun Kang <doyoun.kang@samsung.com>  Thu, 04 Mar 2010 12:11:40 +0900
 +
 +elementary (0.4.0+svn20100203-18) unstable; urgency=low
 +
 +  * updated ctxpopup
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Wed, 03 Mar 2010 20:40:38 +0900
 +
 +elementary (0.4.0+svn20100203-17) unstable; urgency=low
 +
 +  * diskcontroller bug fix
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Wed, 03 Mar 2010 19:28:34 +0900
 +
 +elementary (0.4.0+svn20100203-16) unstable; urgency=low
 +
 +  * updated picker, tab..
 +
 + -- Chuneon.park <chuneon.park@samsung.com>  Tue, 02 Mar 2010 14:56:28 +0900
 +
 +elementary (0.4.0+svn20100203-15) unstable; urgency=low
 +
 +  * updated elm_tab
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Fri, 19 Feb 2010 21:10:31 +0900
 +
 +elementary (0.4.0+svn20100203-14) unstable; urgency=low
 +
 +  * Repackaging (previous one is not uploaded well)
 +
 + -- Juyung Seo <juyung.seo@samsung.com>  Thu, 18 Feb 2010 23:31:33 +0900
 +
 +elementary (0.4.0+svn20100203-13) unstable; urgency=low
 +
 +  * Updated
 +
 + -- WooHyun Jung <wh0705.jung@samsung.com>  Thu, 18 Feb 2010 20:12:49 +0900
 +
 +elementary (0.4.0+svn20100203-12) unstable; urgency=low
 +
 +  * table API added (clear, unpack), elm_object_focus: steal focus
 +
 + -- Wonguk Jeong <wonguk.jeong@samsung.com>  Wed, 17 Feb 2010 15:58:01 +0900
 +
 +elementary (0.4.0+svn20100203-11) unstable; urgency=low
 +
 +  * Updated ctxpopup.
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Fri, 12 Feb 2010 21:00:39 +0900
 +
 +elementary (0.4.0+svn20100203-10) unstable; urgency=low
 +
 +  * Updated ctxpopup positioning. 
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Fri, 12 Feb 2010 13:27:23 +0900
 +
 +elementary (0.4.0+svn20100203-9) unstable; urgency=low
 +
 +  * Updated ctxpopup 
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Fri, 12 Feb 2010 11:39:15 +0900
 +
 +elementary (0.4.0+svn20100203-8) unstable; urgency=low
 +
 +  * elm_win_transperent apply
 +
 + -- Jaehwan <jae.hwan.kim@samsung.com>  Thu, 11 Feb 2010 15:44:46 +0900
 +
 +elementary (0.4.0+svn20100203-7) unstable; urgency=low
 +
 +  * bug-fixed - timepicker (time is not same between am_pm mode and mmilitary mode when mode is changed by elm_timepicker_show_am_pm_set() (wonguk.jeong)
 +    disccontroller - first item is not called (Jaehwan Kim)
 +
 + -- Wonguk Jeong <wonguk.jeong@samsung.com>  Tue, 09 Feb 2010 19:21:43 +0900
 +
 +elementary (0.4.0+svn20100203-6) unstable; urgency=low
 +
 +  * add rotate with resize (elm_win) - by Sangjin Lee
 +
 + -- Wonguk Jeong <wonguk.jeong@samsung.com>  Mon, 08 Feb 2010 14:43:22 +0900
 +
 +elementary (0.4.0+svn20100203-5) unstable; urgency=low
 +
 +  * add debug package
 +
 + -- Wonguk Jeong <wonguk.jeong@samsung.com>  Mon, 08 Feb 2010 14:07:21 +0900
 +
 +elementary (0.4.0+svn20100203-4) unstable; urgency=low
 +
 +  * [diskcontroller] bug fix
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Sat, 06 Feb 2010 02:59:21 +0900
 +
 +elementary (0.4.0+svn20100203-3) unstable; urgency=low
 +
 +  * [elm_ctxpopup.c] removed arrow image and modified for multi-resolution.
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Fri, 05 Feb 2010 14:06:59 +0900
 +
 +elementary (0.4.0+svn20100203-2) unstable; urgency=low
 +
 +  * repack
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Thu, 04 Feb 2010 20:36:22 +0900
 +
 +elementary (0.4.0+svn20100203-1) unstable; urgency=low
 +
 +  * EFL_update_revision_45828
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Wed, 03 Feb 2010 16:39:25 +0900
 +
 +elementary (0.4.0+svn20100119-11) unstable; urgency=low
 +
 +  * [elm_ctxpopup.c] added "ctxpopup,hide" smart callback
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Thu, 28 Jan 2010 20:22:46 +0900
 +
 +elementary (0.4.0+svn20100119-10) unstable; urgency=low
 +
 +  * [elm_softkey.c] added elm_softkey_item_callback_set() 
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Thu, 28 Jan 2010 19:28:46 +0900
 +
 +elementary (0.4.0+svn20100119-9) unstable; urgency=low
 +
 +  * [elm_ctxpopup.c] added doxygen code. 
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Mon, 25 Jan 2010 17:14:04 +0900
 +
 +elementary (0.4.0+svn20100119-8) unstable; urgency=low
 +
 +  * [default.edc] changed entry cursor shape to vertical bar
 +
 + -- Myungjae Lee <mjae.lee@samsung.com>  Sun, 24 Jan 2010 20:58:00 +0900
 +
 +elementary (0.4.0+svn20100119-7) unstable; urgency=low
 +
 +  * [elm_ctxpopup.c] added invalidation function 
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Sun, 24 Jan 2010 19:19:56 +0900
 +
 +elementary (0.4.0+svn20100119-6) unstable; urgency=low
 +
 +  * all winset font change
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Sun, 24 Jan 2010 00:40:10 +0900
 +
 +elementary (0.4.0+svn20100119-5) unstable; urgency=low
 +
 +  * [elm_ctxpopup.c] added elm_ctxpopup_item_icon_get() func
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Fri, 22 Jan 2010 20:56:00 +0900
 +
 +elementary (0.4.0+svn20100119-4) unstable; urgency=low
 +
 +  * [elm_ctxpopup.c] Added elm_ctxpopup_item_label_get() func.
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Fri, 22 Jan 2010 20:45:33 +0900
 +
 +elementary (0.4.0+svn20100119-3) unstable; urgency=low
 +
 +  * [elm_ctxpopup.c] fixed internal bug
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Fri, 22 Jan 2010 19:39:48 +0900
 +
 +elementary (0.4.0+svn20100119-2) unstable; urgency=low
 +
 +  * build config
 +
 + -- Jihoon Kim <jihoon48.kim@samsung.com>  Fri, 22 Jan 2010 10:03:02 +0900
 +
 +elementary (0.4.0+svn20100119-1) unstable; urgency=low
 +
 +  * EFL_update_revision_45322
 +
 + -- Jihoon Kim <jihoon48.kim@samsung.com>  Tue, 19 Jan 2010 20:44:52 +0900
 +
 +elementary (0.4.0+svn20100118-1) unstable; urgency=low
 +
 +  * Added elm_ctxpopup.c in Makefile.am to build it. 
 +
 + -- ChunEon Park <chuneon.park@samsung.com>  Mon, 18 Jan 2010 18:47:56 +0900
 +
 +elementary (0.4.0+svn20100114-1) unstable; urgency=low
 +
 +  * support disable mode in softkey
 +
 + -- Jihoon Kim <jihoon48.kim@samsung.com>  Thu, 14 Jan 2010 19:15:21 +0900
 +
 +elementary (0.4.0+svn20100108-1) unstable; urgency=low
 +
 +  * change the enumeration of actionslider
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Fri, 08 Jan 2010 08:57:25 +0900
 +
 +elementary (0.4.0+svn20100107-1) unstable; urgency=low
 +
 +  * Add aquila winset in Elementary
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Thu, 07 Jan 2010 17:56:00 +0900
 +
 +elementary (0.4.0+svn20100105-1) unstable; urgency=low
 +
 +  * modify actionslider enum types
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Tue, 05 Jan 2010 15:27:25 +0900
 +
 +elementary (0.4.0+svn20100104-1) unstable; urgency=low
 +
 +  * add winset APIs
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Mon, 04 Jan 2010 18:04:56 +0900
 +
 +elementary (0.4.0+svn20091229-1) unstable; urgency=low
 +
 +  * update EFL
 +
 + -- Jaehwan Kim <jae.hwan.kim@samsung.com>  Tue, 29 Dec 2009 14:27:07 +0900
 +
 +elementary (0.4.0+svn20091112-5) unstable; urgency=low
 +
 +  * i386 build
 +
 + -- youmin.ha <sangho.g.park@samsung.com>  Mon, 30 Nov 2009 09:50:47 +0900
 +
 +elementary (0.4.0+svn20091112-4) unstable; urgency=low
 +
 +  * add dependency libefreet-dev to dev
 +
 + -- sangho.g.park <sangho.g.park@samsung.com>  Fri, 13 Nov 2009 14:17:37 +0900
 +
 +elementary (0.4.0+svn20091112-3) unstable; urgency=low
 +
 +  * add dependency libefreet-dev
 +
 + -- sangho.g.park <sangho.g.park@samsung.com>  Fri, 13 Nov 2009 14:10:37 +0900
 +
 +elementary (0.4.0+svn20091112-2) unstable; urgency=low
 +
 +  * add dependency libedbus-dev
 +
 + -- sangho.g.park <sangho.g.park@samsung.com>  Fri, 13 Nov 2009 11:41:37 +0900
 +
 +
 +elementary (0.4.0+svn20091112-1) unstable; urgency=low
 +
 +  * a SVN release.
 +
 + -- sangho.g.park <sangho.g.park@samsung.com>  Fri, 13 Nov 2009 09:42:37 +0900
 +
 +elementary (0.4.0+svnYYYYMMDD-1) unstable; urgency=low
 +
 +  * a SVN release.
 +
 + -- quaker <quaker66@gmail.com>  Fri, 23 May 2009 15:52:37 +0100
diff --cc debian/control
index 48dde79,0000000..1f9f7e2
mode 100644,000000..100644
--- /dev/null
@@@ -1,34 -1,0 +1,34 @@@
- Depends: libelm-svn-01 (= ${binary:Version}), libecore-dev, libevas-dev, libeet-dev, libedje-dev, libedbus-dev, libefreet-dev, libethumb-dev, libwebkit-engine-dev
 +Source: elementary
 +Section: x11
 +Priority: optional
 +Maintainer: Jaehwan Kim <jae.hwan.kim@samsung.com>, Chuneon Park <chuneon.park@samsung.com>, Juyung Seo <juyung.seo@samsung.com>, Myungjae Lee <mjae.lee@samsung.com>, Woohyun Jung <wh0705.jung@samsung.com>, Jihoon Kim <jihoon48.kim@samsung.com>
 +Uploaders: Doyoun Kang <doyoun.kang@samsung.com>
 +Build-Depends: debhelper (>= 6), cdbs, libecore-dev, libevas-dev, libeet-dev, libeet-bin, libedje-dev, pkg-config, libtool, libeina-dev, libefreet-dev, libethumb-dev, libwebkit-engine-dev
 +Standards-Version: 3.8.1
 +Homepage: http://www.enlightenment.org
 +
 +Package: libelm-dev
 +Section: libdevel
 +Architecture: any
- Package: libelm-svn-01
++Depends: libelm (= ${binary:Version}), libecore-dev, libevas-dev, libeet-dev, libedje-dev, libedbus-dev, libefreet-dev, libethumb-dev, libwebkit-engine-dev
 +Description: Elementary - a basic widget set that is easy to use based on EFL for mobile
 + This package contains devel content.
 +
- Depends: ${shlibs:Depends}, libelm-svn-01 (= ${binary:Version})
++Package: libelm
 +Architecture: any
 +Depends: ${shlibs:Depends}, libelm-bin
 +Description: Elementary - a basic widget set that is easy to use based on EFL for mobile
 + This package contains a widget toolkit.
 +
 +Package: libelm-bin
 +Architecture: any
 +Depends: ${shlibs:Depends}
 +Description: Elementary - a basic widget set that is easy to use based on EFL for mobile
 + This package contains elementary_test
 +
 +Package: libelm-dbg
 +Section: debug
 +Architecture: any
++Depends: ${shlibs:Depends}, libelm (= ${binary:Version})
 +Description: Elementary - a basic widget set that is easy to use based on EFL for mobile
 + This package is a debug package
index fcb0335,a39b14b..a3cd9e8
mode 100644,100644..100755
@@@ -689,23 -684,19 +702,19 @@@ extern "C" 
       } Elm_Notify_Orient;
     EAPI Evas_Object *elm_notify_add(Evas_Object *parent);
     EAPI void         elm_notify_content_set(Evas_Object *obj, Evas_Object *content);
-    EAPI void         elm_notify_parent_set(Evas_Object *obj, Evas_Object *parent);
-    EAPI void         elm_notify_orient_set(Evas_Object *obj, Elm_Notify_Orient orient);
+    EAPI Evas_Object *elm_notify_content_unset(Evas_Object *obj);
+    EAPI Evas_Object *elm_notify_content_get(const Evas_Object *obj);
+    EAPI void       elm_notify_parent_set(Evas_Object *obj, Evas_Object *parent);
+    EAPI void       elm_notify_orient_set(Evas_Object *obj, Elm_Notify_Orient orient);
+    EAPI Elm_Notify_Orient         elm_notify_orient_get(const Evas_Object *obj);
     EAPI void         elm_notify_timeout_set(Evas_Object *obj, int timeout);
-    EAPI void         elm_notify_timer_init(Evas_Object *obj);
-    EAPI void         elm_notify_repeat_events_set(Evas_Object *obj, Eina_Bool repeat);
+    EAPI int          elm_notify_timeout_get(const Evas_Object *obj);
+    EAPI void       elm_notify_timer_init(Evas_Object *obj);
+    EAPI void       elm_notify_repeat_events_set(Evas_Object *obj, Eina_Bool repeat);
 -   EAPI Eina_Bool      elm_notify_repeat_events_get(const Evas_Object *obj);
++   EAPI Eina_Bool    elm_notify_repeat_events_get(const Evas_Object *obj);
     /* smart callbacks called:
      */
-  
-    EAPI Evas_Object *elm_selectioninfo_add(Evas_Object *parent);
-    EAPI void         elm_selectioninfo_content_set(Evas_Object *obj, Evas_Object *content);
-    EAPI void         elm_selectioninfo_parent_set(Evas_Object *obj, Evas_Object *parent);
-    EAPI void         elm_selectioninfo_check_state_set(Evas_Object *obj, Eina_Bool *state, int count);
-    EAPI int          elm_selectioninfo_checked_count_get(Evas_Object *obj);
-    EAPI void         elm_selectioninfo_label_set(Evas_Object *obj, char* text);
-    /* smart callbacks called:
-     */
-    
     typedef enum _Elm_Hover_Axis
       {
        ELM_HOVER_AXIS_NONE,
     EAPI void         elm_slider_inverted_set(Evas_Object *obj, Eina_Bool inverted);
     EAPI Eina_Bool    elm_slider_inverted_get(const Evas_Object *obj);
  
 +   // added for supporting aqua feature
 +   EAPI Eina_Bool    elm_slider_end_icon_set(Evas_Object *obj, Evas_Object *icon);
 +   EAPI Evas_Object *elm_slider_end_icon_get(Evas_Object *obj);
 +   EAPI void         elm_slider_indicator_show_set(Evas_Object *obj, Eina_Bool show);
 +   EAPI void         elm_slider_value_animated_set(Evas_Object *obj, double val);
 +   EAPI void         elm_slider_end_label_set(Evas_Object *obj, const char *label);
 +   EAPI const char  *elm_slider_end_label_get(const Evas_Object *obj);
 +
     typedef enum _Elm_Genlist_Item_Flags
       {
--      ELM_GENLIST_ITEM_NONE = 0,
--      ELM_GENLIST_ITEM_SUBITEMS = (1 << 0)
++         ELM_GENLIST_ITEM_NONE = 0,
++         ELM_GENLIST_ITEM_SUBITEMS = (1 << 0)
       } Elm_Genlist_Item_Flags;
 -   typedef struct _Elm_Genlist_Item_Class Elm_Genlist_Item_Class;
 -   typedef struct _Elm_Genlist_Item       Elm_Genlist_Item;
 +   typedef enum _Elm_Genlist_Edit_Mode
 +     {
-       ELM_GENLIST_EDIT_MODE_NONE    = 0,
-       ELM_GENLIST_EDIT_MODE_REORDER = (1 << 0),
-       ELM_GENLIST_EDIT_MODE_INSERT  = (1 << 1),
-       ELM_GENLIST_EDIT_MODE_DELETE  = (1 << 2),
-       ELM_GENLIST_EDIT_MODE_SELECT  = (1 << 3),
-       ELM_GENLIST_EDIT_MODE_SELECTALL  = (1 << 4)
-      }Elm_Genlist_Edit_Mode;
-    typedef struct _Elm_Genlist_Item_Class Elm_Genlist_Item_Class;
-    typedef struct _Elm_Genlist_Item       Elm_Genlist_Item;
-    typedef struct _Elm_Genlist_GroupItem       Elm_Genlist_GroupItem;
++         ELM_GENLIST_EDIT_MODE_NONE    = 0,
++         ELM_GENLIST_EDIT_MODE_REORDER = (1 << 0),
++         ELM_GENLIST_EDIT_MODE_INSERT  = (1 << 1),
++         ELM_GENLIST_EDIT_MODE_DELETE  = (1 << 2),
++         ELM_GENLIST_EDIT_MODE_SELECT  = (1 << 3),
++         ELM_GENLIST_EDIT_MODE_SELECTALL  = (1 << 4)
++     } Elm_Genlist_Edit_Mode;
++   typedef struct _Elm_Genlist_Item_Class      Elm_Genlist_Item_Class;
++   typedef struct _Elm_Genlist_Item            Elm_Genlist_Item;
     typedef struct _Elm_Genlist_Item_Class_Func Elm_Genlist_Item_Class_Func;
-    typedef struct _Elm_Genlist_Edit_Class Elm_Genlist_Edit_Class;
++   typedef struct _Elm_Genlist_GroupItem       Elm_Genlist_GroupItem;
++   typedef struct _Elm_Genlist_Edit_Class      Elm_Genlist_Edit_Class;
     typedef char        *(*GenlistItemLabelGetFunc) (const void *data, Evas_Object *obj, const char *part);
-       typedef char        *(*GenlistItemLabelChangedFunc) (const void *data, Elm_Genlist_Item *it, const char *text, const int sub_text );
++   typedef char        *(*GenlistItemLabelChangedFunc) (const void *data, Elm_Genlist_Item *it, const char *text, const int sub_text );
     typedef Evas_Object *(*GenlistItemIconGetFunc)  (const void *data, Evas_Object *obj, const char *part);
     typedef Eina_Bool    (*GenlistItemStateGetFunc) (const void *data, Evas_Object *obj, const char *part);
     typedef void         (*GenlistItemDelFunc)      (const void *data, Evas_Object *obj);
-    typedef void         (*GenlistItemSelectedFunc) (const void *data, Evas_Object *obj);
 +   typedef int          (*GenlistItemEditModeGetFunc)  (const void *data, Evas_Object *obj, const int enabled_edit_modes);
 +   typedef void         (*GenlistInsertNewFunc)      (Evas_Object *genlist, Elm_Genlist_Item *rel_item);
++   typedef void         (*GenlistItemSelectedFunc) (const void *data, Elm_Genlist_Item *it, Eina_Bool selected);
 +   typedef Eina_Bool    (*GenlistMoveFunc)      ( Evas_Object *genlist, Elm_Genlist_Item *item, Elm_Genlist_Item *rel_item, Eina_Bool move_after);
 +   typedef Eina_Bool    (*GenlistRemoveItemFunc)     (Evas_Object *genlist, Elm_Genlist_Item *rel_item);
  
     struct _Elm_Genlist_Item_Class
       {
--      const char *item_style;
--      struct _Elm_Genlist_Item_Class_Func
--          {
--           GenlistItemLabelGetFunc label_get;
--           GenlistItemIconGetFunc icon_get;
--           GenlistItemStateGetFunc state_get;
--           GenlistItemDelFunc del;
-            GenlistItemEditModeGetFunc editmode_get;
-              GenlistItemLabelChangedFunc label_changed;
--        } func;
++         const char *item_style;
++         struct _Elm_Genlist_Item_Class_Func
++           {
++                 GenlistItemLabelGetFunc label_get;
++                 GenlistItemIconGetFunc icon_get;
++                 GenlistItemStateGetFunc state_get;
++                 GenlistItemDelFunc del;
++                 GenlistItemEditModeGetFunc editmode_get;
++                 GenlistItemLabelChangedFunc label_changed;
++           } func;
       };
  
-         GenlistRemoveItemFunc remove;
-         GenlistInsertNewFunc insert_new;
-         GenlistMoveFunc move;
-         GenlistItemSelectedFunc item_selected;
 +   struct _Elm_Genlist_Edit_Class
 +     {
++         GenlistRemoveItemFunc remove;
++         GenlistInsertNewFunc insert_new;
++         GenlistMoveFunc move;
++         GenlistItemSelectedFunc item_selected;
 +     };
     EAPI Evas_Object      *elm_genlist_add(Evas_Object *parent);
-    EAPI Elm_Genlist_Item *elm_genlist_item_append(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data);
-    EAPI Elm_Genlist_Item *elm_genlist_item_append_with_group(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Elm_Genlist_GroupItem *git, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data);
-    EAPI Elm_Genlist_Item *elm_genlist_item_prepend(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data);
-    EAPI Elm_Genlist_Item *elm_genlist_item_insert_before(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *before, Elm_Genlist_Item_Flags flags, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data);
-    EAPI Elm_Genlist_Item *elm_genlist_item_insert_after(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *after, Elm_Genlist_Item_Flags flags, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data);
-    EAPI void              elm_genlist_item_move_after(Elm_Genlist_Item *it, Elm_Genlist_Item *after );
     EAPI void              elm_genlist_clear(Evas_Object *obj);
-    EAPI Elm_Genlist_GroupItem *elm_genlist_groupitem_add(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data);
-    EAPI void              elm_genlist_groupitem_del( Elm_Genlist_GroupItem *git);
     EAPI void              elm_genlist_multi_select_set(Evas_Object *obj, Eina_Bool multi);
     EAPI Eina_Bool         elm_genlist_multi_select_get(const Evas_Object *obj);
+    EAPI void              elm_genlist_horizontal_mode_set(Evas_Object *obj, Elm_List_Mode mode);
+    EAPI Elm_List_Mode     elm_genlist_horizontal_mode_get(const Evas_Object *obj);
+    EAPI void              elm_genlist_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select);
+    EAPI Eina_Bool         elm_genlist_always_select_mode_get(const Evas_Object *obj);
+    EAPI void              elm_genlist_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select);
+    EAPI Eina_Bool         elm_genlist_no_select_mode_get(const Evas_Object *obj);
+    EAPI void              elm_genlist_compress_mode_set(Evas_Object *obj, Eina_Bool compress);
+    EAPI Eina_Bool         elm_genlist_compress_mode_get(const Evas_Object *obj);
+    EAPI void              elm_genlist_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
+    EAPI void              elm_genlist_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
+    EAPI void              elm_genlist_homogeneous_set(Evas_Object *obj, Eina_Bool homogeneous);
+    EAPI Eina_Bool         elm_genlist_homogeneous_get(const Evas_Object *obj);
+    EAPI void              elm_genlist_block_count_set(Evas_Object *obj, int n);
+    EAPI int               elm_genlist_block_count_get(const Evas_Object *obj);
+    EAPI void              elm_genlist_longpress_timeout_set(const Evas_Object *obj, double timeout);
+    EAPI double            elm_genlist_longpress_timeout_get(const Evas_Object *obj);
  
+    /* operations to add items */
+    EAPI Elm_Genlist_Item *elm_genlist_item_append(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data);
+    EAPI Elm_Genlist_Item *elm_genlist_item_prepend(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data);
+    EAPI Elm_Genlist_Item *elm_genlist_item_insert_before(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *before, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data);
+    EAPI Elm_Genlist_Item *elm_genlist_item_insert_after(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *after, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data);
+    /* operations to retrieve existing items */
     EAPI Elm_Genlist_Item *elm_genlist_selected_item_get(const Evas_Object *obj);
     EAPI const Eina_List  *elm_genlist_selected_items_get(const Evas_Object *obj);
     EAPI Eina_List        *elm_genlist_realized_items_get(const Evas_Object *obj);
     EAPI Elm_Genlist_Item *elm_genlist_first_item_get(const Evas_Object *obj);
     EAPI Elm_Genlist_Item *elm_genlist_last_item_get(const Evas_Object *obj);
     /* available item styles:
--    * default
--    * default_style - The text part is a textblock
--    * double_label
--    * icon_top_text_bottom
--    */
++      * default
++      * default_style - The text part is a textblock
++      * double_label
++      * icon_top_text_bottom
++      */
  
     /* Genlist Item operation */
     EAPI Elm_Genlist_Item *elm_genlist_item_next_get(const Elm_Genlist_Item *item);
     EAPI void              elm_genlist_item_data_set(Elm_Genlist_Item *it, const void *data);
     EAPI const Evas_Object *elm_genlist_item_object_get(const Elm_Genlist_Item *it);
     EAPI void              elm_genlist_item_update(Elm_Genlist_Item *item);
-    EAPI void              elm_genlist_horizontal_mode_set(Evas_Object *obj, Elm_List_Mode mode);
-    EAPI Elm_List_Mode     elm_genlist_horizontal_mode_get(const Evas_Object *obj);
-    EAPI void              elm_genlist_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select);
-    EAPI void              elm_genlist_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select);
-    EAPI void              elm_genlist_compress_mode_set(Evas_Object *obj, Eina_Bool compress);
-    EAPI Eina_Bool         elm_genlist_compress_mode_get(const Evas_Object *obj);
-    EAPI void              elm_genlist_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
-    EAPI void              elm_genlist_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
-    EAPI void              elm_genlist_homogeneous_set(Evas_Object *obj, Eina_Bool homogeneous);
-    EAPI Eina_Bool         elm_genlist_homogeneous_get(const Evas_Object *obj);
-    EAPI void              elm_genlist_block_count_set(Evas_Object *obj, int n);
-    EAPI int               elm_genlist_block_count_get(const Evas_Object *obj);
 +   EAPI void              elm_genlist_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v);
 +   EINA_DEPRECATED EAPI void elm_genlist_set_edit_mode(Evas_Object *obj, int emode, Elm_Genlist_Edit_Class *ec);
 +   EAPI void              elm_genlist_edit_mode_set(Evas_Object *obj, int emode, Elm_Genlist_Edit_Class *ec);
 +   EAPI int               elm_genlist_item_expanded_depth_get(Elm_Genlist_Item *it);
 +   EAPI void              elm_genlist_edit_selected_items_del(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI void elm_genlist_selected_items_del(Evas_Object *obj);
 +   EAPI Eina_List *       elm_genlist_edit_selected_items_get(const Evas_Object *obj);
 +   EAPI void              elm_genlist_item_rename_mode_set(Elm_Genlist_Item *it, int emode);
 +
++   EAPI Elm_Genlist_GroupItem *elm_genlist_groupitem_add(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data);
++   EAPI void              elm_genlist_groupitem_del( Elm_Genlist_GroupItem *git);
++   EAPI Elm_Genlist_Item *elm_genlist_item_append_with_group(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Elm_Genlist_GroupItem *git, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data);   
++   EAPI void              elm_genlist_item_move_after(Elm_Genlist_Item *it, Elm_Genlist_Item *after );
  
     EAPI Evas_Object *elm_check_add(Evas_Object *parent);
     EAPI void         elm_check_label_set(Evas_Object *obj, const char *label);
        } func;
       };
  
-    EAPI Evas_Object *elm_slideshow_add(Evas_Object *parent);
-    EAPI Elm_Slideshow_Item* elm_slideshow_item_add(Evas_Object *obj, const Elm_Slideshow_Item_Class *itc, const void *data);
-    EAPI void         elm_slideshow_show(Elm_Slideshow_Item *item);
-    EAPI void         elm_slideshow_next(Evas_Object *obj);
-    EAPI void         elm_slideshow_previous(Evas_Object *obj);
-    EAPI const Eina_List *elm_slideshow_transitions_get(const Evas_Object *obj);
-    EAPI void         elm_slideshow_transition_set(Evas_Object *obj, const char *);
-    EAPI const char  *elm_slideshow_transition_get(const Evas_Object *obj);
-    EAPI void         elm_slideshow_timeout_set(Evas_Object *obj ,int timeout);
-    EAPI int          elm_slideshow_timeout_get(const Evas_Object *obj);
-    EAPI void         elm_slideshow_loop_set(Evas_Object *obj, Eina_Bool loop);
-    EAPI Eina_Bool    elm_slideshow_loop_get(const Evas_Object *obj);
-    EAPI void       elm_slideshow_clear(Evas_Object *obj);
-    EAPI const Eina_List *elm_slideshow_items_get(const Evas_Object *obj);
-    EAPI void         elm_slideshow_item_del(Elm_Slideshow_Item *item);
-    EAPI void *       elm_slideshow_item_data_get(Elm_Slideshow_Item *item);
-    EAPI Elm_Slideshow_Item* elm_slideshow_item_current_get(const Evas_Object *obj);
-    EAPI Evas_Object* elm_slideshow_item_object_get(Elm_Slideshow_Item* item);
+    EAPI Evas_Object           *elm_slideshow_add(Evas_Object *parent);
+    EAPI Elm_Slideshow_Item    *elm_slideshow_item_add(Evas_Object *obj, const Elm_Slideshow_Item_Class *itc, const void *data);
+    EAPI void                           elm_slideshow_show(Elm_Slideshow_Item *item);
+    EAPI void                           elm_slideshow_next(Evas_Object *obj);
+    EAPI void                           elm_slideshow_previous(Evas_Object *obj);
+    EAPI const Eina_List       *elm_slideshow_transitions_get(const Evas_Object *obj);
+    EAPI void                   elm_slideshow_transition_set(Evas_Object *obj, const char *);
+    EAPI const char                    *elm_slideshow_transition_get(const Evas_Object *obj);
+    EAPI void                   elm_slideshow_timeout_set(Evas_Object *obj ,int timeout);
+    EAPI int                                    elm_slideshow_timeout_get(const Evas_Object *obj);
+    EAPI void                           elm_slideshow_loop_set(Evas_Object *obj, Eina_Bool loop);
+    EAPI Eina_Bool                      elm_slideshow_loop_get(const Evas_Object *obj);
+    EAPI void                           elm_slideshow_clear(Evas_Object *obj);
+    EAPI const Eina_List       *elm_slideshow_items_get(const Evas_Object *obj);
+    EAPI void                           elm_slideshow_item_del(Elm_Slideshow_Item *item);
+    EAPI void                          *elm_slideshow_item_data_get(Elm_Slideshow_Item *item);
+    EAPI Elm_Slideshow_Item    *elm_slideshow_item_current_get(const Evas_Object *obj);
+    EAPI Evas_Object*           elm_slideshow_item_object_get(Elm_Slideshow_Item* item);
+    EAPI const char                    *elm_slideshow_layout_get(const Evas_Object *obj);
+    EAPI void                           elm_slideshow_layout_set(Evas_Object *obj, const char *layout);
+    EAPI const Eina_List       *elm_slideshow_layouts_get(const Evas_Object *obj);
  
 -
     EAPI Evas_Object *elm_fileselector_add(Evas_Object *parent);
     EAPI void         elm_fileselector_is_save_set(Evas_Object *obj, Eina_Bool is_save);
     EAPI Eina_Bool    elm_fileselector_is_save_get(const Evas_Object *obj);
     typedef enum _Elm_Flip_Mode
       {
          ELM_FLIP_ROTATE_Y_CENTER_AXIS,
 -          ELM_FLIP_ROTATE_X_CENTER_AXIS,
 -          ELM_FLIP_ROTATE_XZ_CENTER_AXIS,
 -          ELM_FLIP_ROTATE_YZ_CENTER_AXIS,
 -          ELM_FLIP_CUBE_LEFT,
 -          ELM_FLIP_CUBE_RIGHT
 +        ELM_FLIP_ROTATE_X_CENTER_AXIS,
 +        ELM_FLIP_ROTATE_XZ_CENTER_AXIS,
-         ELM_FLIP_ROTATE_YZ_CENTER_AXIS
++        ELM_FLIP_ROTATE_YZ_CENTER_AXIS,
++        ELM_FLIP_CUBE_LEFT,
++        ELM_FLIP_CUBE_RIGHT
       } Elm_Flip_Mode;
  
     EAPI Evas_Object *elm_flip_add(Evas_Object *parent);
     EAPI void         elm_mapbuf_alpha_set(Evas_Object *obj, Eina_Bool alpha);
     EAPI Eina_Bool    elm_mapbuf_alpha_get(const Evas_Object *obj);
  
 -   /* animator */
++      /* animator */
+    typedef struct _Animator Elm_Animator;
+    typedef enum {ELM_ANIMATOR_CURVE_LINEAR, ELM_ANIMATOR_CURVE_IN_OUT, ELM_ANIMATOR_CURVE_IN, ELM_ANIMATOR_CURVE_OUT} Elm_Animator_Curve_Style; 
+    EAPI Elm_Animator* elm_animator_add(Evas_Object *parent);
+    EAPI void elm_animator_del(Elm_Animator *animator);
+    EAPI void elm_animator_duration_set(Elm_Animator *animator, double duration);
+    EAPI void elm_animator_operation_callback_set(Elm_Animator *animator, void (*func)(void *data, Elm_Animator *animator, double frame), void *data); 
+    EAPI void elm_animator_completion_callback_set(Elm_Animator *animator, void (*func)(void *data), void *data);
+    EAPI void elm_animator_stop(Elm_Animator *animator);
+    EAPI void elm_animator_repeat_set(Elm_Animator *animator, unsigned int repeat_cnt);
+    EAPI void elm_animator_animate(Elm_Animator *animator);
+    EAPI void elm_animator_curve_style_set(Elm_Animator *animator, Elm_Animator_Curve_Style cs);
+    EAPI void elm_animator_auto_reverse_set(Elm_Animator *animator, Eina_Bool reverse);
+    EAPI Eina_Bool elm_animator_auto_reverse_get(Elm_Animator *animator);
+    EAPI Eina_Bool elm_animator_operating_get(Elm_Animator *animator);
+    EAPI unsigned int elm_animator_repeat_get(Elm_Animator *animator);
 +   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 _Discpicker_Item Elm_Discpicker_Item;
 +   EINA_DEPRECATED EAPI Evas_Object     *elm_discpicker_add(Evas_Object *parent);
 +   EINA_DEPRECATED EAPI void             elm_discpicker_row_height_set(Evas_Object *obj, unsigned int row_height);
 +   EINA_DEPRECATED EAPI void             elm_discpicker_next(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI void             elm_discpicker_prev(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI Elm_Discpicker_Item *elm_discpicker_item_append(Evas_Object *obj, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), void *data);
 +   EINA_DEPRECATED EAPI Elm_Discpicker_Item *elm_discpicker_item_prepend(Evas_Object *obj, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), void *data);
 +   EINA_DEPRECATED EAPI const Eina_List *elm_discpicker_items_get(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI Elm_Discpicker_Item *elm_discpicker_first_item_get(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI Elm_Discpicker_Item *elm_discpicker_last_item_get(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI Elm_Discpicker_Item *elm_discpicker_selected_item_get(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI void             elm_discpicker_item_selected_set(Elm_Discpicker_Item *item);
 +   EINA_DEPRECATED EAPI void             elm_discpicker_item_del(Elm_Discpicker_Item *item);
 +   EINA_DEPRECATED EAPI const char      *elm_discpicker_item_label_get(Elm_Discpicker_Item *item);
 +   EINA_DEPRECATED EAPI void             elm_discpicker_item_label_set(Elm_Discpicker_Item *item, const char *label);
 +   EINA_DEPRECATED EAPI Elm_Discpicker_Item *elm_discpicker_item_prev(Elm_Discpicker_Item *item);
 +   EINA_DEPRECATED EAPI Elm_Discpicker_Item *elm_discpicker_item_next(Elm_Discpicker_Item *item);
 +   EINA_DEPRECATED EAPI void            *elm_discpicker_item_data_get(Elm_Discpicker_Item *item);
 +   EINA_DEPRECATED EAPI void             elm_discpicker_item_data_set(Elm_Discpicker_Item *item, void *data);
 +   EINA_DEPRECATED EAPI Eina_Bool        elm_discpicker_item_disabled_get(Elm_Discpicker_Item *item);
 +   EINA_DEPRECATED EAPI void             elm_discpicker_item_disabled_set(Elm_Discpicker_Item *item, Eina_Bool disabled);
 +    /* smart callback called:
 +    * "selected" - when discpicker selected item is changed
 +    * "overflowed" - when discpicker item is changed to first item from last item
 +    * "underflowed" - when discpicker item is changed to last item from first item.
 +    */
 +   /* available styles:
 +    * default
 +    */
 +
 +   typedef struct _Buttonpicker_Item Elm_Buttonpicker_Item;
 +   EINA_DEPRECATED EAPI Evas_Object     *elm_buttonpicker_add(Evas_Object *parent);
 +   EINA_DEPRECATED EAPI void             elm_buttonpicker_next(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI void             elm_buttonpicker_prev(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI Elm_Buttonpicker_Item *elm_buttonpicker_item_append(Evas_Object *obj, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), void *data);
 +   EINA_DEPRECATED EAPI Elm_Buttonpicker_Item *elm_buttonpicker_item_prepend(Evas_Object *obj, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), void *data);
 +   EINA_DEPRECATED EAPI const Eina_List *elm_buttonpicker_items_get(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI Elm_Buttonpicker_Item *elm_buttonpicker_first_item_get(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI Elm_Buttonpicker_Item *elm_buttonpicker_last_item_get(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI Elm_Buttonpicker_Item *elm_buttonpicker_selected_item_get(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI void             elm_buttonpicker_item_selected_set(Elm_Buttonpicker_Item *item);
 +   EINA_DEPRECATED EAPI void             elm_buttonpicker_item_del(Elm_Buttonpicker_Item *item);
 +   EINA_DEPRECATED EAPI const char      *elm_buttonpicker_item_label_get(Elm_Buttonpicker_Item *item);
 +   EINA_DEPRECATED EAPI void             elm_buttonpicker_item_label_set(Elm_Buttonpicker_Item *item, const char *label);
 +   EINA_DEPRECATED EAPI Elm_Buttonpicker_Item *elm_buttonpicker_item_prev(Elm_Buttonpicker_Item *item);
 +   EINA_DEPRECATED EAPI Elm_Buttonpicker_Item *elm_buttonpicker_item_next(Elm_Buttonpicker_Item *item);
 +   /* smart callback called:
 +    * "changed" - when buttonpicker selected item is changed
 +    * "overflowed" - when buttonpicker item is changed to first item from last item
 +    * "underflowed" - when buttonpicker 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
 +    */
 +
 +   EINA_DEPRECATED EAPI Evas_Object *elm_timepicker3_add(Evas_Object *parent);
 +   EINA_DEPRECATED EAPI void         elm_timepicker3_time_set(Evas_Object *obj, int hrs, int min, int sec);
 +   EINA_DEPRECATED EAPI void         elm_timepicker3_time_get(Evas_Object *obj, int *hrs, int *min, int *sec);
 +   EINA_DEPRECATED EAPI void         elm_timepicker3_show_am_pm_set(Evas_Object *obj, Eina_Bool am_pm);
 +   EINA_DEPRECATED EAPI void         elm_timepicker3_show_seconds_set(Evas_Object *obj, Eina_Bool seconds);
 +   /* smart callback called:
 +    * "changed" - when timepicker3 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
 +    */
 +
 +   EINA_DEPRECATED EAPI Evas_Object *elm_datepicker2_add(Evas_Object *parent);
 +   EINA_DEPRECATED EAPI void         elm_datepicker2_date_set(Evas_Object *obj, int year, int month, int day);
 +   EINA_DEPRECATED EAPI void         elm_datepicker2_date_get(Evas_Object *obj, int *year, int *month, int *day);
 +   EINA_DEPRECATED EAPI void         elm_datepicker2_date_min_set(Evas_Object *obj, int year, int month, int day);  // Not implemented
 +   EINA_DEPRECATED EAPI void         elm_datepicker2_date_min_get(Evas_Object *obj, int *year, int *month, int *day);
 +   EINA_DEPRECATED EAPI void         elm_datepicker2_date_max_set(Evas_Object *obj, int year, int month, int day); // Not implemented
 +   EINA_DEPRECATED EAPI void         elm_datepicker2_date_max_get(Evas_Object *obj, int *year, int *month, int *day);
 +   EINA_DEPRECATED EAPI void         elm_datepicker2_date_format_set(Evas_Object *obj, const char *fmt);
 +   EINA_DEPRECATED EAPI const char  *elm_datepicker2_date_format_get(Evas_Object *obj);
 +   /* smart callback called:
 +    * "changed" - when datepicker selected item is changed
 +    */
 +   /* available styles:
 +    * default
 +    */
 +    
 +   EINA_DEPRECATED EAPI Evas_Object *elm_datepicker3_add(Evas_Object *parent);
 +   EINA_DEPRECATED EAPI void         elm_datepicker3_date_set(Evas_Object *obj, int year, int month, int day);
 +   EINA_DEPRECATED EAPI void         elm_datepicker3_date_get(Evas_Object *obj, int *year, int *month, int *day);
 +   EINA_DEPRECATED EAPI void         elm_datepicker3_date_min_set(Evas_Object *obj, int year, int month, int day);  // Not implemented
 +   EINA_DEPRECATED EAPI void         elm_datepicker3_date_min_get(Evas_Object *obj, int *year, int *month, int *day);
 +   EINA_DEPRECATED EAPI void         elm_datepicker3_date_max_set(Evas_Object *obj, int year, int month, int day); // Not implemented
 +   EINA_DEPRECATED EAPI void         elm_datepicker3_date_max_get(Evas_Object *obj, int *year, int *month, int *day); 
 +   EINA_DEPRECATED EAPI void         elm_datepicker3_date_format_set(Evas_Object *obj, const char *fmt);
 +   EINA_DEPRECATED EAPI const char  *elm_datepicker3_date_format_get(Evas_Object *obj);
 +   /* smart callback called:
 +    * "changed" - when datepicker3 selected item is changed
 +    */
 +   /* available styles:
 +    * default
 +    */
 +
 +   /* datefield */
 +   typedef enum _Elm_Datefield_Layout
 +   {
 +      ELM_DATEFIELD_LAYOUT_TIME,
 +      ELM_DATEFIELD_LAYOUT_DATE,
 +      ELM_DATEFIELD_LAYOUT_DATEANDTIME
 +   } Elm_Datefield_Layout;
 +   
 +   EAPI Evas_Object *elm_datefield_add(Evas_Object *parent);
 +   EAPI void elm_datefield_layout_set(Evas_Object *obj, Elm_Datefield_Layout layout);
 +   EAPI void elm_datefield_date_set(Evas_Object *obj, int year, int month, int day, int hour, int min);
 +   EAPI void elm_datefield_date_get(Evas_Object *obj, int *year, int *month, int *day, int *hour, int *min);
 +   EAPI void elm_datefield_time_mode_set(Evas_Object *obj, Eina_Bool mode);    
 +   EAPI void elm_datefield_date_format_set(Evas_Object *obj, const char *fmt);
 +   EAPI void elm_datefield_input_panel_state_callback_add(Evas_Object *obj, void (*pEventCallbackFunc) (void *data, Evas_Object *obj, int value), void *data);
 +   EAPI void elm_datefield_input_panel_state_callback_del(Evas_Object *obj, void (*pEventCallbackFunc) (void *data, Evas_Object *obj, int value));
 +
 +   /* 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_label_set(Evas_Object *obj, const char *text);
 +   EAPI const char  *elm_popup_title_label_get(Evas_Object *obj);
 +   EAPI void         elm_popup_title_icon_set(Evas_Object *obj, Evas_Object *icon);
 +   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_with_buttons_add(Evas_Object *parent, char *title, char *desc_text,int no_of_buttons, char *first_button_text, ... );
 +   EINA_DEPRECATED 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 *obj, int timeout);
 +   EAPI void         elm_popup_mode_set(Evas_Object *obj, Elm_Popup_Mode mode);
 +   EAPI void         elm_popup_response(Evas_Object *obj, int  response_id);
 +   EAPI void         elm_popup_orient_set(Evas_Object *obj, Elm_Popup_Orient orient);
 +   EAPI void         elm_popup_rotation_set(Evas_Object *obj, int rot_angle);
 +   EAPI int          elm_popup_run(Evas_Object *obj);
 +   /* Contextual Popup */
 +   typedef struct _Ctxpopup_Item Elm_Ctxpopup_Item;
 +   
 +   typedef enum _Ctxpopup_Arrow_Direction
 +     {
 +        ELM_CTXPOPUP_ARROW_DOWN,
 +        ELM_CTXPOPUP_ARROW_RIGHT,
 +        ELM_CTXPOPUP_ARROW_LEFT,
 +        ELM_CTXPOPUP_ARROW_UP,
 +     } Elm_Ctxpopup_Arrow;
 +
 +   EAPI Evas_Object *elm_ctxpopup_add(Evas_Object *parent);
 +   EAPI void         elm_ctxpopup_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
 +   EAPI Eina_Bool    elm_ctxpopup_horizontal_get(Evas_Object *obj);
 +   EAPI void         elm_ctxpopup_item_icon_set(Elm_Ctxpopup_Item *item, Evas_Object *icon);
 +   EAPI void         elm_ctxpopup_item_label_set(Elm_Ctxpopup_Item *item, const char *label);
 +   EINA_DEPRECATED EAPI Elm_Ctxpopup_Item *elm_ctxpopup_label_add(Evas_Object *obj, const char *label, Evas_Smart_Cb func, void *data);
 +   EINA_DEPRECATED EAPI Elm_Ctxpopup_Item *elm_ctxpopup_icon_add(Evas_Object *obj, Evas_Object *icon, Evas_Smart_Cb func, void *data);
 +   EAPI Elm_Ctxpopup_Item *elm_ctxpopup_item_add(Evas_Object *obj, Evas_Object *icon, const char* label, Evas_Smart_Cb func, void *data);
 +   EAPI void         elm_ctxpopup_item_del(Elm_Ctxpopup_Item *item);
 +   EAPI void         elm_ctxpopup_item_disabled_set(Elm_Ctxpopup_Item *item, Eina_Bool disabled);
 +   EAPI void         elm_ctxpopup_clear(Evas_Object *obj);
 +   EAPI const char  *elm_ctxpopup_item_label_get(Elm_Ctxpopup_Item *item);    
 +   EAPI Evas_Object *elm_ctxpopup_item_icon_get(Elm_Ctxpopup_Item *item); 
 +   EAPI void         elm_ctxpopup_scroller_disabled_set(Evas_Object *obj, Eina_Bool disabled);
 +   EAPI void         elm_ctxpopup_screen_dimmed_disabled_set(Evas_Object *obj, Eina_Bool disabled);
 +   EAPI void         elm_ctxpopup_button_append(Evas_Object *obj, const char *label, Evas_Smart_Cb func, const void *data);
 +   EAPI void               elm_ctxpopup_arrow_priority_set(Evas_Object *obj, Elm_Ctxpopup_Arrow first, Elm_Ctxpopup_Arrow second, Elm_Ctxpopup_Arrow third, Elm_Ctxpopup_Arrow fourth);
 +   EAPI void       elm_ctxpopup_content_set(Evas_Object *obj, Evas_Object *content);
 +   EAPI Evas_Object *elm_ctxpopup_content_unset(Evas_Object *obj);
 +   EAPI void       elm_ctxpopup_position_forced_set(Evas_Object *obj, Eina_Bool forced);
 +   EAPI Eina_Bool    elm_ctxpopup_position_forced_get(Evas_Object *obj); 
 +   
 +   /* QuickContactBadge */
 +   typedef struct _Quickcontactbadge_Item Elm_Quickcontactbadge_Item;
 +
 +   EAPI Evas_Object *elm_quickcontactbadge_add(Evas_Object* parent);
 +   EAPI void         elm_quickcontactbadge_item_icon_set(Elm_Quickcontactbadge_Item* item, Evas_Object* icon);
 +   EAPI Elm_Quickcontactbadge_Item* elm_quickcontactbadge_icon_add( Evas_Object* obj, Evas_Object* icon, void (*func ) (void* data, Evas_Object* obj, void* event_info ),     const void* data ); 
 +   EAPI void         elm_quickcontactbadge_item_del(Elm_Quickcontactbadge_Item* item);
 +   EAPI void         elm_quickcontactbadge_clear(Evas_Object* obj);
 +   EAPI void         elm_quickcontactbadge_horizontal_set( Evas_Object* obj, Eina_Bool horizontal );
 +   EAPI Evas_Object *elm_quickcontactbadge_item_icon_get( Elm_Quickcontactbadge_Item* item ); 
 +
 +   /* Tab */
 +   typedef enum _Elm_Tab_Move_Type
 +     {
 +      ELM_TAB_MOVE_LEFT = 0,
 +      ELM_TAB_MOVE_RIGHT = 1
 +     } Elm_Tab_Move_Type;
 +
 +   typedef enum _Elm_Tab_Mode_Type
 +     {
 +        ELM_TAB_PORTRAIT_2 = 2,
 +        ELM_TAB_PORTRAIT_3 = 3,
 +        ELM_TAB_PORTRAIT_4 = 4,
 +        ELM_TAB_LANDSCAPE_2 = 12,
 +        ELM_TAB_LANDSCAPE_3 = 13,
 +        ELM_TAB_LANDSCAPE_4 = 14,
 +        ELM_TAB_LANDSCAPE_5 = 15,
 +     } Elm_Tab_Mode_Type;
 +
 +   typedef struct _Elm_Tab_Item Elm_Tab_Item;
 +
 +   EAPI Evas_Object  *elm_tab_add(Evas_Object *parent);
 +   EAPI void          elm_tab_set(Evas_Object *obj, int mode);
 +   EAPI Elm_Tab_Item *elm_tab_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 void          elm_tab_item_del(Elm_Tab_Item *item);
 +   EAPI void          elm_tab_item_select(Elm_Tab_Item *item);
 +   EAPI Evas_Object  *elm_tab_item_icon_get(Elm_Tab_Item *item);
 +   EAPI const char   *elm_tab_item_label_get(Elm_Tab_Item *item);
 +   EAPI void          elm_tab_item_label_set(Elm_Tab_Item *item, const char *label);
 +   EAPI void          elm_tab_item_badge_set(Elm_Tab_Item *item, const int badge);   
 +   EAPI Elm_Tab_Item *elm_tab_selected_item_get(Evas_Object *obj);   
 +   EAPI Elm_Tab_Item *elm_tab_first_item_get(Evas_Object *obj);   
 +   EAPI Elm_Tab_Item *elm_tab_last_item_get(Evas_Object *obj);   
 +   EAPI Eina_List    *elm_tab_items_get(Evas_Object *obj);   
 +   EAPI Elm_Tab_Item *elm_tab_item_prev(Elm_Tab_Item *item);   
 +   EAPI Elm_Tab_Item *elm_tab_item_next(Elm_Tab_Item *item);   
 +   EAPI void          elm_tab_move(Evas_Object *obj, int direction);
 +   EAPI void          elm_tab_edit_disable_set(Evas_Object *obj, Eina_Bool disable);
 +   EAPI Eina_Bool     elm_tab_edit_disable_get(Evas_Object *obj);
 +
-    /* animator */
-    typedef struct _Animator Elm_Animator;
-    typedef enum 
-      {
-         ELM_ANIMATOR_CURVE_LINEAR, 
-         ELM_ANIMATOR_CURVE_IN_OUT, 
-         ELM_ANIMATOR_CURVE_IN, 
-         ELM_ANIMATOR_CURVE_OUT
-      } Elm_Animator_Curve_Style; 
-    EAPI Elm_Animator* elm_animator_add(Evas_Object *parent);
-    EAPI void          elm_animator_del(Elm_Animator *animator);
-    EAPI void          elm_animator_duration_set(Elm_Animator *animator, double duration);
-    EAPI void          elm_animator_operation_callback_set(Elm_Animator *animator, void (*func)(void *data, Elm_Animator *animator, double frame), void *data); 
-    EAPI void          elm_animator_completion_callback_set(Elm_Animator *animator, void (*func)(void *data), void *data);
-    EAPI void          elm_animator_stop(Elm_Animator *animator);
-    EAPI void          elm_animator_repeat_set(Elm_Animator *animator, unsigned int repeat_cnt);
-    EAPI void          elm_animator_animate(Elm_Animator *animator);
-    EAPI void          elm_animator_curve_style_set(Elm_Animator *animator, Elm_Animator_Curve_Style cs);
-    EAPI void          elm_animator_auto_reverse_set(Elm_Animator *animator, Eina_Bool reverse);
-    EAPI Eina_Bool     elm_animator_auto_reverse_get(Elm_Animator *animator);
-    EAPI Eina_Bool     elm_animator_operating_get(Elm_Animator *animator);
-    EAPI unsigned int  elm_animator_repeat_get(Elm_Animator *animator);
-    EAPI void          elm_animator_pause(Elm_Animator *animator);
-    EAPI void          elm_animator_resume(Elm_Animator *animator);
-   
 +   /* tansit */
 +   typedef struct _transit Elm_Transit;
 +   typedef struct _effect Elm_Effect;
 +
 +   EAPI Elm_Transit *elm_transit_add(Evas_Object *parent);
 +   EAPI void         elm_transit_del(Elm_Transit *transit);
 +   EAPI void         elm_transit_run(Elm_Transit *transit, double duration);
 +   EAPI void         elm_transit_stop(Elm_Transit *transit);
 +   EAPI void         elm_transit_completion_callback_set(Elm_Transit *transit, void (*op)(void *data,Elm_Transit* transit), void *data);
 +   EAPI void         elm_transit_repeat_set(Elm_Transit *transit, unsigned int repeat);
 +   EAPI void         elm_transit_auto_reverse_set(Elm_Transit *transit, Eina_Bool reverse);
 +   EAPI void         elm_transit_curve_style_set(Elm_Transit *transit, Elm_Animator_Curve_Style cs);
 +   EAPI void         elm_transit_event_block_disabled_set(Elm_Transit *transit, Eina_Bool disabled);
 +   EAPI Eina_Bool    elm_transit_fx_insert(Elm_Transit *transit, Elm_Effect *effect);
 +   EAPI void         elm_transit_fx_clear(Elm_Transit *transit);
 +   EAPI Eina_Bool    elm_transit_event_block_disabled_get(Elm_Transit *transit);  
 +   EAPI void         elm_transit_pause(Elm_Transit *transit);
 +   EAPI void         elm_transit_resume(Elm_Transit *transit);
 +
 +   /* Translation FX */
 +   EAPI Elm_Effect  *elm_fx_translation_add(Evas_Object *obj, Evas_Coord from_x, Evas_Coord from_y, Evas_Coord to_x, Evas_Coord to_y);
 +
 +   /* Resizing FX */
 +   EAPI Elm_Effect  *elm_fx_resizing_add(Evas_Object *obj, Evas_Coord from_w, Evas_Coord from_h, Evas_Coord to_w, Evas_Coord to_h);
 +
 +   /* Zoom Fx */
 +   EAPI Elm_Effect  *elm_fx_zoom_add(Evas_Object *obj, float from_rate, float to_rate);
 +
 +   /* Flip Fx */
 +   typedef enum 
 +     {
 +        ELM_FX_FLIP_AXIS_X, 
 +        ELM_FX_FLIP_AXIS_Y
 +     } Elm_Fx_Flip_Axis;
 +   EAPI Elm_Effect  *elm_fx_flip_add( Evas_Object *front, Evas_Object *back, Elm_Fx_Flip_Axis axis, Eina_Bool cw);
 +
 +   /* Blend Fx */
 +   EAPI Elm_Effect  *elm_fx_blend_add(Evas_Object *before, Evas_Object *after);
 +
 +   /* Fade Fx */
 +   EAPI Elm_Effect  *elm_fx_fade_add(Evas_Object *before, Evas_Object *after);
 +    
 +   /* Rotation Fx */
 +   EAPI Elm_Effect  *elm_fx_rotation_add(Evas_Object *obj, float from_degree, float to_degree, Eina_Bool cw);
 +
 +   /* Color Fx */
 +   EAPI Elm_Effect  *elm_fx_color_add(Evas_Object *obj, unsigned int from_r, unsigned int from_g, unsigned int from_b, unsigned int from_a, unsigned int to_r, unsigned int to_g, unsigned int to_b, unsigned int to_a);
 +
 +   /* Wipe Fx */
 +   typedef enum 
 +     {
 +        ELM_FX_WIPE_DIR_UP, 
 +        ELM_FX_WIPE_DIR_LEFT, 
 +        ELM_FX_WIPE_DIR_RIGHT, 
 +        ELM_FX_WIPE_DIR_DOWN
 +     } Elm_Fx_Wipe_Dir;
 +
 +   typedef enum 
 +     {
 +        ELM_FX_WIPE_TYPE_HIDE, 
 +        ELM_FX_WIPE_TYPE_SHOW
 +     } Elm_Fx_Wipe_Type;
 +   EAPI Elm_Effect  *elm_fx_wipe_add(Evas_Object *obj, Elm_Fx_Wipe_Type type, Elm_Fx_Wipe_Dir dir);
 +
 +   /* ResizableFlip Fx */
 +   EAPI Elm_Effect  *elm_fx_resizable_flip_add(Evas_Object *front, Evas_Object *back, Elm_Fx_Flip_Axis axis, Eina_Bool cw);
 +  
 +   /* ImageAnimation Fx */
 +   EAPI Elm_Effect  *elm_fx_image_animation_add(Evas_Object *icon, const char** images, unsigned int img_cnt);
 +
 +   /* NavigationBar */
 +   typedef enum 
 +     {
 +        ELM_NAVIGATIONBAR_FUNCTION_BUTTON1,
 +        ELM_NAVIGATIONBAR_FUNCTION_BUTTON2,
 +        ELM_NAVIGATIONBAR_FUNCTION_BUTTON3,
 +        ELM_NAVIGATIONBAR_BACK_BUTTON
 +     } Elm_Navi_Button_Type;
 +
 +   EAPI Evas_Object *elm_navigationbar_add(Evas_Object *parent);
 +   EAPI void         elm_navigationbar_push(Evas_Object *obj, const char *title, Evas_Object *fn_btn1, Evas_Object *fn_btn2, Evas_Object *fn_btn3, Evas_Object *content);
 +   EAPI void         elm_navigationbar_pop(Evas_Object *obj);
 +   EAPI void         elm_navigationbar_to_content_pop(Evas_Object *obj, Evas_Object *content);
 +   EAPI void         elm_navigationbar_title_label_set(Evas_Object *obj, Evas_Object *content, const char *title);
 +   EAPI const char  *elm_navigationbar_title_label_get(Evas_Object *obj, Evas_Object *content);
 +   EAPI void         elm_navigationbar_title_object_add(Evas_Object *obj, Evas_Object *content, Evas_Object *title_obj);
 +   EAPI Eina_List   *elm_navigationbar_title_object_list_get(Evas_Object *obj, Evas_Object *content);
 +   EAPI Evas_Object *elm_navigationbar_content_top_get(Evas_Object *obj);
 +   EAPI Evas_Object *elm_navigationbar_content_bottom_get(Evas_Object *obj);
 +   EAPI void         elm_navigationbar_hidden_set(Evas_Object *obj, Eina_Bool hidden);
 +   EAPI void         elm_navigationbar_title_button_set(Evas_Object *obj, Evas_Object *content, Evas_Object *button, Elm_Navi_Button_Type button_type);
 +   EAPI Evas_Object *elm_navigationbar_title_button_get(Evas_Object *obj, Evas_Object *content, Elm_Navi_Button_Type button_type);
 +   EAPI const char * elm_navigationbar_subtitle_label_get(Evas_Object *obj, Evas_Object *content);
 +   EAPI Evas_Object *elm_navigationbar_subtitle_label_set(Evas_Object *obj, Evas_Object *content, const char *subtitle);
 +   
 +   /* Tab Bar */
 +   #define TAB_BAR_SYSTEM_ICON_CONTACT "elm/icon/tabbar_contact/default" 
 +   #define TAB_BAR_SYSTEM_ICON_GROUP "elm/icon/tabbar_group/default" 
 +   #define TAB_BAR_SYSTEM_ICON_SONG "elm/icon/tabbar_song/default" 
 +   #define TAB_BAR_SYSTEM_ICON_FAVORITES "elm/icon/tabbar_favorites/default" 
 +   #define TAB_BAR_SYSTEM_ICON_SEARCH "elm/icon/tabbar_search/default" 
 +   #define TAB_BAR_SYSTEM_ICON_MESSAGE "elm/icon/tabbar_message/default" 
 +   #define TAB_BAR_SYSTEM_ICON_SETTING "elm/icon/tabbar_setting/default" 
 +
 +   EAPI Evas_Object *elm_tabbar_add(Evas_Object *parent);
 +   EAPI Elm_Tab_Item *elm_tabbar_item_add(Evas_Object *obj, const char *icon_path, const char *label, Evas_Object *view);
 +   EAPI Evas_Object *elm_tabbar_item_icon_get(Elm_Tab_Item *it);
 +   EAPI const char  *elm_tabbar_item_label_get(Elm_Tab_Item *it);
 +   EAPI void         elm_tabbar_item_label_set(Elm_Tab_Item *it, const char *label);
 +   EAPI void         elm_tabbar_item_select(Elm_Tab_Item *it);
 +   EAPI void         elm_tabbar_edit_start(Evas_Object *obj);
 +   EAPI void         elm_tabbar_item_visible_set(Elm_Tab_Item *it, Eina_Bool bar);
 +
 +   /* smart callbacks called:
 +    * "clicked" - when item clicked
 +    */
 +
 +   /* Control Bar */
 +   #define CONTROLBAR_SYSTEM_ICON_ALBUMS "controlbar_albums" 
 +   #define CONTROLBAR_SYSTEM_ICON_ARTISTS "controlbar_artists" 
 +   #define CONTROLBAR_SYSTEM_ICON_SONGS "controlbar_songs" 
 +   #define CONTROLBAR_SYSTEM_ICON_PLAYLIST "controlbar_playlist" 
 +   #define CONTROLBAR_SYSTEM_ICON_MORE "controlbar_more" 
 +   #define CONTROLBAR_SYSTEM_ICON_CONTACTS "controlbar_contacts" 
 +   #define CONTROLBAR_SYSTEM_ICON_DIALER "controlbar_dialer" 
 +   #define CONTROLBAR_SYSTEM_ICON_FAVORITES "controlbar_favorites" 
 +   #define CONTROLBAR_SYSTEM_ICON_LOGS "controlbar_logs" 
 +
 +   typedef enum _Elm_Controlbar_Mode_Type
 +     {
 +        ELM_CONTROLBAR_MODE_DEFAULT = 0,
 +        ELM_CONTROLBAR_MODE_TRANSLUCENCE,
 +        ELM_CONTROLBAR_MODE_TRANSPARENCY,
 +        ELM_CONTROLBAR_MODE_LARGE,
 +        ELM_CONTROLBAR_MODE_SMALL
 +     } Elm_Controlbar_Mode_Type;
 +
 +   typedef struct _Elm_Controlbar_Item Elm_Controlbar_Item;
 +
 +   EAPI Evas_Object *elm_controlbar_add(Evas_Object *parent);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_tab_item_append(Evas_Object *obj, const char *icon_path, const char *label, Evas_Object *view);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_tab_item_prepend(Evas_Object *obj, const char *icon_path, const char *label, Evas_Object *view);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_tab_item_insert_before(Evas_Object *obj, Elm_Controlbar_Item *before, const char *icon_path, const char *label, Evas_Object *view);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_tab_item_insert_after(Evas_Object *obj, Elm_Controlbar_Item *after, const char *icon_path, const char *label, Evas_Object *view);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_tool_item_append(Evas_Object *obj, const char *icon_path, const char *label, void (*func) (void *data, Evas_Object *obj, void *event_info), void *data);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_tool_item_prepend(Evas_Object *obj, const char *icon_path, const char *label, void (*func) (void *data, Evas_Object *obj, void *event_info), void *data);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_tool_item_insert_before(Evas_Object *obj, Elm_Controlbar_Item *before, const char *icon_path, const char *label, void (*func) (void *data, Evas_Object *obj, void *event_info), void *data);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_tool_item_insert_after(Evas_Object *obj, Elm_Controlbar_Item *after, const char *icon_path, const char *label, void (*func) (void *data, Evas_Object *obj, void *event_info), void *data);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_object_item_append(Evas_Object *obj, Evas_Object *obj_item, const int sel);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_object_item_prepend(Evas_Object *obj, Evas_Object *obj_item, const int sel);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_object_item_insert_before(Evas_Object *obj, Elm_Controlbar_Item *before, Evas_Object *obj_item, const int sel);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_object_item_insert_after(Evas_Object *obj, Elm_Controlbar_Item *after, Evas_Object *obj_item, const int sel);
 +   EAPI void elm_controlbar_item_del(Elm_Controlbar_Item *it);
 +   EAPI void elm_controlbar_item_select(Elm_Controlbar_Item *it);
 +   EAPI void elm_controlbar_item_visible_set(Elm_Controlbar_Item *it, Eina_Bool bar);
 +   EAPI Eina_Bool elm_controlbar_item_visible_get(Elm_Controlbar_Item * it);
 +   EAPI void elm_controlbar_item_editable_set(Elm_Controlbar_Item *it, Eina_Bool editable);
 +   EAPI Evas_Object *elm_controlbar_item_icon_get(Elm_Controlbar_Item *it);
 +   EAPI const char *elm_controlbar_item_label_get(Elm_Controlbar_Item *it);
 +   EAPI void elm_controlbar_item_label_set(Elm_Controlbar_Item *it, const char *label);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_selected_item_get(Evas_Object *obj);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_first_item_get(Evas_Object *obj);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_last_item_get(Evas_Object *obj);
 +   EAPI Eina_List *elm_controlbar_items_get(Evas_Object *obj);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_item_prev(Elm_Controlbar_Item *it);
 +   EAPI Elm_Controlbar_Item *elm_controlbar_item_next(Elm_Controlbar_Item *it);
 +   EAPI void elm_controlbar_item_view_set(Elm_Controlbar_Item *it, Evas_Object * view);
 +   EAPI void elm_controlbar_mode_set(Evas_Object *obj, int mode);
 +   /*======= Please don't use this APIs =======*/
 +   EAPI void elm_controlbar_edit_start(Evas_Object *obj);
 +   EAPI void elm_controlbar_view_set(Evas_Object *obj, Evas_Object *view);
 +   EAPI void elm_controlbar_animation_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj, void *event_info), void *data);
 +   EAPI void elm_controlbar_item_animation_set(Evas_Object *obj, Eina_Bool auto_animation, Eina_Bool selected_animation);
 +   /*======= Just for test =======*/
 +
 +
 +  /* diskcontroller */
 +  typedef struct _Elm_Diskcontroller_Item Elm_Diskcontroller_Item;
 +
 +   EAPI Evas_Object *elm_diskcontroller_add(Evas_Object *parent);
 +   EAPI void         elm_diskcontroller_round_set(Evas_Object *obj, Eina_Bool round);
 +   EAPI Elm_Diskcontroller_Item *elm_diskcontroller_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 void         elm_diskcontroller_item_del(Elm_Diskcontroller_Item *it);
 +   EAPI const char  *elm_diskcontroller_item_label_get(Elm_Diskcontroller_Item *it);
 +   EAPI void         elm_diskcontroller_item_label_set(Elm_Diskcontroller_Item *it, const char *label);
 +   EAPI void         elm_diskcontroller_item_focus_set(Elm_Diskcontroller_Item *it);
 +   /* smart callbacks called:
 +    * "stop" - when scroller stop
 +    */
 +
 +   /* SearchBar */
 +   EAPI Evas_Object *elm_searchbar_add(Evas_Object *parent);
 +   EAPI void         elm_searchbar_text_set(Evas_Object *obj, const char *entry);
 +   EAPI const char  *elm_searchbar_text_get(Evas_Object *obj);
 +   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);
 +   EAPI void         elm_toolbar2_icon_size_set(Evas_Object *obj, int icon_size);
 +   EAPI int          elm_toolbar2_icon_size_get(Evas_Object *obj);
 +   EAPI Elm_Toolbar2_Item *elm_toolbar2_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 Evas_Object *elm_toolbar2_item_icon_get(Elm_Toolbar2_Item *item);
 +   EAPI void         elm_toolbar2_item_del(Elm_Toolbar2_Item *it);
 +   EAPI void         elm_toolbar2_item_del_cb_set(Elm_Toolbar2_Item *it, void (*func)(void *data, Evas_Object *obj, void *event_info));
 +   EAPI void         elm_toolbar2_scrollable_set(Evas_Object *obj, Eina_Bool scrollable);
 +   EAPI void         elm_toolbar2_homogenous_set(Evas_Object *obj, Eina_Bool homogenous);
 +   EAPI void         elm_toolbar2_align_set(Evas_Object *obj, double align);
 +
 +   /* colorpicker */
 +   EAPI Evas_Object *elm_colorpicker_add(Evas_Object *parent);
 +   EAPI void         elm_colorpicker_color_set(Evas_Object *obj, int r, int g , int b);
 +   EAPI void         elm_colorpicker_color_get(Evas_Object *obj, int *r, int *g , int *b);
 +   /* smart callbacks called:
 +    * "changed" - when color is changed
 +    */
 +
 +
 +   /* colorpalette */
 +   typedef struct _Colorpalette_Color Elm_Colorpalette_Color; 
 +
 +   struct _Colorpalette_Color 
 +     {
 +        unsigned int r, g, b;
 +     };
 +
 +   EAPI Evas_Object *elm_colorpalette_add(Evas_Object *parent);
 +   EAPI void         elm_colorpalette_color_set(Evas_Object *obj, int color_num, Elm_Colorpalette_Color *color);
 +   EAPI void         elm_colorpalette_row_column_set(Evas_Object *obj, int row, int col);
 +   /* smart callbacks called:
 +    * "clicked" - when image clicked
 +    */
 +
 +   /* editfield */
 +   EAPI Evas_Object *elm_editfield_add(Evas_Object *parent);
 +   EAPI void         elm_editfield_label_set(Evas_Object *obj, const char *label);
 +   EAPI const char  *elm_editfield_label_get(Evas_Object *obj);
 +   EAPI void         elm_editfield_guide_text_set(Evas_Object *obj, const char *text);
 +   EAPI const char  *elm_editfield_guide_text_get(Evas_Object *obj);
 +   EAPI Evas_Object *elm_editfield_entry_get(Evas_Object *obj);
 +//   EAPI Evas_Object *elm_editfield_clear_button_show(Evas_Object *obj, Eina_Bool show);
 +   EAPI Eina_Bool    elm_editfield_right_icon_set(Evas_Object *obj, Evas_Object *icon);
 +   EAPI Evas_Object *elm_editfield_right_icon_get(Evas_Object *obj);
 +   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);
 +   EAPI Eina_Bool    elm_editfield_entry_single_line_get(Evas_Object *obj);
 +   EAPI void         elm_editfield_eraser_set(Evas_Object *obj, Eina_Bool visible);
 +   EAPI Eina_Bool    elm_editfield_eraser_get(Evas_Object *obj);
 +
 +
 +   /* 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);
 +
 +   /* actionslider */                        
 +   typedef enum _Elm_Actionslider_Indicator_Pos  
 +     {                                         
 +        ELM_ACTIONSLIDER_INDICATOR_LEFT,
 +        ELM_ACTIONSLIDER_INDICATOR_RIGHT,
 +        ELM_ACTIONSLIDER_INDICATOR_CENTER
 +     } Elm_Actionslider_Indicator_Pos;
 +
 +   typedef enum _Elm_Actionslider_Magnet_Pos
 +     {
 +        ELM_ACTIONSLIDER_MAGNET_LEFT,
 +        ELM_ACTIONSLIDER_MAGNET_RIGHT,
 +        ELM_ACTIONSLIDER_MAGNET_BOTH,
 +        ELM_ACTIONSLIDER_MAGNET_CENTER
 +     } Elm_Actionslider_Magnet_Pos;
 +
 +   typedef enum _Elm_Actionslider_Label_Pos
 +     {
 +        ELM_ACTIONSLIDER_LABEL_LEFT,
 +        ELM_ACTIONSLIDER_LABEL_RIGHT,
 +        ELM_ACTIONSLIDER_LABEL_CENTER,
 +        ELM_ACTIONSLIDER_LABEL_BUTTON
 +     } Elm_Actionslider_Label_Pos;
 +
 +   EAPI Evas_Object *elm_actionslider_add(Evas_Object *parent);
 +   EAPI void         elm_actionslider_indicator_pos_set(Evas_Object *obj, Elm_Actionslider_Indicator_Pos pos);
 +   EAPI void         elm_actionslider_magnet_pos_set(Evas_Object *obj, Elm_Actionslider_Magnet_Pos pos);
 +   EAPI int          elm_actionslider_label_set(Evas_Object *obj, Elm_Actionslider_Label_Pos pos, const char *label);
 +   EAPI int          elm_actionslider_hold(Evas_Object *obj, Eina_Bool flag);
 +   /* smart callbacks called:
 +    * "indicator,position" - when a button reaches to the special position like "left", "right" and "center".
 +    */
 +   
 +   /* zoomcontrols */
 +   EAPI Evas_Object *elm_zoomcontrols_add(Evas_Object *parent);
 +   EAPI void         elm_zoomcontrols_range_set(Evas_Object *obj, int range);
 +   /* smart callbacks called:
 +    * "up_clicked" - when up button of zoomcontrols is clicked 
 +    * "down_clicked" - when down button of zoomcontrols is clicked
 +    */         
 +
 +   /* viewflipper */
 +   typedef enum _Elm_Viewflipper_Policy
 +     {
 +        ERROR_0  = -1,    //can not find wanted value
 +        SUCCESS =0,
 +        FLIP_RANGE_X =30, 
 +        ERROR_1  =1001,       //confrim parameter is layout or not
 +        ERROR_2 ,     //confrim memory check
 +        ERROR_3 ,     //data is empty
 +        ERROR_4 ,     //check the range
 +        ERROR_5 ,     //Non need operation
 +        ERROR_6 ,     //waiting gui
 +        ERROR_7 ,     //timer second is not setup or can not time setup
 +        DIR_LEFT ,
 +        DIR_RIGHT ,
 +        EACH_LAST 
 +     } Elm_Viewflipper_Policy;
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_isFlipbutton();
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_isAutoStart();
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_isValidPos(int pos);
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_addChild(Evas_Object * child_layout);
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_removeChild(Evas_Object * child_layout);
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_removeChildAt(int pos);
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_getPositionChild(Evas_Object * child_layout);
 +   EINA_DEPRECATED EAPI Evas_Object *elm_viewflipper_getChildAt(int pos);
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_getCountChild();
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_setDisplayedChild(int pos);
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_setNowView();
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_setNextView();
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_setPreviousView();
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_setFlipInterval(int milliseconds);
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_setFlipbutton(int showbutton);
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_startAutoFlippingWithOption(int drection,int pos); 
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_startAutoFlipping();
 +   EINA_DEPRECATED EAPI int          elm_viewflipper_stopAutoFlipping();
 +         
 +   /* gallery */
 +   struct _Elm_Gallery_Item 
 +     {
 +        Evas_Object *parent;
 +        Evas_Object *ly;
 +        Evas_Object *obj;
 +        const char *path;
 +        int index;
 +        Evas_Coord x, y, w, h;
 +        Evas_Coord mw, mh;    
 +        Eina_Bool on_hold : 1;
 +        Eina_Bool on_show : 1;
 +        Eina_Bool on_highquality : 1;         
 +     };
 +   typedef struct _Elm_Gallery_Item Elm_Gallery_Item;
 +   EAPI Evas_Object *elm_gallery_add(Evas_Object *parent);
 +   EAPI Eina_Bool    elm_gallery_data_set(Evas_Object *obj, Eina_List *list);
 +   EAPI Elm_Gallery_Item *elm_gallery_item_append(Evas_Object *obj, const char *photo_file);
 +   EAPI Elm_Gallery_Item *elm_gallery_item_prepend(Evas_Object *obj, const char *photo_file);
 +   EAPI void         elm_gallery_item_del(Elm_Gallery_Item *it);
 +   EAPI const char  *elm_gallery_item_file_get(Elm_Gallery_Item *it);
 +   EAPI void         elm_gallery_item_show(Elm_Gallery_Item *it);
 +   EAPI Eina_List   *elm_gallery_item_list_get(Evas_Object *obj);
 +   EAPI void         elm_gallery_set_type(Evas_Object *obj,int type);
 +   EAPI void         elm_gallery_set_max_count(Evas_Object *obj,int max_value);
 +
 +   /* Sliding Drawer */
 +   typedef enum _Elm_SlidingDrawer_Pos 
 +     {
 +        ELM_SLIDINGDRAWER_BOTTOM,
 +        ELM_SLIDINGDRAWER_LEFT,
 +        ELM_SLIDINGDRAWER_RIGHT,
 +        ELM_SLIDINGDRAWER_TOP
 +     } Elm_SlidingDrawer_Pos;
 +  
 +   EAPI Evas_Object *elm_slidingdrawer_add(Evas_Object *parent);
 +   EAPI void         elm_slidingdrawer_content_set (Evas_Object *obj, Evas_Object *content);
 +   EAPI Evas_Object *elm_slidingdrawer_content_unset(Evas_Object *obj);
 +   EAPI void         elm_slidingdrawer_pos_set(Evas_Object *obj, Elm_SlidingDrawer_Pos pos);
 +   EAPI void         elm_slidingdrawer_max_drag_set(Evas_Object *obj, double dw,  double dh);
 +
 +   /* wipercontrol*/
 +   EAPI Evas_Object *elm_wipercontrol_add(Evas_Object *parent);
 +   EAPI void         elm_wipercontrol_below_content_set (Evas_Object *obj, Evas_Object *content);
 +   EAPI void         elm_wipercontrol_above_content_set (Evas_Object *obj, Evas_Object *content);
 +
 +   /* AnalogClock */
 +   EAPI Evas_Object *elm_analogclock_add(Evas_Object *parent);
 +
 +   /* ratingbar */
 +   EAPI Evas_Object *elm_ratingbar_add(Evas_Object *parent);
 +   EAPI void         elm_ratingbar_rating_set(Evas_Object *obj, int rating);
 +   EAPI int          elm_ratingbar_rating_get(Evas_Object *obj);
 +   /* smart callback called:
 +    * "changed" - when a rating is changed
 +    */
 +   /* available styles:
 +    * default
 +    */
 + 
 +   /* multibuttonentry */
 +   typedef struct _Multibuttonentry_Item Elm_Multibuttonentry_Item;
 +   EAPI Evas_Object               *elm_multibuttonentry_add(Evas_Object *parent);
 +   EAPI const char                *elm_multibuttonentry_label_get(Evas_Object *obj);
 +   EAPI void                       elm_multibuttonentry_label_set(Evas_Object *obj, const char *label);
 +   EAPI Evas_Object               *elm_multibuttonentry_entry_get(Evas_Object *obj);
 +   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_start(Evas_Object *obj, const char *label, void *data);
 +   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_end(Evas_Object *obj, const char *label, void *data);
 +   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_before(Evas_Object *obj, const char *label, Elm_Multibuttonentry_Item *before, void *data);
 +   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_add_after(Evas_Object *obj, const char *label, Elm_Multibuttonentry_Item *after, void *data);
 +   EAPI const Eina_List           *elm_multibuttonentry_items_get(Evas_Object *obj);
 +   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_first_get(Evas_Object *obj);
 +   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_last_get(Evas_Object *obj);
 +   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_selected_get(Evas_Object *obj);
 +   EAPI void                       elm_multibuttonentry_item_selected_set(Elm_Multibuttonentry_Item *item);
 +   EAPI void                       elm_multibuttonentry_item_del(Elm_Multibuttonentry_Item *item);
 +   EAPI void                       elm_multibuttonentry_items_del(Evas_Object *obj);
 +   EAPI const char                *elm_multibuttonentry_item_label_get(Elm_Multibuttonentry_Item *item);
 +   EAPI void                       elm_multibuttonentry_item_label_set(Elm_Multibuttonentry_Item *item, const char *str);
 +   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_prev(Elm_Multibuttonentry_Item *item);
 +   EAPI Elm_Multibuttonentry_Item *elm_multibuttonentry_item_next(Elm_Multibuttonentry_Item *item);
 +   EAPI void                      *elm_multibuttonentry_item_data_get(Elm_Multibuttonentry_Item *item);
 +   EAPI void                       elm_multibuttonentry_item_data_set(Elm_Multibuttonentry_Item *item, void *data);
 +   /* smart callback called:
 +    * "selected" - when the selected item of multibuttonentry is changed. 
 +    * "added" - when the new item of multibuttonentry is added. 
 +    * "deleted" - when an item of multibuttonentry is deleted. 
 +    * "expanded" - when the multibuttonentry is expanded. 
 +    * "contracted" - when the multibuttonentry is contracted. 
 +    */
 +   /* available styles:
 +    * default
 +    */
 + 
 +   /* stackedicon */
 +   typedef struct _Stackedicon_Item Elm_Stackedicon_Item;
 +   EAPI Evas_Object          *elm_stackedicon_add(Evas_Object *parent);
 +   EAPI Elm_Stackedicon_Item *elm_stackedicon_item_append(Evas_Object *obj, const char *path);
 +   EAPI Elm_Stackedicon_Item *elm_stackedicon_item_prepend(Evas_Object *obj, const char *path);
 +   EAPI void                  elm_stackedicon_item_del(Elm_Stackedicon_Item *it);
 +   EAPI Eina_List            *elm_stackedicon_item_list_get(Evas_Object *obj);
 +   /* smart callback called:
 +    */
 +   /* available styles:
 +    * default
 +    */
 +
 +   /* chronometer */
 +   EAPI Evas_Object *elm_chronometer_add(Evas_Object *parent);
 +   EAPI void         elm_chronometer_start(Evas_Object *obj);
 +   EAPI void         elm_chronometer_stop(Evas_Object *obj);
 +   EAPI void         elm_chronometer_time_set(Evas_Object *obj, int hrs, int min, int sec);
 +   EAPI void         elm_chronometer_time_get(const Evas_Object *obj, int *hrs, int *min, int *sec);
 +   EAPI void         elm_chronometer_format_set(Evas_Object *obj, Eina_Bool format);
 +   EAPI void         elm_chronometer_format_get(Evas_Object *obj, Eina_Bool *format);
 +
 +   /* dialoguegroup */
 +   typedef struct _Dialogue_Item Dialogue_Item;
 +   
 +   typedef enum _Elm_Dialoguegourp_Item_Style
 +     {
 +        ELM_DIALOGUEGROUP_ITEM_STYLE_DEFAULT = 0,
 +        ELM_DIALOGUEGROUP_ITEM_STYLE_EDITFIELD = (1 << 0),
 +        ELM_DIALOGUEGROUP_ITEM_STYLE_EDITFIELD_WITH_TITLE = (1 << 1),
 +        ELM_DIALOGUEGROUP_ITEM_STYLE_EDIT_TITLE = (1 << 2),
 +        ELM_DIALOGUEGROUP_ITEM_STYLE_HIDDEN = (1 << 3)
 +     } Elm_Dialoguegroup_Item_Style;
 +
 +   EAPI Evas_Object   *elm_dialoguegroup_add(Evas_Object *parent);
 +   EAPI Dialogue_Item *elm_dialoguegroup_append(Evas_Object *obj, Evas_Object *subobj, Elm_Dialoguegroup_Item_Style style);   
 +   EAPI Dialogue_Item *elm_dialoguegroup_prepend(Evas_Object *obj, Evas_Object *subobj, Elm_Dialoguegroup_Item_Style style);   
 +   EAPI Dialogue_Item *elm_dialoguegroup_insert_after(Evas_Object *obj, Evas_Object *subobj, Dialogue_Item *after, Elm_Dialoguegroup_Item_Style style);   
 +   EAPI Dialogue_Item *elm_dialoguegroup_insert_before(Evas_Object *obj, Evas_Object *subobj, Dialogue_Item *before, Elm_Dialoguegroup_Item_Style style);   
 +   EAPI void           elm_dialoguegroup_remove(Dialogue_Item *item);
 +   EAPI void           elm_dialoguegroup_remove_all(Evas_Object *obj);
 +   EAPI void           elm_dialoguegroup_title_set(Evas_Object *obj, const char *title);
 +   EAPI const char    *elm_dialoguegroup_title_get(Evas_Object *obj);
 +   EAPI void           elm_dialoguegroup_press_effect_set(Dialogue_Item *item, Eina_Bool press);
 +   EAPI Eina_Bool      elm_dialoguegroup_press_effect_get(Dialogue_Item *item);
 +   EAPI Evas_Object   *elm_dialoguegroup_item_content_get(Dialogue_Item *item);
 +  
 +   /* AutoCompleteView */
 +   typedef Eina_Bool (*elmautocompleteview_matchfunction) (Evas_Object *obj,char *text,Evas_Object *list,void *data);
 +   EAPI Evas_Object *elm_autocompleteview_add(Evas_Object *parent);
 +   EAPI Evas_Object *elm_autocompleteview_entry_get(Evas_Object *obj);
 +   EAPI Evas_Object *elm_autocompleteview_editfield_get(Evas_Object *obj);
 +   EAPI void         elm_autocompleteview_threshold_set(Evas_Object *obj, int threshold);
 +   EAPI int          elm_autocompleteview_threshold_get(Evas_Object *obj);
 +   EAPI void         elm_autocompleteview_data_set(Evas_Object *obj, Eina_List *data_list);
 +   EAPI void         elm_autocompleteview_match_func_set(Evas_Object *obj, elmautocompleteview_matchfunction func,void *data);
 +   EAPI void         elm_autocompleteview_text_update(Evas_Object *obj, char *text);
 +
 +   /* coverflow */
 +   typedef struct _Coverflow_Item Elm_Coverflow_Item;
 +   typedef struct _Coverflow_Item_Class 
 +     {
 +        void (*CoverflowItemGenFunc)(void* data, Evas_Object* obj);
 +        void (*CoverflowItemDelFunc)(void* data, Evas_Object* obj); 
 +     } Elm_Coverflow_Item_Class;
 +  
 +   EINA_DEPRECATED EAPI Evas_Object *elm_coverflow_add( Evas_Object* parent );
 +   EINA_DEPRECATED EAPI Elm_Coverflow_Item* elm_coverflow_item_append( Evas_Object* obj, Elm_Coverflow_Item_Class* cic, void* data, void (*func)(void* data, Evas_Object* obj, void* event_info ), void* func_data );
 +   EINA_DEPRECATED EAPI void         elm_coverflow_clear( Evas_Object* obj );
 +
 +   /* Cabinet */
 +   typedef struct _Cabinet_Item Elm_Cabinet_Item;
 +   EINA_DEPRECATED EAPI Evas_Object        *elm_cabinet_add(Evas_Object *parent);
 +   EINA_DEPRECATED EAPI void                elm_cabinet_next(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI void                elm_cabinet_prev(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI Eina_Bool           elm_cabinet_bounce_get(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI void                elm_cabinet_bounce_set(Evas_Object *obj, Eina_Bool bounce);
 +   EINA_DEPRECATED EAPI Elm_Cabinet_Item   *elm_cabinet_item_append(Evas_Object *obj, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), void *data);
 +   EINA_DEPRECATED EAPI Elm_Cabinet_Item   *elm_cabinet_item_prepend(Evas_Object *obj, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), void *data);
 +   EINA_DEPRECATED EAPI const Eina_List    *elm_cabinet_items_get(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI Elm_Cabinet_Item   *elm_cabinet_first_item_get(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI Elm_Cabinet_Item   *elm_cabinet_last_item_get(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI Elm_Cabinet_Item   *elm_cabinet_selected_item_get(Evas_Object *obj);
 +   EINA_DEPRECATED EAPI void                elm_cabinet_item_selected_set(Elm_Cabinet_Item *item);
 +   EINA_DEPRECATED EAPI void                elm_cabinet_item_del(Elm_Cabinet_Item *item);
 +   EINA_DEPRECATED EAPI const char         *elm_cabinet_item_label_get(Elm_Cabinet_Item *item);
 +   EINA_DEPRECATED EAPI void                elm_cabinet_item_label_set(Elm_Cabinet_Item *item, const char *label);
 +   EINA_DEPRECATED EAPI const char         *elm_cabinet_item_sub_info_get(Elm_Cabinet_Item *item);
 +   EINA_DEPRECATED EAPI void                elm_cabinet_item_sub_info_set(Elm_Cabinet_Item *item, const char *sub_info);
 +   EINA_DEPRECATED EAPI Elm_Cabinet_Item   *elm_cabinet_item_prev(Elm_Cabinet_Item *item);
 +   EINA_DEPRECATED EAPI Elm_Cabinet_Item   *elm_cabinet_item_next(Elm_Cabinet_Item *item);
 +   EINA_DEPRECATED EAPI void               *elm_cabinet_item_data_get(Elm_Cabinet_Item *item);
 +   EINA_DEPRECATED EAPI void                elm_cabinet_item_data_set(Elm_Cabinet_Item *item, void *data);
 +   EINA_DEPRECATED EAPI Eina_Bool           elm_cabinet_item_del_btn_disabled_get(Elm_Cabinet_Item *item);
 +   EINA_DEPRECATED EAPI void                elm_cabinet_item_del_btn_disabled_set(Elm_Cabinet_Item *item, Eina_Bool disabled);
 +   EINA_DEPRECATED EAPI Eina_Bool           elm_cabinet_item_sub_info_disabled_get(Elm_Cabinet_Item *item);
 +   EINA_DEPRECATED EAPI void                elm_cabinet_item_sub_info_disabled_set(Elm_Cabinet_Item *item, Eina_Bool disabled);
 +
 +   /* Dayselector */
 +   typedef enum 
 +     { 
 +        ELM_DAYSELECTOR_SUN, 
 +        ELM_DAYSELECTOR_MON, 
 +        ELM_DAYSELECTOR_TUE, 
 +        ELM_DAYSELECTOR_WED, 
 +        ELM_DAYSELECTOR_THU, 
 +        ELM_DAYSELECTOR_FRI, 
 +        ELM_DAYSELECTOR_SAT 
 +     } Elm_DaySelector_Day;
 +
 +   typedef struct _Elm_Event_DaySelector_Day
 +     {
 +        Elm_DaySelector_Day day;
 +     } Elm_Event_DaySelector_Day;     
 +
 +   EAPI Evas_Object *elm_dayselector_add(Evas_Object *parent);
 +   EAPI Eina_Bool    elm_dayselector_check_state_get(Evas_Object *obj, Elm_DaySelector_Day day);
 +   EAPI void         elm_dayselector_check_state_set(Evas_Object *obj, Elm_DaySelector_Day day, Eina_Bool checked);
 +   
 +   /* WebView */
 +   typedef Eina_Bool (*Elm_WebView_Mime_Cb)(Evas_Object *obj, const char *uri);
 +   EAPI Evas_Object *elm_webview_add(Evas_Object *parent, Eina_Bool tiled);
 +   EAPI Evas_Object *elm_webview_webkit_get(Evas_Object *obj);
 +   EAPI void         elm_webview_events_feed_set(Evas_Object *obj, Eina_Bool feed);
 +   EAPI Eina_Bool    elm_webview_events_feed_get(Evas_Object *obj);
 +   EAPI void         elm_webview_auto_fitting_set(Evas_Object *obj, Eina_Bool enable);
 +   EAPI Eina_Bool    elm_webview_auto_fitting_get(Evas_Object *obj);
 +   EAPI Evas_Object *elm_webview_minimap_get(Evas_Object *obj);
 +   EAPI void         elm_webview_uri_set(Evas_Object *obj, const char *uri);
 +   EAPI void         elm_webview_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
 +   EAPI void         elm_webview_mime_callback_set(Evas_Object *obj, const char *mime, Elm_WebView_Mime_Cb func);
 +   EAPI void         elm_webview_default_layout_width_set(Evas_Object *obj, int width);
 +
 +   /* NoContents */
 +   EAPI Evas_Object *elm_nocontents_add(Evas_Object *parent);
 +   EAPI void         elm_nocontents_label_set(Evas_Object *obj, const char *label);
 +   EAPI const char  *elm_nocontents_label_get(const Evas_Object *obj);
 +   EAPI void         elm_nocontents_custom_set(const Evas_Object *obj, Evas_Object *custom);
 +   EAPI Evas_Object *elm_nocontents_custom_get(const Evas_Object *obj);
 +
 +   /* TickerNoti */
 +   typedef enum 
 +     { 
 +        ELM_TICKERNOTI_DEFAULT, 
 +        ELM_TICKERNOTI_DETAILVIEW
 +     } Elm_Tickernoti_Mode;
 +
 +   EAPI Evas_Object         *elm_tickernoti_add (Evas_Object *parent);
 +   EAPI void                 elm_tickernoti_icon_set (const Evas_Object *obj, Evas_Object *icon);
 +   EAPI Evas_Object         *elm_tickernoti_icon_get (const Evas_Object *obj);
 +   EAPI void                 elm_tickernoti_label_set (Evas_Object *obj, const char *label);
 +   EAPI const char          *elm_tickernoti_label_get (const Evas_Object *obj);
 +   EAPI void               elm_tickernoti_detailview_label_set (Evas_Object *obj, const char *label);
 +   EAPI const char          *elm_tickernoti_detailview_label_get (const Evas_Object *obj);
 +   EAPI void                 elm_tickernoti_detailview_button_set (const Evas_Object *obj, Evas_Object *button);
 +   EAPI Evas_Object         *elm_tickernoti_detailview_button_get (const Evas_Object *obj);
 +   EAPI void                 elm_tickernoti_detailview_icon_set (const Evas_Object *obj, Evas_Object *icon);
 +   EAPI Evas_Object         *elm_tickernoti_detailview_icon_get (const Evas_Object *obj);
 +   EAPI Evas_Object         *elm_tickernoti_detailview_get (const Evas_Object *obj);
 +   EAPI int                  elm_tickernoti_rotation_get (const Evas_Object *obj);
 +   EAPI void                 elm_tickernoti_rotation_set (const Evas_Object *obj, int angle);
 +   EAPI void                 elm_tickernoti_mode_set (const Evas_Object *obj, Elm_Tickernoti_Mode mode);
 +   EAPI Elm_Tickernoti_Mode  elm_tickernoti_mode_get (const Evas_Object *obj);
 +
 +   /* Image Slider */
 +   typedef struct _Imageslider_Item Elm_Imageslider_Item;   
 +   typedef void (*Elm_Imageslider_Cb)(void *data, Evas_Object *obj, void *event_info);
 +   EAPI Evas_Object           *elm_imageslider_add(Evas_Object *parent);
 +   EAPI Elm_Imageslider_Item  *elm_imageslider_item_append(Evas_Object *obj, const char *photo_file, Elm_Imageslider_Cb func, void *data);
 +   EAPI Elm_Imageslider_Item  *elm_imageslider_item_prepend(Evas_Object *obj, const char *photo_file, Elm_Imageslider_Cb func, void *data);
 +   EAPI void                   elm_imageslider_item_del(Elm_Imageslider_Item *it);
 +   EAPI Elm_Imageslider_Item  *elm_imageslider_selected_item_get(Evas_Object *obj);
 +   EAPI Eina_Bool              elm_imageslider_item_selected_get(Elm_Imageslider_Item *it);
 +   EAPI void                   elm_imageslider_item_selected_set(Elm_Imageslider_Item *it);
 +   EAPI const char            *elm_imageslider_item_photo_file_get(Elm_Imageslider_Item *it);
 +   EAPI Elm_Imageslider_Item  *elm_imageslider_item_prev(Elm_Imageslider_Item *it);
 +   EAPI Elm_Imageslider_Item  *elm_imageslider_item_next(Elm_Imageslider_Item *it);
 +   EAPI void                   elm_imageslider_prev(Evas_Object *obj);
 +   EAPI void                   elm_imageslider_next(Evas_Object *obj);
 +
-    
++   EAPI Evas_Object *elm_selectioninfo_add(Evas_Object *parent);
++   EAPI void         elm_selectioninfo_content_set(Evas_Object *obj, Evas_Object *content);
++   EAPI void         elm_selectioninfo_parent_set(Evas_Object *obj, Evas_Object *parent);
++   EAPI void         elm_selectioninfo_check_state_set(Evas_Object *obj, Eina_Bool *state, int count);
++   EAPI int          elm_selectioninfo_checked_count_get(Evas_Object *obj);
++   EAPI void         elm_selectioninfo_label_set(Evas_Object *obj, char* text);
  #ifdef __cplusplus
  }
  #endif
index 13152f2,ce96d9c..c7e1b81
mode 100755,100644..100755
@@@ -150,10 -95,8 +151,11 @@@ els_box.c 
  els_box.h \
  els_icon.c \
  els_icon.h \
 -elm_cnp_helper.c
+ \
 +els_touch.c \
 +els_touch.h \
 +els_webview.c \
 +els_webview_container.c
  
  
  libelementary_la_CFLAGS =
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -1,5 -1,5 +1,4 @@@
  #include <Elementary.h>
--#include "elm_priv.h"
  
  /**
   * @addtogroup Animator Animator
@@@ -34,9 -32,9 +31,9 @@@ static double _animator_curve_in(doubl
  static double _animator_curve_out(double frame);
  static unsigned int _animator_compute_reverse_repeat_count(unsigned int cnt);
  static unsigned int _animator_compute_no_reverse_repeat_count(unsigned int cnt);
 -static Eina_Bool _animator_animate_cb(void *data);
 +static int _animator_animate_cb(void *data);
  static void _delete_animator(Elm_Animator *animator);
- static void _animator_parent_del(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__);
 -static void _animator_parent_del(void *data, Evas *evas, Evas_Object *obj, void *event);
++//static void _animator_parent_del(void *data);
  
  static unsigned int
  _animator_compute_reverse_repeat_count(unsigned int cnt)
@@@ -91,16 -89,14 +88,16 @@@ static in
  _animator_animate_cb(void *data)
  {
     Elm_Animator *animator = (Elm_Animator *) data;
-    double elapsed_time, frame;
++   double elapsed_time, frame, cur_time;
  
     animator->cur_time = ecore_loop_time_get();
 -   double elapsed_time = animator->cur_time - animator->begin_time;
  
 -   if (elapsed_time > animator->duration)
 -     elapsed_time = animator->duration;
 +   elapsed_time = animator->cur_time - animator->begin_time;
 +
 +   if(elapsed_time > animator->duration)
 +         elapsed_time = animator->duration;
  
 -   double frame = animator->curve_op(elapsed_time / animator->duration);
 +   frame = animator->curve_op(elapsed_time / animator->duration);
  
     //Reverse?
     if (animator->auto_reverse)
  
     return ECORE_CALLBACK_RENEW;
  }
--
 -static void 
 -_animator_parent_del(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__)
++/*
 +static void
- _animator_parent_del(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event __UNUSED__)
++_animator_parent_del(void *data)
  {
 -   elm_animator_del(data);
 +      Elm_Animator *animator = data; 
 +      elm_animator_del(data);
  }
--
++*/
  /**
   * Get the value of reverse mode. 
   *
  EAPI Eina_Bool
  elm_animator_auto_reverse_get(Elm_Animator *animator)
  {
-    if (animator->magic != MAGIC_OBJ_ANIMATOR)
 -   if (!animator) return EINA_FALSE;
++   if (!animator)
 +      return EINA_FALSE;
     return animator->auto_reverse;
  }
  
  EAPI unsigned int
  elm_animator_repeat_get(Elm_Animator *animator)
  {
-       if (animator->magic != MAGIC_OBJ_ANIMATOR)
 -   if (!animator) return EINA_FALSE;
++   if (!animator)
 +      return EINA_FALSE;
     return animator->repeat_cnt;
  }
  
  EAPI void
  elm_animator_auto_reverse_set(Elm_Animator *animator, Eina_Bool reverse)
  {
-       if (animator->magic != MAGIC_OBJ_ANIMATOR)
 -   if (!animator) return;
 -   if (animator->auto_reverse == reverse) return;
++   if (!animator)
 +      return;
 +   if (animator->auto_reverse == reverse)
 +      return;
     animator->auto_reverse = reverse;
 -   if (reverse) 
 -     {
 -      animator->repeat_cnt =
 -        _animator_compute_reverse_repeat_count(animator->repeat_cnt);
 -     }
 -   else 
 -     {
 -      animator->repeat_cnt =
 -        _animator_compute_no_reverse_repeat_count(animator->repeat_cnt);
 -     }
 +   if (reverse)
 +      animator->repeat_cnt =
 +       _animator_compute_reverse_repeat_count(animator->repeat_cnt);
 +   else
 +      animator->repeat_cnt =
 +       _animator_compute_no_reverse_repeat_count(animator->repeat_cnt);
  }
  
  /**
   * @ingroup Animator
   */
  EAPI void
 -elm_animator_curve_style_set(Elm_Animator *animator, Elm_Animator_Curve_Style cs)
 +elm_animator_curve_style_set(Elm_Animator *animator,
 +                           Elm_Animator_Curve_Style cs)
  {
-       if (animator->magic != MAGIC_OBJ_ANIMATOR)
 -   if (!animator) return;
++   if (!animator)
 +      return;
 +
     switch (cs)
       {
 -      case ELM_ANIMATOR_CURVE_LINEAR:
 +     case ELM_ANIMATOR_CURVE_LINEAR:
        animator->curve_op = _animator_curve_linear;
        break;
 -      case ELM_ANIMATOR_CURVE_IN_OUT:
 +     case ELM_ANIMATOR_CURVE_IN_OUT:
        animator->curve_op = _animator_curve_in_out;
        break;
 -      case ELM_ANIMATOR_CURVE_IN:
 +     case ELM_ANIMATOR_CURVE_IN:
        animator->curve_op = _animator_curve_in;
        break;
 -      case ELM_ANIMATOR_CURVE_OUT:
 +     case ELM_ANIMATOR_CURVE_OUT:
        animator->curve_op = _animator_curve_out;
        break;
 -      default:
 +     default:
        animator->curve_op = _animator_curve_linear;
        break;
       }
  EAPI void
  elm_animator_duration_set(Elm_Animator *animator, double duration)
  {
-       if (animator->magic != MAGIC_OBJ_ANIMATOR)
 -   if (!animator) return;
 -   if (animator->on_animating) return;
++   if (!animator)
 +      return;
 +   if (animator->on_animating)
 +      return;
     animator->duration = duration;
  }
  
@@@ -265,10 -255,8 +262,10 @@@ elm_animator_operation_callback_set(Elm
                                                  Elm_Animator *animator,
                                                  double frame), void *data)
  {
-       if (animator->magic != MAGIC_OBJ_ANIMATOR)
 -   if (!animator) return;
 -   if (animator->on_animating) return;
++   if (!animator)
 +      return;
 +   if (animator->on_animating)
 +      return;
     animator->animator_op = func;
     animator->animator_arg = data;
  }
  EAPI Elm_Animator *
  elm_animator_add(Evas_Object *parent)
  {
-    Elm_Animator *animator = ELM_NEW(Elm_Animator);
+    Elm_Animator *animator = calloc(1, sizeof(Elm_Animator));
  
 -   if (!animator) return NULL;
 +   if (!animator)
 +      return NULL;
-    animator->parent = parent;
-    animator->magic = MAGIC_OBJ_ANIMATOR;
     elm_animator_auto_reverse_set(animator, EINA_FALSE);
     elm_animator_curve_style_set(animator, ELM_ANIMATOR_CURVE_LINEAR);
  
-    if (parent) {
 -   if (parent)
 -     evas_object_event_callback_add(parent, EVAS_CALLBACK_DEL,
 -                                  _animator_parent_del, animator);
++/* if (parent) {
 +              evas_object_event_callback_add(parent, EVAS_CALLBACK_DEL,
 +                                   _animator_parent_del, animator);
-       }
++      } */
+    animator->parent = parent;
  
     return animator;
  }
  EAPI Eina_Bool
  elm_animator_operating_get(Elm_Animator *animator)
  {
-       if (animator->magic != MAGIC_OBJ_ANIMATOR)
 -   if (!animator) return EINA_FALSE;
++   if (!animator)
 +      return EINA_FALSE;
     return animator->on_animating;
  }
  
  EAPI void
  elm_animator_del(Elm_Animator *animator)
  {
-    if(animator->magic != MAGIC_OBJ_ANIMATOR) {
-          return;
-    }
 -   if (!animator) return;
 -   _delete_animator(animator);
++   if (!animator)
++      return;
 +
 +      _delete_animator(animator);
 +
-    if(animator->parent) {
++/*   if(animator->parent) {
 +      evas_object_event_callback_del(animator->parent, EVAS_CALLBACK_DEL, _animator_parent_del);
-       }
++      } */
  
-    memset(animator, 0x0, sizeof(Elm_Animator));
 -   if(animator->parent) 
 -     evas_object_event_callback_del(animator->parent, EVAS_CALLBACK_DEL, 
 -                                  _animator_parent_del);
     free(animator);
  }
  
   * @ingroup Animator
   */
  EAPI void
 -elm_animator_completion_callback_set(Elm_Animator *animator, 
 +elm_animator_completion_callback_set(Elm_Animator *animator,
                                     void (*func) (void *data), void *data)
  {
-       if (animator->magic != MAGIC_OBJ_ANIMATOR)
 -   if (!animator) return;
 -   if (animator->on_animating) return;
++   if (!animator)
 +      return;
 +   if (animator->on_animating)
 +      return;
     animator->completion_op = func;
     animator->completion_arg = data;
  }
  
  /**
-       if (animator->magic != MAGIC_OBJ_ANIMATOR)
 + * Pause the animator.
 + *
 + * @param  animator Animator object
 + *
 + * @ingroup Animator
 + */
 +EAPI void
 +elm_animator_pause(Elm_Animator *animator)
 +{
-       if (animator->magic != MAGIC_OBJ_ANIMATOR)
++      if(!animator)
 +              return;
 +
 +      if(!animator->on_animating)
 +              return;
 +
 +      ecore_animator_freeze(animator->animator);
 +}
 +
 +/**
 + * Resume the animator.
 + *
 + * @param  animator Animator object
 + *
 + * @ingroup Animator
 + */
 +EAPI void
 +elm_animator_resume(Elm_Animator *animator)
 +{
++      if(!animator)
 +              return;
 +
 +      if(!animator->on_animating)
 +              return;
 +
 +      ecore_animator_thaw(animator->animator);
 +}
 +
 +/**
   * Stop animator.
   *
   * @param animator Animator object 
  EAPI void
  elm_animator_stop(Elm_Animator *animator)
  {
-       if (animator->magic != MAGIC_OBJ_ANIMATOR)
 -   if (!animator) return;
++   if (!animator)
 +      return;
     animator->on_animating = EINA_FALSE;
 -   _delete_animator(animator);
 +      _delete_animator(animator);
  }
  
  /**
  EAPI void
  elm_animator_repeat_set(Elm_Animator *animator, unsigned int repeat_cnt)
  {
-       if (animator->magic != MAGIC_OBJ_ANIMATOR)
 -   if (!animator) return;
++   if (!animator)
 +      return;
     if (!animator->auto_reverse)
        animator->repeat_cnt = repeat_cnt;
 -   else 
 -     {
 -      animator->repeat_cnt = 
 -        _animator_compute_reverse_repeat_count(repeat_cnt);
 -     }
 +   else
 +      animator->repeat_cnt = _animator_compute_reverse_repeat_count(repeat_cnt);
  }
  
  /**
  EAPI void
  elm_animator_animate(Elm_Animator *animator)
  {
-       if (animator->magic != MAGIC_OBJ_ANIMATOR)
 -   if (!animator) return;
 -   if (!animator->animator_op) return;
++   if (!animator)
 +      return;
 +   if (!animator->animator_op)
 +      return;
     animator->begin_time = ecore_loop_time_get();
 -   animator->on_animating = EINA_TRUE;
     animator->cur_repeat_cnt = animator->repeat_cnt;
 -   if (!animator->animator) 
 -     animator->animator = ecore_animator_add(_animator_animate_cb, animator);
 -   if (!animator->animator)
 -     animator->on_animating = EINA_FALSE;
 +   if (!animator->animator) {
 +      animator->animator = ecore_animator_add(_animator_animate_cb, animator);
 +      }
 +   if (animator->animator)
 +      animator->on_animating = EINA_TRUE;
  }
index 95df88e,9721ae2..cee5a8e
mode 100755,100644..100755
@@@ -138,8 -137,6 +138,8 @@@ elm_bubble_label_set(Evas_Object *obj, 
     ELM_CHECK_WIDTYPE(obj, widtype);
     Widget_Data *wd = elm_widget_data_get(obj);
     if (!wd) return;
-    if (label) edje_object_signal_emit(wd->bbl, "elm,state,label,visible", "elm");
-    else edje_object_signal_emit(wd->bbl, "elm,state,label,hidden", "elm");
++   if (label) edje_object_signal_emit(wd->bbl, "elm,state,label,add", "elm");
++   else edje_object_signal_emit(wd->bbl, "elm,state,label,del", "elm");
     eina_stringshare_replace(&wd->label, label);
     edje_object_part_text_set(wd->bbl, "elm.text", label);
     _sizing_eval(obj);
@@@ -210,12 -154,10 +205,12 @@@ _signal_clicked(void *data, Evas_Objec
       }
     wd->repeating = EINA_FALSE;
     evas_object_smart_callback_call(data, SIG_CLICKED, NULL);
 +#if 0
     _signal_unpressed(data, obj, emission, source); /* safe guard when the theme does not emit the 'unpress' signal */
 +#endif
  }
  
- static int
+ static Eina_Bool
  _autorepeat_send(void *data)
  {
     Widget_Data *wd = elm_widget_data_get(data);
Simple merge
Simple merge
@@@ -42,10 -41,9 +42,10 @@@ static const char *_atom_names[ATOM_COU
  #define ATOM_E_THEME 2
  #define ATOM_E_PROFILE 3
  #define ATOM_E_CONFIG 4
 +#define ATOM_E_INPUT_PANEL 5
  
  static Eina_Bool _prop_config_get(void);
- static int _prop_change(void *data __UNUSED__, int ev_type __UNUSED__, void *ev);
+ static Eina_Bool _prop_change(void *data __UNUSED__, int ev_type __UNUSED__, void *ev);
  
  static Eina_Bool
  _prop_config_get(void)
@@@ -172,19 -171,8 +173,19 @@@ _prop_change(void *data __UNUSED__, in
            {
               _prop_config_get();
            }
 +      else if (event->atom == _atom[ATOM_E_INPUT_PANEL])
 +        {
 +           unsigned int val = 0;
 +
 +           if (ecore_x_window_prop_card32_get(event->win,
 +                                              event->atom,
 +                                              &val, 1) > 0)
 +             {
 +              edje_input_panel_enabled_set(val);
 +             }
 +        }
       }
-    return 1;
+    return ECORE_CALLBACK_PASS_ON;
  }
  #endif
  
Simple merge
@@@ -115,8 -107,8 +115,9 @@@ struct _Widget_Dat
     Evas_Coord cx, cy, cw, ch;
     Eina_List *items;
     Eina_List *item_providers;
+    Ecore_Job *hovdeljob;
     Mod_Api *api; // module api if supplied
 +   int max_no_of_bytes;
     Eina_Bool changed : 1;
     Eina_Bool linewrap : 1;
     Eina_Bool char_linewrap : 1;
@@@ -784,29 -746,11 +810,33 @@@ _str_append(char *str, const char *txt
     return str;
  }
  
+ /*FIXME: Sholud be implemented somewhere else, it really depends on the context
+  * because some markups can be implemented otherwise according to style.
+  * probably doing it in textblock and making it translate according to it's
+  * style is correct. */
  static char *
 +_strncpy(char* dest, const char* src, size_t count)
 +{
 +   if (!dest) 
 +     {
 +      ERR( "dest is NULL" );
 +      return NULL;
 +     }
 +   if (!src) 
 +     {
 +      ERR( "src is NULL" );
 +      return NULL;
 +     }
 +   if (count < 0)
 +     {
 +      ERR( "count is smaller than 0" );
 +      return NULL;
 +     }
 +
 +   return strncpy( dest, src, count );
 +}
 +
 +static char *
  _mkup_to_text(const char *mkup)
  {
     char *str = NULL;
Simple merge
Simple merge
Simple merge
index 5b9022c,c71d4a8..e91ce04
mode 100755,100644..100755
@@@ -1,13 -1,8 +1,9 @@@
- /*
-  *
-  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
-  */
  #include <Elementary.h>
  #include "elm_priv.h"
 -
 +      
  /**
   * @defgroup Genlist Genlist
 + * @ingroup Elementary
   *
   * The aim was to have  more expansive list that the simple list in
   * Elementary that could have more flexible items and allow many more entries
@@@ -276,26 -267,7 +272,28 @@@ struct _Widget_Dat
     int item_width;
     int item_height;
     int max_items_per_block;
+    double longpress_timeout;
 +   int edit_mode;
 +   Eina_Bool animate_edit_controls :1;
 +   Edit_Data *ed;
 +
 +   Evas_Coord td1_x, td1_y, tu1_x, tu1_y;
 +   Evas_Coord td2_x, td2_y, tu2_x, tu2_y;
 +   Evas_Coord d1_x, d1_y, d2_x, d2_y;
 +   Evas_Coord acc_x1, acc_y1, acc_x2, acc_y2;
 +   Evas_Coord prev_multi_x, prev_multi_y;
 +   Eina_Bool multi_down : 1;
 +   Eina_Bool multi_touch : 1;
 +   Eina_List *edit_field;
++   Eina_Bool selct_all : 1;
 +};
 +struct _Edit_Data
 +{
 +  Elm_Genlist_Edit_Class  *ec;
 +  Elm_Genlist_Item *del_item;
 +  Elm_Genlist_Item *reorder_item;
 +  Elm_Genlist_Item *reorder_rel;
 +  Evas_Object *del_confirm;
  };
  
  struct _Item_Block
@@@ -708,11 -587,12 +714,12 @@@ _mouse_move(void *data, Evas *evas __UN
  
     if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
       {
 -      if (!it->wd->on_hold)
 -        {
 -           it->wd->on_hold = EINA_TRUE;
 +        if (!it->wd->on_hold)
 +          {
 +             it->wd->on_hold = EINA_TRUE;
+              if (!it->wd->wasselected)
 -               _item_unselect(it);
 -        }
 +             _item_unselect(it);
 +          }
       }
     if ((it->dragging) && (it->down))
       {
@@@ -825,179 -674,12 +831,179 @@@ _long_press(void *data
     Elm_Genlist_Item *it = data;
  
     it->long_timer = NULL;
-    if ((it->disabled) || (it->dragging)) return 0;
+    if ((it->disabled) || (it->dragging)) return ECORE_CALLBACK_CANCEL;
     it->wd->longpressed = EINA_TRUE;
     evas_object_smart_callback_call(it->wd->obj, "longpressed", it);
-    return 0;
+    return ECORE_CALLBACK_CANCEL;
  }
  
 +static int
 +_edit_long_press(void *data)
 +{
 +  Elm_Genlist_Item *it = data; 
 +  Evas_Coord x, y;
 +
 +  it->edit_long_timer = NULL;
 +  if ((it->disabled) || (it->dragging)) return 0;
 +  edje_object_signal_emit(it->edit_obj, "elm,action,item,reorder_start", "elm");
 +
 +  evas_object_geometry_get(it->base, &x, &y, NULL, NULL);
 +
 +  it->dx = it->reoder_cavas_x - x;
 +  it->dy = it->reoder_cavas_y - y;  
 +
 +  evas_object_raise(it->base);
 +  evas_object_raise( it->edit_obj );
 +
 +  it->wd->ed->reorder_item = it;
 +  it->wd->ed->reorder_item->reordering = 1;
 +  it->wd->ed->reorder_rel = NULL;
 +  elm_smart_scroller_hold_set(it->wd->scr, EINA_TRUE);
 +
 +  return 0;
 +}
 + 
 +static void
 +_multi_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info)
 +{
 +   Elm_Genlist_Item *it = data;
 +   Evas_Event_Multi_Down *ev = event_info;
 +   Evas_Coord dx, dy, adx, ady;
 +
 +   if (it->long_timer)
 +     {
 +      ecore_timer_del(it->long_timer);
 +      it->long_timer = NULL;
 +     }
 +
 +   dx = it->wd->td1_x - ev->canvas.x;
 +   adx = dx;
 +   if (adx < 0) adx = -dx;
 +   dy = it->wd->td1_y - ev->canvas.y;
 +   ady = dy;
 +   if (ady < 0) ady = -dy;
 +
 +   if (adx < 60 && ady < 60)
 +     return;
 +
 +   it->wd->multi_down = 1;
 +   it->wd->td2_x = ev->canvas.x;
 +   it->wd->td2_y = ev->canvas.y;
 +
 +   fprintf(stderr, "\n MULTI_DOWN - BUTTON ID = %d, x= %d, y= %d\n", ev->device, it->wd->td2_x, it->wd->td2_y);
 +}
 +
 +static void
 +_multi_up(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info)
 +{
 +   Elm_Genlist_Item *it = data;
 +   Evas_Event_Multi_Up *ev = event_info;
 +   Evas_Coord dy, uy, ady, auy;
 +
 +   fprintf(stderr, "\n MULTI_UP - x= %d, y= %d down= %d multi_down= %d\n", ev->canvas.x, ev->canvas.y, it->down, it->wd->multi_down);
 +
 +   if (!it->wd->multi_down)
 +     return;
 +
 +   it->wd->multi_down = 0;
 +   it->wd->tu2_x = ev->canvas.x;
 +   it->wd->tu2_y = ev->canvas.y;
 +   it->wd->d2_x = ev->canvas.x - it->wd->td2_x;
 +   it->wd->d2_y = ev->canvas.y - it->wd->td2_y;
 +
 +   if (it->down)
 +     {
 +      it->wd->multi_touch = EINA_TRUE;
 +     }
 +   else
 +     {
 +      fprintf(stderr, "CHECK d1_x= %d, d2_x= %d, d1_y= %d, d2_y= %d\n", it->wd->d1_x, it->wd->d2_x, it->wd->d1_y, it->wd->d2_y);
 +
 +      if ( (it->wd->d1_x > 180) && (it->wd->d2_x > 180) )
 +        {
 +           // Two finger : Left -> Right
 +           fprintf(stderr, "L->R acc_y1= %d, acc_y2= %d\n", it->wd->acc_y1, it->wd->acc_y2);
 +           if (it->wd->acc_y1 < 200 && it->wd->acc_y2 < 200)
 +             evas_object_smart_callback_call(it->wd->obj, "multi_touch,left,right", it);
 +        }
 +      else if ( (it->wd->d1_y > 180) && (it->wd->d2_y > 180) )
 +        {
 +           // Two finger : Top -> Bottom
 +           fprintf(stderr, "T->B acc_x1= %d, acc_x2= %d\n", it->wd->acc_x1, it->wd->acc_x2);
 +           if (it->wd->acc_x1 < 200 && it->wd->acc_x2 < 200)
 +             evas_object_smart_callback_call(it->wd->obj, "multi_touch,top,bottom", it);
 +        }
 +      else
 +        {
 +           dy = it->wd->td1_y - it->wd->td2_y;
 +           if (dy < 0)
 +             ady = -dy;
 +           else
 +             ady = dy;
 +
 +           uy = it->wd->tu1_y - it->wd->tu2_y;
 +           if (uy < 0)
 +             auy = -uy;
 +           else
 +             auy = uy;
 +
 +           if (auy < ady)
 +             {
 +                if (auy < ady*0.4)
 +                  {
 +                     // Two finger : Pinch Out
 +                     evas_object_smart_callback_call(it->wd->obj, "multi_touch,pinch,out", it);
 +                  }
 +             }
 +           else
 +             {
 +                if (ady < auy*0.4)
 +                  {
 +                     // Two finger : Pinch In
 +                     evas_object_smart_callback_call(it->wd->obj, "multi_touch,pinch,in", it);
 +                  }
 +             }
 +        }
 +
 +      it->wd->acc_x1 = 0;
 +      it->wd->acc_y1 = 0;
 +      it->wd->acc_x2 = 0;
 +      it->wd->acc_y2 = 0;
 +      it->wd->prev_multi_x = 0;
 +      it->wd->prev_multi_y = 0;
 +     }
 +}
 +
 +static void
 +_multi_move(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info)
 +{
 +   Elm_Genlist_Item *it = data;
 +   Evas_Event_Multi_Move *ev = event_info;
 +   Evas_Coord acc_x, acc_y;
 +
 +   if (it->wd->prev_multi_x == 0)
 +     {
 +      it->wd->prev_multi_x = ev->cur.canvas.x;
 +      it->wd->prev_multi_y = ev->cur.canvas.y;
 +      return;
 +     }
 +
 +   acc_x = it->wd->prev_multi_x - ev->cur.canvas.x;
 +   if (acc_x < 0)
 +     it->wd->acc_x2 = it->wd->acc_x2 - acc_x;
 +   else
 +     it->wd->acc_x2 = it->wd->acc_x2 + acc_x;
 +
 +   acc_y = it->wd->prev_multi_y - ev->cur.canvas.y;
 +   if (acc_y < 0)
 +     it->wd->acc_y2 = it->wd->acc_y2 - acc_y;
 +   else
 +     it->wd->acc_y2 = it->wd->acc_y2 + acc_y;
 +
 +   it->wd->prev_multi_x = ev->cur.canvas.x;
 +   it->wd->prev_multi_y = ev->cur.canvas.y;
 +}
 +
  static void
  _mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info)
  {
@@@ -1694,537 -1104,6 +1700,537 @@@ _item_block_unrealize(Item_Block *itb
  }
  
  static void
-                 it->wd->ed->ec->item_selected(it->data, it->wd->obj);
 +_delete_confirm_cb(void *data, Evas_Object *obj, void *event_info)
 +{
 +  Widget_Data *wd = data;
 +  evas_object_hide( wd->ed->del_confirm );
 +  if( wd->ed->ec && wd->ed->ec->remove  )
 +    wd->ed->ec->remove(wd->obj, wd->ed->del_item);
 +  wd->ed->del_item = NULL;
 +}
 +
 +static void
 +_hide_delete_confirm_object (void *data, Evas_Object *obj, const char *emission, const char *source)
 +{
 +  const char *del_icon_part;
 +  Elm_Genlist_Item *it = data;
 +  del_icon_part = edje_object_data_get(it->edit_obj, "del_confirm");
 +  if (del_icon_part)
 +    edje_object_part_unswallow( it->edit_obj, it->wd->ed->del_confirm );
 +
 +   evas_object_hide( it->wd->ed->del_confirm );
 +}
 +
 +static void
 +_remove_item_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
 +{
 +  const char *del_icon_part, *del_conf_style;
 +  Elm_Genlist_Item *it = data;
 +  if(_edit_mode_reset( it->wd ))
 +     return;
 +
 +  if (it->edit_long_timer) 
 +  {
 +        ecore_timer_del(it->edit_long_timer);
 +        it->edit_long_timer = NULL;
 +  }
 + 
 +  if( it->del_confirm_state )
 +  {
 +        it->del_confirm_state = 0;
 +        it->delete_check = 0;
 +        edje_object_signal_emit(it->edit_obj, "elm,state,del,animated,enable", "elm");
 +        it->wd->selct_all = 0;
 +          if(it->wd->select_all_item)
 +           edje_object_signal_emit(it->wd->select_all_item->base, "elm,state,del,animated,enable", "elm");
 +
 +         if (!it->wd->selct_all && it->wd->ed->ec->item_selected)
 +        {
-         it->wd->ed->ec->item_selected(it->data, it->wd->obj);
++                it->wd->ed->ec->item_selected(it->data, it, it->delete_check);
 +        }
 +        return;
 +  }
 +
 +  it->del_confirm_state = 1;
 +  it->delete_check = 1;
 +
 +  it->wd->ed->del_item = it;
 +
 +  if (!it->wd->selct_all && it->wd->ed->ec->item_selected)
 +  {
-         wd->ed->ec->item_selected(NULL, wd->obj);
++        it->wd->ed->ec->item_selected(it->data, it, it->delete_check);
 +  }
 +
 +  del_conf_style = edje_object_data_get(it->edit_obj, "del_button_style");
 +  if(del_conf_style )
 +    elm_object_style_set( it->wd->ed->del_confirm, del_conf_style);
 +
 +/*
 +   del_icon_part = edje_object_data_get(it->edit_obj, "del_confirm");
 +   if (del_icon_part)
 +     edje_object_part_swallow(it->edit_obj, del_icon_part, it->wd->ed->del_confirm);
 +   evas_object_show( it->wd->ed->del_confirm );
 +*/
 +   edje_object_signal_emit(it->edit_obj, "elm,state,del_confirm", "elm");
 +}
 +
 +static void
 +_insert_new_item_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
 +{
 +  Elm_Genlist_Item *it = data;
 +
 +  if(_edit_mode_reset( it->wd ))
 +     return;
 +
 +  if( it->wd->ed->ec && it->wd->ed->ec->insert_new )
 +    it->wd->ed->ec->insert_new(it->wd->obj, it);
 +}
 +
 +static Eina_Bool
 +_edit_mode_reset(Widget_Data *wd)
 +{
 +   /*
 +  if(wd->ed->del_confirm_state)
 +  {
 +       //edje_object_signal_emit(wd->ed->del_item->edit_obj, "elm,state,delete", "elm");
 +       //wd->ed->del_confirm_state = 0;
 +       //wd->ed->del_item = NULL;
 +       return EINA_TRUE;
 +  }
 +  */
 +  return EINA_FALSE;
 +}
 +
 +static void
 +_reorder_mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info)
 +{
 +  Elm_Genlist_Item *it = data;
 +  Evas_Event_Mouse_Down *ev = event_info;
 +  Evas_Coord x, y;
 +
 +  if(!elm_genlist_item_next_get(it))
 +      return;
 +   
 +   if(it->wd->edit_field && !it->renamed)
 +     elm_genlist_item_rename_mode_set(it, 0);
 +
 +   if(!(it->wd->edit_mode & ELM_GENLIST_EDIT_MODE_REORDER))
 +     return;
 +
 +  if(_edit_mode_reset( it->wd ) )
 +    return;
 +
 +  it->dragging = 0;
 +  it->down = 1;
 + 
 +  it->reoder_cavas_x = ev->canvas.x;
 +  it->reoder_cavas_y = ev->canvas.y;
 +
 +  evas_object_geometry_get(obj, &x, &y, NULL, NULL);
 +  it->dx = ev->canvas.x - x;
 +  it->dy = ev->canvas.y - y;
 +
 +      if (it->edit_long_timer)
 +        {
 +           ecore_timer_del(it->edit_long_timer);
 +           it->edit_long_timer = NULL;
 +        }
 +
 +  if (it->realized) {
 +     it->edit_long_timer = ecore_timer_add(0.3,_edit_long_press, it);
 +  }
 +  else
 +     it->edit_long_timer = NULL;
 +     
 +}
 +
 +static void
 +_reorder_mouse_up(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info)
 +{
 +  Elm_Genlist_Item *it = data;
 +  Evas_Event_Mouse_Up *ev = event_info;
 +  
 +  Item_Block *itb;
 +   EINA_INLIST_FOREACH(it->wd->blocks, itb)
 +   {
 +              itb->reoder_y = 0;              
 +   }
 +
 +  if (it->edit_long_timer)
 +  {
 +      ecore_timer_del(it->edit_long_timer);
 +      it->edit_long_timer = NULL;
 +  }
 +   
 +  it->down = 0;
 +  if( it->reordering && it->wd->ed->reorder_item )
 +     {
 +       it->wd->ed->reorder_item->reordering = 0;
 +       edje_object_signal_emit(it->wd->ed->reorder_item->edit_obj, "elm,action,item,reorder_end", "elm");
 +       elm_smart_scroller_hold_set(it->wd->scr, EINA_FALSE);
 +
 +       if(  (!it->wd->ed->reorder_rel) || (!it->wd->ed->ec->move) ||
 +          (!it->wd->ed->ec->move(it->wd->obj, it->wd->ed->reorder_item, it->wd->ed->reorder_rel, EINA_TRUE ) ) )
 +        {
 +          evas_object_move(it->wd->ed->reorder_item->base, it->wd->ed->reorder_item->scrl_x+it->pad_left, it->wd->ed->reorder_item->scrl_y);
 +          _move_edit_controls( it,it->wd->ed->reorder_item->scrl_x, it->wd->ed->reorder_item->scrl_y );
 +       }
 +        it->wd->ed->reorder_item = NULL;
 +       it->wd->ed->reorder_rel = NULL;
 +       return;
 +     }
 +}
 +
 +static void
 +_reorder_mouse_move(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info)
 +{
 +  Elm_Genlist_Item *it = data;
 +  Evas_Event_Mouse_Move *ev = event_info;
 +
 +   if ((it->dragging) && (it->down))
 +     {
 +        if (it->edit_long_timer)
 +          {
 +             ecore_timer_del(it->edit_long_timer);
 +             it->edit_long_timer = NULL;
 +          }
 +          
 +        evas_object_smart_callback_call(it->wd->obj, "drag", it);
 +//      return;
 +     }
 +
 +
 +   Evas_Coord minw = 0, minh = 0, x, y, dx, dy, adx, ady;
 +
 +     elm_coords_finger_size_adjust(1, &minw, 1, &minh);
 +   evas_object_geometry_get(obj, &x, &y, NULL, NULL);
 +   x = ev->cur.canvas.x - x;
 +   y = ev->cur.canvas.y - y;
 +   dx = x - it->dx;
 +   adx = dx;
 +   if (adx < 0) adx = -dx;
 +   dy = y - it->dy;
 +   ady = dy;
 +   if (ady < 0) ady = -dy;
 +   minw /= 2;
 +   minh /= 2;
 +   if ((adx > minw) || (ady > minh))
 +     {
 +        it->dragging = 1;
 +        if (it->edit_long_timer)
 +          {
 +             ecore_timer_del(it->edit_long_timer);
 +             it->edit_long_timer = NULL;
 +          }
 +   }
 +
 +  if( it->reordering && it->wd->ed->reorder_item )
 +    {
 +       int y = ev->cur.canvas.y - it->wd->ed->reorder_item->dy;
 +       evas_object_raise(it->wd->ed->reorder_item->base);
 +       evas_object_move(it->wd->ed->reorder_item->base, it->wd->ed->reorder_item->scrl_x+it->pad_left, y);
 +       evas_object_show(it->wd->ed->reorder_item->base);
 +       _move_edit_controls( it,it->wd->ed->reorder_item->scrl_x, y );
 +
 +       it->block->updateme = EINA_TRUE;
 +
 +       if (it->wd->calc_job) ecore_job_del(it->wd->calc_job);
 +       it->wd->calc_job = ecore_job_add(_calc_job, it->wd);
 +
 +       return;
 +    }
 +}
 +
 +static void
 +_select_all_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info)
 +{
 +   Item_Block *itb;
 +   Elm_Genlist_Item *it = data;
 +   Eina_List *l;
 +   Widget_Data *wd = it->wd;
 +   if (!wd) return;
 +
 +   Eina_List *realized_list = elm_genlist_realized_items_get(wd->obj);
 +
 +      if(!wd->selct_all) 
 +              edje_object_signal_emit(it->base, "elm,state,del_confirm", "elm");
 +      else
 +               edje_object_signal_emit(it->base, "elm,state,del,animated,enable", "elm");
 +              
 +
 +   EINA_INLIST_FOREACH(wd->blocks, itb)
 +     {
 +
 +          EINA_LIST_FOREACH(itb->items, l, it)
 +           {
 +
 +              if(!wd->selct_all) 
 +                {
 +                   it->delete_check = 1;
 +                   it->del_confirm_state = 1;
 +                   edje_object_signal_emit(it->edit_obj, "elm,state,del_confirm", "elm");
 +                }
 +              else 
 +                {
 +                   it->delete_check = 0;
 +                   it->del_confirm_state = 0;
 +                   edje_object_signal_emit(it->edit_obj, "elm,state,del,animated,enable", "elm");
 +                }
 +           }
 +   }
 +
 +   wd->selct_all ^= 0xFF;
 +
 +  if (wd->ed->ec->item_selected)
 +  {
++        wd->ed->ec->item_selected(NULL, it, wd->selct_all);
 +  }
 +
 +   if (wd->calc_job) ecore_job_del(wd->calc_job);
 +   wd->calc_job = ecore_job_add(_calc_job, wd);       
 +}
 +
 +static void
 +_move_edit_controls( Elm_Genlist_Item *it, int itx, int ity )
 +{
 +   if(it->wd->edit_mode == ELM_GENLIST_EDIT_MODE_NONE )
 +     return;
 +
 +   evas_object_resize(it->edit_obj,it->w, it->h );
 +   evas_object_move(it->edit_obj, itx, ity );
 +   evas_object_raise( it->edit_obj );
 +}
 +
 +static void
 +_edit_controls_eval( Elm_Genlist_Item *it )
 +{
 +    int itmode = 0;
 +    const char *pad_str;
 +    int pad = 0;
 +    it->pad_left = 0;
 +    it->pad_right = 0;
 +    Evas_Object *icon;
 +    if( it->wd->edit_mode == ELM_GENLIST_EDIT_MODE_NONE && !it->edit_obj )
 +      return;
 +
 +
 +    if( it->itc->func.editmode_get )
 +      itmode = it->itc->func.editmode_get( it->data, it->wd->obj, it->wd->edit_mode );
 +    itmode &= it->wd->edit_mode;
 +
 +    if(itmode & ELM_GENLIST_EDIT_MODE_SELECTALL)
 +      itmode |= ELM_GENLIST_EDIT_MODE_SELECT;
 +
 +    if( !it->edit_obj )
 +      {
 +       it->edit_obj = edje_object_add(evas_object_evas_get(it->wd->obj));
 +       edje_object_scale_set(it->edit_obj, elm_widget_scale_get(it->wd->obj) *
 +             _elm_config->scale);
 +       evas_object_smart_member_add(it->edit_obj, it->wd->pan_smart);
 +       elm_widget_sub_object_add(it->wd->obj, it->edit_obj);
 +       _elm_theme_object_set(it->wd->obj, it->edit_obj, "genlist", "item/edit_control", elm_widget_style_get(it->wd->obj));
 +
 +       edje_object_signal_callback_add(it->edit_obj, "elm,action,edit,reset",
 +             "elm", _edit_mode_reset, it);
 +      }
 +
 +    pad_str = edje_object_data_get(it->edit_obj, "icon_width");
 +    if (pad_str) pad = atoi(pad_str);
 +
 +    if( (itmode & ELM_GENLIST_EDIT_MODE_INSERT) )
 +      {
 +       if(it->wd->animate_edit_controls)
 +         edje_object_signal_emit(it->edit_obj, "elm,state,ins,animated,enable", "elm");
 +       else
 +         edje_object_signal_emit(it->edit_obj, "elm,state,ins,enable", "elm");
 +
 +       edje_object_signal_callback_add(it->edit_obj, "elm,action,item,insert",
 +             "elm", _insert_new_item_cb, it);
 +       it->pad_left += pad;
 +      }
 +    else
 +      {
 +       if(it->wd->animate_edit_controls)
 +         edje_object_signal_emit(it->edit_obj, "elm,state,ins,animated,disable", "elm");
 +       else
 +         edje_object_signal_emit(it->edit_obj, "elm,state,ins,disable", "elm");
 +
 +       edje_object_signal_callback_del(it->edit_obj, "elm,action,item,insert",
 +             "elm", _insert_new_item_cb );
 +      }
 +
 +    if( (itmode & ELM_GENLIST_EDIT_MODE_DELETE) || (itmode & ELM_GENLIST_EDIT_MODE_SELECT) )
 +      {
 +       if(it->wd->animate_edit_controls)
 +         edje_object_signal_emit(it->edit_obj, "elm,state,del,animated,enable", "elm");
 +       else
 +         edje_object_signal_emit(it->edit_obj, "elm,state,del,enable", "elm");
 +
 +       edje_object_signal_callback_add(it->edit_obj, "elm,action,item,delete",
 +             "elm", _remove_item_cb, it);
 +
 +       edje_object_signal_callback_add(it->edit_obj, "elm,action,hide,del_confirm",
 +             "elm", _hide_delete_confirm_object, it );
 +       it->pad_left += pad;
 +    evas_object_event_callback_add(it->edit_obj, EVAS_CALLBACK_MOUSE_DOWN,
 +                  _reorder_mouse_down, it);
 +      }
 +    else
 +      {
 +       if(it->wd->animate_edit_controls)
 +         edje_object_signal_emit(it->edit_obj, "elm,state,del,animated,disable", "elm");
 +       else
 +         edje_object_signal_emit(it->edit_obj, "elm,state,del,disable", "elm");
 +
 +       edje_object_signal_callback_del(it->edit_obj, "elm,action,item,delete",
 +             "elm", _remove_item_cb );
 +       edje_object_signal_callback_del(it->edit_obj, "elm,action,hide,del_confirm",
 +             "elm", _hide_delete_confirm_object );
 +
 +      }
 +
 +    if( (itmode & ELM_GENLIST_EDIT_MODE_REORDER) )
 +      {
 +       Evas_Object *reorder_icon;
 +       const char* reorder_part;
 +
 +       reorder_part = edje_object_data_get(it->edit_obj, "reorder");
 +       if( reorder_part && edje_object_part_exists(it->edit_obj, reorder_part ) )
 +         {
 +            reorder_icon = edje_object_part_object_get(it->edit_obj, reorder_part );
 +
 +            evas_object_event_callback_add(it->edit_obj, EVAS_CALLBACK_MOUSE_DOWN,
 +                  _reorder_mouse_down, it);
 +            evas_object_event_callback_add(it->edit_obj, EVAS_CALLBACK_MOUSE_UP,
 +                  _reorder_mouse_up, it);
 +            evas_object_event_callback_add(it->edit_obj, EVAS_CALLBACK_MOUSE_MOVE,
 +                  _reorder_mouse_move, it);
 +         }
 +       //  it->pad_right += pad;
 +      }
 +    else
 +      {
 +       Evas_Object *reorder_icon;
 +       const char* reorder_part;
 +
 +       reorder_part = edje_object_data_get(it->edit_obj, "reorder");
 +       if( reorder_part && edje_object_part_exists(it->edit_obj, reorder_part ) )
 +         {
 +            reorder_icon = edje_object_part_object_get(it->edit_obj, reorder_part );
 +
 +                      if(itmode == ELM_GENLIST_EDIT_MODE_NONE) 
 +                      {
 +            evas_object_event_callback_del(it->edit_obj, EVAS_CALLBACK_MOUSE_DOWN,
 +                  _reorder_mouse_down);
 +            evas_object_event_callback_del(it->edit_obj, EVAS_CALLBACK_MOUSE_UP,
 +                  _reorder_mouse_up);
 +            evas_object_event_callback_del(it->edit_obj, EVAS_CALLBACK_MOUSE_MOVE,
 +                  _reorder_mouse_move);
 +                      }
 +         }
 +      }
 +
 +      if( it->wd->edit_mode != 0xF0) {
 +   if( it->wd->edit_mode != ELM_GENLIST_EDIT_MODE_NONE) 
 +     {
 +      if (it->itc->func.icon_get)
 +        {
 +           edje_object_signal_emit(it->edit_obj, "elm,state,edit_end,enable", "elm");
 +
 +           const Eina_List *l;
 +           const char *key;
 +
 +           it->icons = _elm_stringlist_get(edje_object_data_get(it->edit_obj, "icons"));
 +           EINA_LIST_FOREACH(it->icons, l, key)
 +             {
 +                Evas_Object *ic = it->itc->func.icon_get(it->data, it->wd->obj, l->data);
 +
 +                if (ic)
 +                  {
 +                     it->edit_icon_objs = eina_list_append(it->edit_icon_objs, ic);
 +                     edje_object_part_swallow(it->edit_obj, key, ic);
 +                     evas_object_show(ic);
 +                     //  elm_widget_sub_object_add(it->wd->obj, ic);
 +                  }
 +             }
 +        }             
 +     }
 +   else 
 +     {
 +      edje_object_signal_emit(it->edit_obj, "elm,state,edit_end,disable", "elm");
 +      EINA_LIST_FREE(it->edit_icon_objs, icon)
 +         evas_object_del(icon);
 +
 +                      Evas_Object *editfield;
 +              EINA_LIST_FREE(it->wd->edit_field, editfield)
 +                 evas_object_del(editfield);
 +
 +
 +     }
 +      }
 +
 +    if( it->wd->edit_mode == ELM_GENLIST_EDIT_MODE_NONE )//Unrealize
 +      {
 +       evas_object_del(it->edit_obj);
 +       it->edit_obj = NULL;
 +       return;
 +      }
 +    _move_edit_controls(it,it->scrl_x, it->scrl_y );
 +    evas_object_show( it->edit_obj );
 +}
 +
 +static void
 +_notify_item_position( Elm_Genlist_Item *it )
 +{
 +   const Eina_List *l;
 +   if( it->parent )
 +     {
 +      l = eina_list_last(it->parent->items);
 +
 +      //Check if the Item is First Node or Last node of its Parent & raise signal.
 +      if( it->parent->items->data != it &&  l->data != it )
 +        {
 +           edje_object_signal_emit(it->base, "normal_item", "elm");
 +        } 
 +      else 
 +        {
 +           if(it->parent->items->data == it )
 +             edje_object_signal_emit(it->base, "first_item", "elm");
 +
 +           if(l->data == it )
 +             edje_object_signal_emit(it->base, "last_item", "elm");
 +        }
 +     }
 +}
 +
 +
 +static int
 +_get_space_for_reorder_item( Elm_Genlist_Item *it )
 +{
 +  int top=0;
 +  Evas_Coord rox, roy, row, roh;
 +  if(!it->wd->ed)
 +   return 0;
 +
 +  if( !(it->wd->edit_mode & ELM_GENLIST_EDIT_MODE_REORDER ) || !it->wd->ed->reorder_item )
 +    return 0;
 +
 +  evas_object_geometry_get(it->wd->ed->reorder_item->base, &rox, &roy, &row, &roh);
 +
 +  top = (ELM_RECTS_INTERSECT(it->scrl_x, it->scrl_y, it->w, it->h,
 +                             rox, roy+roh/2, row, 1));
 +
 +  if( top )
 +    {
 +       it->wd->ed->reorder_rel = it;
 +       it->scrl_y+=it->wd->ed->reorder_item->h;
 +       return it->wd->ed->reorder_item->h;
 +    }
 +
 +  return 0;
 +}
 +
 +static void
  _item_block_position(Item_Block *itb, int in)
  {
     const Eina_List *l;
@@@ -3442,12 -1968,18 +3449,25 @@@ elm_genlist_clear(Evas_Object *obj
     ELM_CHECK_WIDTYPE(obj, widtype);
     Widget_Data *wd = elm_widget_data_get(obj);
     if (!wd) return;
 +
 +   while (wd->group_items)
 +     {
 +      _groupitem_remove((Elm_Genlist_GroupItem *)wd->group_items, EINA_FALSE);
 +     }
 +
+    if (wd->walking > 0)
+      {
+       Elm_Genlist_Item *it;
+         
+         wd->clear_me = 1;
+         EINA_INLIST_FOREACH(wd->items, it)
+           {
+              it->delete_me = 1;
+           }
+       return;
+      }
+    wd->clear_me = 0;
++
     while (wd->items)
       {
        Elm_Genlist_Item *it = (Elm_Genlist_Item *)(wd->items);
@@@ -4637,400 -3168,35 +4657,434 @@@ elm_genlist_block_count_get(const Evas_
  }
  
  /**
 -}
 + * Set the Genlist Internal scroller scrollbar policy
 + *
 + * This sets the Genlist Internal scrollbar visibility policy.
 + * ELM_SMART_SCROLLER_POLICY_AUTO means the scrollbar is made visible if it
 + * is needed, and otherwise kept hidden. ELM_SMART_SCROLLER_POLICY_ON turns
 + * it on all the time, and ELM_SMART_SCROLLER_POLICY_OFF always keeps it off.
 + * This applies respectively for the horizontal and vertical scrollbars.
 + *
 + * @param obj The Genlist object
 + * @param policy_h Horizontal scrollbar policy
 + * @param policy_v Vertical scrollbar policy
 + *
 + * @ingroup Genlist
 + */
 +EAPI void
 +elm_genlist_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v)
 +{
 +   ELM_CHECK_WIDTYPE(obj, widtype);
 +   Widget_Data *wd = elm_widget_data_get(obj);
 +   if (!wd)  return;
 +
 +   const Elm_Scroller_Policy map[3] =
 +       {
 +           ELM_SMART_SCROLLER_POLICY_AUTO,
 +            ELM_SMART_SCROLLER_POLICY_ON,
 +            ELM_SMART_SCROLLER_POLICY_OFF
 +       };
 +   if ((policy_h < 0) || (policy_h >= 3) || (policy_v < 0) || (policy_v >= 3))
 +     return;
 +
 +   elm_smart_scroller_policy_set(wd->scr, map[policy_h], map[policy_v]);
 +}
 +
 +EAPI void
 +elm_genlist_set_edit_mode(Evas_Object *obj, int emode, Elm_Genlist_Edit_Class *edit_class)
 +{
 +   fprintf(stderr, "=================> Caution!!! <========================\n");
 +   fprintf(stderr, "==> elm_genlist_set_edit_mode() is deprecated. <=======\n");
 +   fprintf(stderr, "==> Please use elm_genlist_edit_mode_set() instead. <==\n");
 +   fprintf(stderr, "=======================================================\n");
 +
 +   elm_genlist_edit_mode_set(obj, emode, edit_class);
 +}
 +
 +/**
 + * Set Genlist edit mode
 + *
 + * This sets Genlist edit mode.
 + *
 + * @param obj The Genlist object
 + * @param emode ELM_GENLIST_EDIT_MODE_{NONE & REORDER & INSERT & DELETE & SELECT & SELECT_ALL}
 + * @param edit_class Genlist edit class (Elm_Genlist_Edit_Class structure)
 + *
 + * @ingroup Genlist
 + */
 +EAPI void
 +elm_genlist_edit_mode_set(Evas_Object *obj, int emode, Elm_Genlist_Edit_Class *edit_class)
 +{
 +   Eina_List * realized_list;
 +   Elm_Genlist_Item *it;
 +   Eina_List *l;
 +   Item_Block *itb;
 +
 +   Elm_Genlist_Item *it_new;
 +   static Elm_Genlist_Item_Class itc;
 +
 +   ELM_CHECK_WIDTYPE(obj, widtype);
 +   Widget_Data *wd = elm_widget_data_get(obj);
 +   if (!wd) return;
 +   if (wd->edit_mode == emode) return;
 +
 +   wd->edit_mode = emode;
 +
 +   wd->animate_edit_controls = 1;
 +
 +   if (wd->edit_mode & ELM_GENLIST_EDIT_MODE_SELECTALL)
 +     wd->edit_mode |= ELM_GENLIST_EDIT_MODE_SELECT;
 +
 +   if (wd->edit_mode == ELM_GENLIST_EDIT_MODE_NONE)
 +     {
 +      if (wd->ed) free (wd->ed);
 +      wd->ed = NULL;
 +     }
 +   else
 +     {
 +      if (!wd->ed)
 +        wd->ed = calloc(1, sizeof(Edit_Data));
 +
 +      wd->ed->ec = edit_class;
 +
 +      if (((wd->edit_mode & ELM_GENLIST_EDIT_MODE_DELETE) || (wd->edit_mode & ELM_GENLIST_EDIT_MODE_SELECT)) && !wd->ed->del_confirm)
 +        {
 +           wd->ed->del_confirm = elm_button_add(wd->obj);
 +           elm_button_label_set(wd->ed->del_confirm, "Delete");
 +           evas_object_smart_member_add(wd->ed->del_confirm, wd->pan_smart);
 +           edje_object_scale_set( wd->ed->del_confirm, elm_widget_scale_get(wd->ed->del_confirm) *
 +                 _elm_config->scale);
 +           evas_object_smart_callback_add(wd->ed->del_confirm, "clicked", _delete_confirm_cb, wd );
 +        }
 +     }
 +
 +   realized_list = elm_genlist_realized_items_get(obj);
 +   EINA_INLIST_FOREACH(wd->blocks, itb)
 +     {
 +      EINA_LIST_FOREACH(itb->items, l, it)
 +        {
 +           it->delete_check = 0;
 +           it->del_confirm_state = 0;
 +           _item_unselect(it);
 +           _edit_controls_eval(it);
 +        }
 +     }
 +
 +   if (wd->edit_mode & ELM_GENLIST_EDIT_MODE_SELECTALL)
 +     {
 +      itc.item_style = "select_all";
 +      itc.func.label_get = NULL;
 +      itc.func.icon_get = NULL;
 +      itc.func.del = NULL;
 +      itc.func.editmode_get = NULL;
 +
 +      wd->select_all_item = _item_new(wd, &itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
 +
 +      if (!wd) return NULL;
 +      if (!wd->select_all_item) return NULL;
 +
 +      _item_realize(wd->select_all_item, 0, 0);
 +      edje_object_signal_callback_add(wd->select_all_item->base, "elm,action,select,press", "elm", _select_all_down, wd->select_all_item);
 +
 +      wd->select_all_item->rel = NULL;
 +      wd->select_all_item->selected = 0;
 +      wd->select_all_item->before = 1;
 +      wd->select_all_item->block = NULL;
 +
 +     }
 +   else
 +     {
 +      if (wd->select_all_item)
 +        {
 +           if (wd->select_all_item->realized) _item_unrealize(wd->select_all_item);
 +           free(wd->select_all_item);
 +        }
 +      wd->select_all_item = NULL;
 +
 +     }
 +   edje_object_signal_emit(wd->scr, "elm,state,edit,animated,enable", "elm");
 +
 +   if (wd->calc_job) ecore_job_del(wd->calc_job);
 +   wd->calc_job = ecore_job_add(_calc_job, wd);
 +}
 +
 +/**
 + * Get expanded depth. 
 + *
 + * @param it The genlist item object
 + *
 + * @ingroup Genlist
 + */
 +EAPI int
 +elm_genlist_item_expanded_depth_get(Elm_Genlist_Item *it)
 +{
 +   if (!it) return;
 +
 +   return it->depth;
 +}
 +
 +
 +/**
 + * Delete selected items in genlist edit mode.
 + *
 + * @param obj The genlist object
 + *
 + * @ingroup Genlist
 + */
 +EAPI void
 +elm_genlist_edit_selected_items_del(Evas_Object *obj)
 +{
 +   Elm_Genlist_Item *it;
 +   Eina_List *l, *realized_list;
 +   Item_Block *itb;
 +
 +   ELM_CHECK_WIDTYPE(obj, widtype);
 +   Widget_Data *wd = elm_widget_data_get(obj);
 +   if (!wd) return;
 +
 +   EINA_INLIST_FOREACH(wd->blocks, itb)
 +     {
 +      if (itb->realized)
 +        {
 +           EINA_LIST_FOREACH(itb->items, l, it)
 +             {
 +                if (it->delete_check)
 +                  elm_genlist_item_del( it );
 +             }
 +        }
 +     }
 +   if (wd->calc_job) ecore_job_del(wd->calc_job);
 +   wd->calc_job = ecore_job_add(_calc_job, wd);       
 +}
 +
 +EAPI void
 +elm_genlist_selected_items_del(Evas_Object *obj)
 +{
 +   fprintf(stderr, "=================> Caution!!! <========================\n");
 +   fprintf(stderr, "==> elm_genlist_selected_items_del() is deprecated. <=======\n");
 +   fprintf(stderr, "==> Please use elm_genlist_edit_selected_items_del() instead. <==\n");
 +   fprintf(stderr, "=======================================================\n");
 +   elm_genlist_edit_selected_items_del(obj);
 +}
 +
 +/**
 + * Get a list of selected items in genlist
 + *
 + * This returns a list of the selected items in the genlist. The list
 + * contains Elm_Genlist_Item pointers. The list must be freed by the
 + * caller when done with eina_list_free(). The item pointers in the list
 + * are only vallid so long as those items are not deleted or the genlist is
 + * not deleted.
 + *
 + * @param obj The genlist object
 + * @return The list of selected items, nor NULL if none are selected.
 + *
 + * @ingroup Genlist
 + */
 +EAPI Eina_List *
 +elm_genlist_edit_selected_items_get(const Evas_Object *obj)
 +{
 +   ELM_CHECK_WIDTYPE(obj, widtype) NULL;
 +   Widget_Data *wd = elm_widget_data_get(obj);
 +   Eina_List *list = NULL;
 +   Item_Block *itb;
 +   Eina_Bool done = EINA_FALSE;
 +   if (!wd) return NULL;
 +   EINA_INLIST_FOREACH(wd->blocks, itb)
 +     {
 +      if (itb->realized)
 +        {
 +           Eina_List *l;
 +           Elm_Genlist_Item *it;
 +
 +           done = 1;
 +           EINA_LIST_FOREACH(itb->items, l, it)
 +             {
 +                if (it->delete_check) list = eina_list_append(list, it);
 +             }
 +        }
 +      else
 +        {
 +           if (done) break;
 +        }
 +     }
 +   return list;
 +}
 +
 +/**
 + * Set a given item's rename mode
 + *
 + * This renames the item's label from genlist 
 + *
 + * @param it The item
 + * @param emode set if emode is EINA_TRUE, unset if emode is EINA_FALSE
 + *
 + * @ingroup Genlist
 + */
 +EAPI void
 +elm_genlist_item_rename_mode_set(Elm_Genlist_Item *it, int emode)
 +{
 +   if (!it) return;
 +
 +   const Eina_List *l, *list, *l2;
 +   const char *label, *rename_swallow_part, *s;
 +   Eina_Bool done = EINA_FALSE;
 +   int label_cnt = 0 , swallow_part_cnt = 0;
 +
 +   Item_Block *itb;
 +   Evas_Object *editfield;
 +   Evas_Object *entry;
 +   int edit_field_cnt = 0;
 +
 +   if (it->wd->edit_mode == ELM_GENLIST_EDIT_MODE_NONE)
 +     {
 +      it->wd->edit_mode = 0xF0;
 +      _edit_controls_eval(it);
 +     }
 +
 +   EINA_INLIST_FOREACH(it->wd->blocks, itb)
 +     {
 +      if (itb->realized)
 +        {
 +           Eina_List *l;
 +           Elm_Genlist_Item *it;
 +
 +           done = EINA_TRUE;
 +           EINA_LIST_FOREACH(itb->items, l, it)
 +             {
 +                if (it->renamed)
 +                  {
 +                     it->renamed = EINA_FALSE;
 +
 +
 +                     EINA_LIST_FOREACH(it->wd->edit_field, l2, editfield)
 +                       {
 +                          entry = elm_editfield_entry_get(editfield);
 +                          char *text = elm_entry_entry_get(entry);
 +
 +                          if (it->itc->func.label_changed)
 +                            it->itc->func.label_changed( it->data, it, text, edit_field_cnt++);
 +                       }
 +                     Ecore_IMF_Context *imf = elm_entry_imf_context_get(entry);
 +                     ecore_imf_context_input_panel_hide(imf);
 +
 +                     Evas_Object *editfield;
 +                     EINA_LIST_FREE(it->wd->edit_field, editfield)
 +                        evas_object_del(editfield);
 +
 +                     if (it->wd->edit_mode)
 +                       {
 +                          if ((it->wd->edit_mode & ELM_GENLIST_EDIT_MODE_INSERT))
 +                            edje_object_signal_emit(it->edit_obj, "elm,state,ins,enable", "elm");
 +
 +                          if ((it->wd->edit_mode & ELM_GENLIST_EDIT_MODE_DELETE) || (it->wd->edit_mode & ELM_GENLIST_EDIT_MODE_SELECT))
 +                            edje_object_signal_emit(it->edit_obj, "elm,state,del,enable", "elm");
 +
 +                          if ((it->wd->edit_mode & ELM_GENLIST_EDIT_MODE_REORDER))
 +                            edje_object_signal_emit(it->edit_obj, "elm,state,rename,disable", "elm");                           
 +                       }
 +                     if (it->edit_obj)
 +                       {
 +                          evas_object_del(it->edit_obj);
 +                          it->edit_obj = NULL;
 +                       }
 +                  }
 +             }
 +        }
 +      else
 +        {
 +           if (done) break;
 +        }
 +     }
 +
 +   //         if (emode != ELM_GENLIST_RENAME_MODE_NONE) 
 +   if (emode != 0) 
 +     {
 +      it->renamed = EINA_TRUE;
 +
 +      it->labels = _elm_stringlist_get(edje_object_data_get(it->base, "labels"));
 +      EINA_LIST_FOREACH(it->labels, list, label)
 +        {
 +           edje_object_signal_emit(it->edit_obj, "elm,state,rename,enable", "elm");
 +           edje_object_signal_emit(it->edit_obj, "elm,state,ins,disable", "elm");
 +           edje_object_signal_emit(it->edit_obj, "elm,state,del,disable", "elm");
 +           edje_object_signal_emit(it->edit_obj, "elm,state,edit_end,disable", "elm");
 +
 +           if (it->itc->func.label_get)
 +             {
 +                it->renamed = EINA_TRUE;
 +                swallow_part_cnt = 0;
 +
 +                Eina_List *rename = _elm_stringlist_get(edje_object_data_get(it->edit_obj, "rename"));
 +                EINA_LIST_FOREACH(rename, l, rename_swallow_part)
 +                  {
 +                     if (label_cnt == swallow_part_cnt)
 +                       {
 +                          editfield = elm_editfield_add(it->wd->obj);
 +                          it->wd->edit_field = eina_list_append(it->wd->edit_field, editfield);
 +
 +
 +                          elm_editfield_entry_single_line_set(editfield, EINA_TRUE);  
 +                          elm_editfield_eraser_set(editfield, EINA_TRUE);
 +                          edje_object_part_swallow(it->edit_obj, rename_swallow_part, editfield);
 +
 +                          evas_object_show(editfield);
 +
 +                          s = it->itc->func.label_get(it->data, it->wd->obj, list->data);
 +
 +                          if (s)
 +                            {
 +                               Evas_Object *entry = elm_editfield_entry_get(editfield);
 +                               elm_entry_entry_set(entry,s);
 +
 +                               free(s);
 +                            }
 +                          else
 +                            elm_editfield_guide_text_set(editfield, "Text Input");
 +                       }
 +                     swallow_part_cnt++;
 +                  }
 +                label_cnt++;
 +             }
 +        }                     
 +     }
 +
 +   if (it->wd->edit_mode == 0xF0)
 +     {
 +      it->wd->edit_mode = 0;
 +     }
 +}
++
++/**
+  * Set the timeout in seconds for the longpress event
+  * 
+  * @param obj The genlist object
+  * @param timeout timeout in seconds
+  * 
+  * @ingroup Genlist
+  */
+ EAPI void
+ elm_genlist_longpress_timeout_set(const Evas_Object *obj, double timeout)
+ {
+    ELM_CHECK_WIDTYPE(obj, widtype);
+    Widget_Data *wd = elm_widget_data_get(obj);
+    if (!wd) return;
+    wd->longpress_timeout = timeout;
+ }
+ /**
+  * Get the timeout in seconds for the longpress event
+  * 
+  * @param obj The genlist object
+  * @return timeout in seconds
+  * 
+  * @ingroup Genlist
+  */
+ EAPI double
+ elm_genlist_longpress_timeout_get(const Evas_Object *obj)
+ {
+    ELM_CHECK_WIDTYPE(obj, widtype) 0;
+    Widget_Data *wd = elm_widget_data_get(obj);
+    if (!wd) return 0;
+    return wd->longpress_timeout;
++}
Simple merge
Simple merge
Simple merge
index 82d69d1,a8083da..4b9afec
mode 100755,100644..100755
@@@ -236,17 -196,14 +236,18 @@@ _index_box_auto_fill(Evas_Object *obj, 
          o = edje_object_add(evas_object_evas_get(obj));
          it->base = o;
          if (i & 0x1)
-           _elm_theme_object_set(obj, o, "index", "item_odd/vertical", "default");
+           _elm_theme_object_set(obj, o, "index", "item_odd/vertical", elm_widget_style_get(obj));
          else
-           _elm_theme_object_set(obj, o, "index", "item/vertical", "default");
++          //_elm_theme_object_set(obj, o, "index", "item/vertical", "default");
+           _elm_theme_object_set(obj, o, "index", "item/vertical", elm_widget_style_get(obj));
+         edje_object_part_text_set(o, "elm.text", it->letter);
          edje_object_size_min_restricted_calc(o, &mw, &mh, 0, 0);
 -        evas_object_size_hint_min_set(o, mw, mh);
          evas_object_size_hint_weight_set(o, 1.0, 1.0);
          evas_object_size_hint_align_set(o, -1.0, -1.0);
 +        edje_object_part_text_set(o, "elm.text", it->vis_letter);
 +        evas_object_resize(o, mw, it->size);
 +        evas_object_size_hint_min_set(o, mw, it->size);
 +        evas_object_size_hint_max_set(o, mw, it->size);
          elm_widget_sub_object_add(obj, o);
          evas_object_box_append(box, o);
          stacking = edje_object_data_get(o, "stacking");
Simple merge
index dde8f4f,fd41a28..bb190d4
mode 100755,100644..100755
  
  static Elm_Version _version = { VMAJ, VMIN, VMIC, VREV };
  EAPI Elm_Version *elm_version = &_version;
 +/**
 + * @defgroup Main Main
 + * @ingroup Elementary
 + *
 + * This group includes functions of elm_main.c
 + */
 +
  
+ Eina_Bool
+ _elm_dangerous_call_check(const char *call)
+ {
+    char buf[256];
+    const char *eval;
+    
+    snprintf(buf, sizeof(buf), "%i.%i.%i.%i", VMAJ, VMIN, VMIC, VREV);
+    eval = getenv("ELM_NO_FINGER_WAGGLING");
+    if ((eval) && (!strcmp(eval, buf)))
+      return 0;
+    printf("ELEMENTARY FINGER WAGGLE!!!!!!!!!!\n"
+           "\n"
+           "  %s() used.\n"
+           "PLEASE see the API documentation for this function. This call\n"
+           "should almost never be used. Only in very special cases.\n"
+           "\n"
+           "To remove this warning please set the environment variable:\n"
+           "  ELM_NO_FINGER_WAGGLING\n"
+           "To the value of the Elementary version + revision number. e.g.:\n"
+           "  1.2.5.40295\n"
+           "\n"
+           ,
+           call);
+    return 1;
+ }
  /**
   * @defgroup Start Getting Started
 + * @ingroup Main
   *
   * To write an Elementary app, you can get started with the following:
   *
Simple merge
Simple merge
Simple merge
@@@ -180,11 -235,10 +236,11 @@@ _timer_cb(void *data
  {
     Evas_Object *obj = data;
     Widget_Data *wd = elm_widget_data_get(obj);
-    if (!wd) return 0;
+    if (!wd) return ECORE_CALLBACK_CANCEL;
     wd->timer = NULL;
     evas_object_hide(obj);
-    return 0;
 +   evas_object_smart_callback_call(obj, "notify,timeout", NULL);
+    return ECORE_CALLBACK_CANCEL;
  }
  
  static void
@@@ -439,10 -512,21 +518,23 @@@ elm_notify_timeout_set(Evas_Object *obj
  }
  
  /**
-  * Re-initialize the timer
+  * Return the timeout value (in seconds)
+  * @param obj the notify object
+  */
+ EAPI int
+ elm_notify_timeout_get(const Evas_Object *obj)
+ {
+    ELM_CHECK_WIDTYPE(obj, widtype) -1;
+    Widget_Data *wd = elm_widget_data_get(obj);
+    if (!wd) return -1;
+    return wd->timeout;
+ }
+ /**
+  * Re-init the timer
   * @param obj The notify object
 + *
 + * @ingroup Notify
   */
  EAPI void
  elm_notify_timer_init(Evas_Object *obj)
index fc0c402,b04e533..473c795
mode 100644,100644..100755
@@@ -121,17 -122,14 +124,23 @@@ _eval_top(Evas_Object *obj
                  else if (!strcmp(onhide, "lower")) evas_object_lower(o);
               }
          }
-       if(animate)
-         edje_object_signal_emit(o, "elm,action,show", "elm");
 +      else
 +        {
 +           animate = EINA_FALSE;
 +        }
 +      wd->top = ittop;
 +      o = wd->top->base;
 +      evas_object_show(o);
 -      if (wd->oldtop && wd->oldtop->popme)
+       wd->oldtop = wd->top;
+       wd->top = ittop;
+       o = wd->top->base;
+       evas_object_show(o);
++      if (!animate)
++              edje_object_signal_emit(o, "elm,action,show,noanimate", "elm");
++      else if (wd->oldtop && wd->oldtop->popme)
+           edje_object_signal_emit(o, "elm,action,show", "elm");
        else
-         edje_object_signal_emit(o, "elm,action,show,noanimate", "elm");
+           edje_object_signal_emit(o, "elm,action,push", "elm");
        onshow = edje_object_data_get(o, "onshow");
        if (onshow)
          {
Simple merge
Simple merge
Simple merge
@@@ -203,9 -207,11 +211,11 @@@ void              _elm_config_init(void
  void              _elm_config_sub_init(void);
  void              _elm_config_shutdown(void);
  
- Eina_Bool     elm_selection_set(enum _elm_sel_type selection, Evas_Object *widget, enum _elm_sel_format format, const char *buf);
- Eina_Bool     elm_selection_clear(enum _elm_sel_type selection, Evas_Object *widget);
- Eina_Bool     elm_selection_get(enum _elm_sel_type selection, enum _elm_sel_format format, Evas_Object *widget);
 -Eina_Bool       elm_selection_set(enum _elm_sel_type selection, Evas_Object *widget, enum _elm_sel_format format, const char *buf);
++Eina_Bool       elm_selection_set(enum _elm_sel_type selection, Evas_Object *widget, enum _elm_sel_format format, const char *selbuf);
+ Eina_Bool       elm_selection_clear(enum _elm_sel_type selection, Evas_Object *widget);
+ Eina_Bool       elm_selection_get(enum _elm_sel_type selection, enum _elm_sel_format format, Evas_Object *widget);
+ Eina_Bool         _elm_dangerous_call_check(const char *call);
  
  void              _elm_widtype_register(const char **ptr);
  
Simple merge
Simple merge
index e2ec6a3,b9c86aa..1e476a8
mode 100755,100644..100755
@@@ -98,9 -96,18 +97,18 @@@ _theme_hook(Evas_Object *obj
  }
  
  static void
+ _signal_emit_hook(Evas_Object *obj, const char *emission, const char *source)
+ {
+    Widget_Data *wd = elm_widget_data_get(obj);
+    if (!wd) return;
+    edje_object_signal_emit(elm_smart_scroller_edje_object_get(wd->scr),
+        emission, source);
+ }
+ static void
  _show_region_hook(void *data, Evas_Object *obj)
  {
 -   
 +
     Widget_Data *wd = elm_widget_data_get(data);
     Evas_Coord x, y, w, h;
     if (!wd) return;
@@@ -366,12 -376,37 +377,37 @@@ elm_scroller_content_set(Evas_Object *o
       {
        elm_widget_on_show_region_hook_set(content, _show_region_hook, obj);
        elm_widget_sub_object_add(obj, content);
 -        if (wd->scr)
 -          elm_smart_scroller_child_set(wd->scr, content);
 +    if (wd->scr)
 +        elm_smart_scroller_child_set(wd->scr, content);
        evas_object_event_callback_add(content, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
                                       _changed_size_hints, obj);
-       _sizing_eval(obj);
       }
+    _sizing_eval(obj);
+ }
+ /**
+  * Unset the content of the scroller widget
+  *
+  * Unparent and return the content object which was set for this widget
+  *
+  * @param obj The slider objecet
+  * @return The content that was being used
+  *
+  * @ingroup Scroller
+  */
+ EAPI Evas_Object *
+ elm_scroller_content_unset(Evas_Object *obj)
+ {
+    ELM_CHECK_WIDTYPE(obj, widtype) NULL;
+    Widget_Data *wd = elm_widget_data_get(obj);
+    Evas_Object *content;
+    if (!wd) return NULL;
+    if (!wd->content) return NULL;
+    content = wd->content;
+    elm_widget_sub_object_del(obj, wd->content);
+    edje_object_part_unswallow(wd->scr, wd->content);
+    wd->content = NULL;
+    return content;
  }
  
  /**
@@@ -186,21 -158,14 +186,22 @@@ _sub_del(void *data __UNUSED__, Evas_Ob
       {
        edje_object_signal_emit(wd->slider, "elm,state,icon,hidden", "elm");
        evas_object_event_callback_del_full
 -        (sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints, obj);
 +         (sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints, obj);
        wd->icon = NULL;
+       edje_object_message_signal_process(wd->slider);
        _sizing_eval(obj);
       }
 +   if (sub == wd->e_icon)
 +     {
 +      edje_object_signal_emit(wd->slider, "elm,state,eicon,hidden", "elm");
 +      evas_object_event_callback_del_full
 +         (sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints, obj);
 +      wd->e_icon = NULL;
 +      _sizing_eval(obj);
 +     }
  }
  
- static int
+ static Eina_Bool
  _delay_change(void *data)
  {
     Widget_Data *wd = elm_widget_data_get(data);
Simple merge
Simple merge
@@@ -434,6 -433,6 +434,7 @@@ elm_theme_set(Elm_Theme *th, const cha
  EAPI const char *
  elm_theme_get(Elm_Theme *th)
  {
++   if (!th) th = &(theme_default);
     if (!th->theme)
       {
          Eina_List *l;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 28df3de,881aa05..d467026
mode 100755,100644..100755
@@@ -1690,11 -1629,12 +1690,11 @@@ _smart_onhold_animator(void *data
                    sd->down.onhold_vye -= (int)sd->down.onhold_vye;
                 }
            }
 -        
 +
          elm_smart_scroller_child_pos_set(sd->smart_obj, x, y);
 -//        printf("scroll %i %i\n", sd->down.hold_x, sd->down.hold_y);
       }
     sd->down.onhold_tlast = t;
-    return 1;
+    return ECORE_CALLBACK_RENEW;
  }
  
  static Eina_Bool
index 3e42fc5,0000000..ebe63c6
mode 100755,000000..100755
--- /dev/null
@@@ -1,31 -1,0 +1,32 @@@
- @ELEMENTARY_EFREET_CFLAGS@
 +
 +MAINTAINERCLEANFILES = Makefile.in
 +
 +AM_CPPFLAGS = \
 +-I. \
 +-I$(top_builddir) \
 +-I$(top_srcdir) \
 +-I$(top_srcdir)/src/lib \
 +-I$(top_builddir)/src/lib \
 +-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
 +-DPACKAGE_LIB_DIR=\"$(libdir)\" \
 +@ELEMENTARY_CFLAGS@ \
 +@ELEMENTARY_X_CFLAGS@ \
 +@ELEMENTARY_FB_CFLAGS@ \
 +@ELEMENTARY_WIN32_CFLAGS@ \
 +@ELEMENTARY_WINCE_CFLAGS@ \
 +@ELEMENTARY_EDBUS_CFLAGS@ \
++@ELEMENTARY_EFREET_CFLAGS@ \
++@ELEMENTARY_ETHUMB_CFLAGS@
 +
 +if ELEMENTARY_WINDOWS_BUILD
 +AM_CPPFLAGS += -DELEMENTARY_BUILD
 +endif
 +
 +pkgdir = $(libdir)/elementary/modules/ctxpopup_copypasteUI/$(MODULE_ARCH)
 +pkg_LTLIBRARIES = module.la
 +
 +module_la_SOURCES = copypaste.c
 +
 +module_la_LIBADD = $(top_builddir)/src/lib/libelementary.la
 +module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 +module_la_LIBTOOLFLAGS = --tag=disable-static
index be5afef,0000000..21900e6
mode 100755,000000..100755
--- /dev/null
@@@ -1,31 -1,0 +1,32 @@@
- @ELEMENTARY_EFREET_CFLAGS@
 +
 +MAINTAINERCLEANFILES = Makefile.in
 +
 +AM_CPPFLAGS = \
 +-I. \
 +-I$(top_builddir) \
 +-I$(top_srcdir) \
 +-I$(top_srcdir)/src/lib \
 +-I$(top_builddir)/src/lib \
 +-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
 +-DPACKAGE_LIB_DIR=\"$(libdir)\" \
 +@ELEMENTARY_CFLAGS@ \
 +@ELEMENTARY_X_CFLAGS@ \
 +@ELEMENTARY_FB_CFLAGS@ \
 +@ELEMENTARY_WIN32_CFLAGS@ \
 +@ELEMENTARY_WINCE_CFLAGS@ \
 +@ELEMENTARY_EDBUS_CFLAGS@ \
++@ELEMENTARY_EFREET_CFLAGS@ \
++@ELEMENTARY_ETHUMB_CFLAGS@
 +
 +if ELEMENTARY_WINDOWS_BUILD
 +AM_CPPFLAGS += -DELEMENTARY_BUILD
 +endif
 +
 +pkgdir = $(libdir)/elementary/modules/popup_copypasteUI/$(MODULE_ARCH)
 +pkg_LTLIBRARIES = module.la
 +
 +module_la_SOURCES = copypaste.c
 +
 +module_la_LIBADD = $(top_builddir)/src/lib/libelementary.la
 +module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 +module_la_LIBTOOLFLAGS = --tag=disable-static