##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
- m4_define([v_maj], [0])
- m4_define([v_min], [9])
- m4_define([v_mic], [9])
- #m4_define([v_rev], [060])
+ m4_define([v_maj], [1])
+ m4_define([v_min], [0])
+ m4_define([v_mic], [0])
-m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v export || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
+m4_define([v_rev], m4_esyscmd([(cat ./debian/SVN_REV | grep 'Last Changed Rev' || echo 0) | awk '{printf("%s\n", $4);}' | tr -d ' :MSP\n']))
- #m4_define([v_rev], m4_esyscmd([(svnversion . | grep -v exported || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
++#m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v export || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
##-- When released, remove the dnl on the below line
- dnl m4_undefine([v_rev])
+ m4_undefine([v_rev])
##-- When doing snapshots - change soname. remove dnl on below line
- m4_define([relname], [ver-pre-svn-06])
- m4_define([v_rel], [-release relname])
+ dnl m4_define([relname], [ver-pre-svn-07])
+ dnl m4_define([v_rel], [-release relname])
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
- m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])],
- [m4_define([v_ver], [v_maj.v_min.v_mic])])
+ m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [m4_define([v_ver], [v_maj.v_min.v_mic])])
m4_define([lt_rev], m4_eval(v_maj + v_min))
m4_define([lt_cur], v_mic)
m4_define([lt_age], v_min)
--- /dev/null
++edje (1.0.0.001+svn.51480slp2+build02) unstable; urgency=low
++
++ * add lua dependency
++
++ -- Jaehwan Kim <jae.hwan.kim@samsung.com> Fri, 10 Sep 2010 21:36:55 +0900
++
++edje (1.0.0.001+svn.51480slp2+build01) unstable; urgency=low
++
++ * efl 1.0 alpha upgrade
++ * Git: 165.213.180.234:/git/slp/pkgs/edje
++ * Tag: edje_1.0.0.001+svn.51480slp2+build01
++
++ -- Jaehwan Kim <jae.hwan.kim@samsung.com> Tue, 31 Aug 2010 22:48:41 +0900
++
+edje (0.9.92.060+svn.49543slp2+3build15) unstable; urgency=low
+
+ * Show preedit area.
+ * Git: 165.213.180.234:/git/slp/pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+3build15
+
+ -- Jihoon Kim <jihoon48.kim@samsung.com> Mon, 30 Aug 2010 10:36:54 +0900
+
+edje (0.9.92.060+svn.49543slp2+3build14) unstable; urgency=low
+
+ * Bug fix : ecore_timer_del problem.
+ * Git: 165.213.180.234:/git/slp/pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+3build14
+
+ -- Jihoon Kim <jihoon48.kim@samsung.com> Wed, 25 Aug 2010 09:30:26 +0900
+
+edje (0.9.92.060+svn.49543slp2+3build13) unstable; urgency=low
+
+ * Remove selection area when character is inserted.
+ * Git: 165.213.180.234:/git/slp/pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+3build13
+
+ -- Jihoon Kim <jihoon48.kim@samsung.com> Wed, 11 Aug 2010 20:11:06 +0900
+
+edje (0.9.92.060+svn.49543slp2+3build12) unstable; urgency=low
+
+ * Entry crash issue is solved.
+ * Git: 165.213.180.234:/git/slp/pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+3build12
+
+ -- Juyung Seo <juyung.seo@samsung.com> Wed, 21 Jul 2010 14:25:59 +0900
+
+edje (0.9.92.060+svn.49543slp2+3build11) unstable; urgency=low
+
+ * Add edje_object_part_text_input_panel_enabled_get
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+3build11
+
+ -- Jihoon Kim <jihoon48.kim@samsung.com> Fri, 09 Jul 2010 19:57:42 +0900
+
+edje (0.9.92.060+svn.49543slp2+3build10) unstable; urgency=low
+
+ * Bug fix related to timer issue
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+3build10
+
+ -- Jihoon Kim <jihoon48.kim@samsung.com> Fri, 09 Jul 2010 16:00:30 +0900
+
+edje (0.9.92.060+svn.49543slp2+3build09) unstable; urgency=low
+
+ * Add APIs related to input panel
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+3build09
+
+ -- Jihoon Kim <jihoon48.kim@samsung.com> Thu, 08 Jul 2010 17:36:04 +0900
+
+edje (0.9.92.060+svn.49543slp2+3build08) unstable; urgency=low
+
+ * Packaging.
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+3build08
+
+ -- ChunEon Park <chuneon.park@samsung.com> Wed, 07 Jul 2010 16:47:28 +0900
+
+edje (0.9.92.060+svn.49543slp2+3build07) unstable; urgency=low
+
+ * add lua dependency
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+3build07
+
+ -- Jaehwan Kim <jae.hwan.kim@samsung.com> Fri, 18 Jun 2010 09:24:30 +0900
+
+edje (0.9.92.060+svn.49543slp2+3build06) unstable; urgency=low
+
+ * Changed Lua package as a dependent package.
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+3build06
+
+ -- Daniel Juyung Seo <juyung.seo@samsung.com> Thu, 17 Jun 2010 18:06:18 +0900
+
+edje (0.9.92.060+svn.49543slp2+3build05) unstable; urgency=low
+
+ * Package version changes.
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+3build05
+
+ -- Daniel Juyung Seo <juyung.seo@samsung.com> Fri, 11 Jun 2010 18:54:09 +0900
+
+edje (0.9.92.060+svn.49543slp2+3build04) unstable; urgency=low
+
+ * Packaging.
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+3build04
+
+ -- Daniel Juyung Seo <juyung.seo@samsung.com> Thu, 10 Jun 2010 21:09:28 +0900
+
+edje (0.9.92.060+svn.49543slp2+3build03) unstable; urgency=low
+
+ * Packaging.
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+3build03
+
+ -- Daniel Juyung Seo <juyung.seo@samsung.com> Thu, 10 Jun 2010 21:04:12 +0900
+
+edje (0.9.92.060+svn.49543slp2+3build02) unstable; urgency=low
+
+ * Packaging.
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+3build02
+
+ -- Daniel Juyung Seo <juyung.seo@samsung.com> 목, 10 6월 2010 21:00:51 +0900
+
+edje (0.9.92.060+svn.49543slp2+3) unstable; urgency=low
+
+ * Packaging.
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+3
+
+ -- Daniel Juyung Seo <juyung.seo@samsung.com> Thu, 10 Jun 2010 20:46:54 +0900
+
+edje (0.9.92.060+svn.49543slp2+2) unstable; urgency=low
+
+ * Packaging.
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+2
+
+ -- Daniel Juyung Seo <juyung.seo@samsung.net> Thu, 10 Jun 2010 20:46:08 +0900
+
+edje (0.9.92.060+svn.49543slp2+1) unstable; urgency=low
+
+ * Packaging.
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL-pkgs/edje
+ * Tag: edje_0.9.92.060+svn.49543slp2+1
+
+ -- Daniel Juyung Seo <juyung.seo@smasung.net> Thu, 10 Jun 2010 20:45:22 +0900
+
+edje (0.9.92.060+svn.49543slp2+0) unstable; urgency=low
+
+ * Update opensource EFL from SVN
+ * SVN revision: 49543 (Total EFL revision: 49550)
+ * Tag: 0.9.92.060+svn.49543slp2+0
+
+ -- Daniel Juyung Seo <juyung.seo@smasung.net> Thu, 10 Jun 2010 15:50:38 +0900
+
+edje (0.9.92.060+svn20100304slp2+7) unstable; urgency=low
+
+ * Repackage due to tag
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
+ * Tag: edje_0.9.92.060+svn20100304slp2+7
+
+ -- Myungjae Lee <mjae.lee@samsung.com> Thu, 16 Apr 2010 11:33:00 +0900
+
+edje (0.9.92.060+svn20100304slp2+6) unstable; urgency=low
+
+ * Repackage due to tag
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
+ * Tag: edje_0.9.92.060+svn20100304slp2+6
+
+ -- Myungjae Lee <mjae.lee@samsung.com> Thu, 15 Apr 2010 20:15:00 +0900
+
+edje (0.9.92.060+svn20100304slp2+5) unstable; urgency=low
+
+ * Bug fix - entry cursor problem
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
+ * Tag: edje_0.9.92.060+svn20100304slp2+5
+
+ -- Myungjae Lee <mjae.lee@samsung.com> Thu, 15 Apr 2010 19:55:00 +0900
+
+edje (0.9.92.060+svn20100304slp2+4) unstable; urgency=low
+
+ * Support autocapitalization
+ * Git: 165.213.180.234:/git/slp2.0/slp2.0-pkgs/EFL
+ * Tag: edje_0.9.92.060+svn20100304slp2+4
+
+ -- Jihoon Kim <jihoon48.kim@samsung.com> Wed, 14 Apr 2010 17:44:46 +0900
+
+edje (0.9.92.060+svn20100304slp2+3) unstable; urgency=low
+
+ * rollback - edje_entry - remove <br> related bug fix
+
+ -- Myungjae Lee <mjae.lee@samsung.com> Sat, 27 Mar 2010 18:32:00 +0900
+
+edje (0.9.92.060+svn20100304slp2+2) unstable; urgency=low
+
+ * rollback - edje_entry - remove cursor movement bug fix
+
+ -- Myungjae Lee <mjae.lee@samsung.com> Fri, 26 Mar 2010 22:52:00 +0900
+
+edje (0.9.92.060+svn20100304slp2+1) unstable; urgency=low
+
+ * bug fixed - edje_entry - cursor movement
+
+ -- Myungjae Lee <mjae.lee@samsung.com> Fri, 26 Mar 2010 08:26:00 +0900
+
+edje (0.9.92.060+svn20100304slp2) unstable; urgency=low
+
+ * change package version
+
+ -- Jaehwan Kim <jae.hwan.kim@samsung.com> Thu, 25 Mar 2010 15:50:05 +0900
+
+edje (0.9.92.060+svn20100304-1) unstable; urgency=low
+
+ * EFL_update_revision_46864
+
+ -- Jaehwan Kim <jae.hwan.kim@samsung.com> Wed, 10 Mar 2010 16:06:37 +0900
+
+edje (0.9.92.060+svn20100203-6) unstable; urgency=low
+
+ * bug fixed - edje_entry - CANVAS focus in/out
+
+ -- wonguk Jeong <wonguk.jeong@samsung.com> Fri, 19 Feb 2010 17:19:37 +0900
+
+edje (0.9.92.060+svn20100203-5) unstable; urgency=low
+
+ * repack
+
+ -- sangho park <sangho.g.park@samsung.com> Mon, 08 Feb 2010 22:27:44 +0900
+
+edje (0.9.92.060+svn20100203-4) unstable; urgency=low
+
+ * add broken dependency in libedje-bin
+
+ -- Wonguk Jeong <wonguk.jeong@samsung.com> Mon, 08 Feb 2010 20:12:29 +0900
+
+edje (0.9.92.060+svn20100203-3) unstable; urgency=low
+
+ * edje_entry patch for supporting to switch window
+
+ -- Jihoon Kim <jihoon48.kim@samsung.com> Mon, 08 Feb 2010 13:37:37 +0900
+
+edje (0.9.92.060+svn20100203-2) unstable; urgency=low
+
+ * repack
+
+ -- Jaehwan Kim <jae.hwan.kim@samsung.com> Thu, 04 Feb 2010 20:29:57 +0900
+
+edje (0.9.92.060+svn20100203-1) unstable; urgency=low
+
+ * EFL_update_revision_45828
+
+ -- Jaehwan Kim <jae.hwan.kim@samsung.com> Wed, 03 Feb 2010 16:39:22 +0900
+
+edje (0.9.92.060+svn20100119-1) unstable; urgency=low
+
+ * EFL_update_revision_45322
+
+ -- Jihoon Kim <jihoon48.kim@samsung.com> Tue, 19 Jan 2010 20:44:49 +0900
+
+edje (0.9.92.060+svn20100111-5) unstable; urgency=low
+
+ * change control
+
+ -- Jaehwan Kim <jae.hwan.kim@samsung.com> Tue, 12 Jan 2010 19:10:39 +0900
+
+edje (0.9.92.060+svn20100111-4) unstable; urgency=low
+
+ * reupload EFL i686
+
+ -- Jaehwan Kim <jae.hwan.kim@samsung.com> Tue, 12 Jan 2010 17:35:40 +0900
+
+edje (0.9.92.060+svn20100111-3) unstable; urgency=low
+
+ * remove mpfr gmp
+
+ -- Jaehwan Kim <jae.hwan.kim@samsung.com> Tue, 12 Jan 2010 00:22:19 +0900
+
+edje (0.9.92.060+svn20100111-2) unstable; urgency=low
+
+ * reupload EFL
+
+ -- Jaehwan Kim <jae.hwan.kim@samsung.com> Mon, 11 Jan 2010 22:17:03 +0900
+
+edje (0.9.92.060+svn20100111-1) unstable; urgency=low
+
+ * update EFL revision 45026
+
+ -- Jongwoo Chae <jongwoo.chae@samsung.com> Mon, 11 Jan 2010 13:28:06 +0900
+
+edje (0.9.92.060+svn20091229-4) unstable; urgency=low
+
+ * To build i386... No source code changed.
+
+ -- Jongwoo Chae <jongwoo.chae@samsung.com> Thu, 07 Jan 2010 22:03:40 +0900
+
+edje (0.9.92.060+svn20091229-3) unstable; urgency=low
+
+ * add build dep (lua)
+
+ -- Jaehwan Kim <jae.hwan.kim@samsung.com> Wed, 30 Dec 2009 19:43:16 +0900
+
+edje (0.9.92.060+svn20091229-2) unstable; urgency=low
+
+ * add depends (lua)
+
+ -- Jaehwan Kim <jae.hwan.kim@samsung.com> Wed, 30 Dec 2009 15:48:41 +0900
+
+edje (0.9.92.060+svn20091229-1) unstable; urgency=low
+
+ * update EFL
+
+ -- Jaehwan Kim <jae.hwan.kim@samsung.com> Tue, 29 Dec 2009 14:27:05 +0900
+
+edje (0.9.92.060+svn20091112-4) unstable; urgency=low
+
+ * modify architecture value from all to any
+
+ -- Youmin Ha <youmin.ha@samsung.com> Fri, 27 Nov 2009 15:37:25 +0900
+
+edje (0.9.92.060+svn20091112-3) unstable; urgency=low
+
+ * add dependency to lua for edje-bin
+
+ -- Youmin Ha <youmin.ha@samsung.com> Tue, 24 Nov 2009 15:20:12 +0900
+
+edje (0.9.92.060+svn20091112-2) unstable; urgency=low
+
+ * svn stable version
+
+ -- Sangho Park <sangho.g.park@samsung.com> Thu, 19 Nov 2009 19:05:31 +0900
+
+edje (0.9.92.060+svn20091112-1) unstable; urgency=low
+
+ * Updated version
+
+ -- Sangho Park <sangho.g.park@samsung.com> Fri, 13 Nov 2009 09:01:11 +0900
+
+edje (0.9.92.060+svnYYYYMMDD-1) unstable; urgency=low
+
+ * Updated version
+
+ -- quaker <quaker66@gmail.com> Thu, 22 Apr 2009 18:18:23 +0100
+
+edje (0.9.9.050+svnYYYYMMDD-1) unstable; urgency=low
+
+ * Clean up changelog
+
+ -- quaker <quaker66@gmail.com> Tue, 21 Apr 2009 19:15:44 +0100
--- /dev/null
- doxygen, pkg-config, libtool
+Source: edje
+Section: libs
+Priority: optional
+Maintainer: Jaehwan Kim <jae.hwan.kim@samsung.com>, Jihoon Kim <jihoon48.kim@samsung.com>, Myungjae Lee <mjae.lee@samsung.com>, Juyung Seo <juyung.seo@samsung.com>
+Original-Maintainer: Debian Pkg-e Team <pkg-e-devel@lists.alioth.debian.org>
+Uploaders: Albin Tonnerre <albin.tonnerre@gmail.com>,
+ Xavier Oswald <x.oswald@free.fr>, Jan Lübbe <jluebbe@debian.org>
+Build-Depends: debhelper (>= 6), cdbs, libeet-dev, libevas-dev ,
+ libecore-dev (>= 0.9.9.060+svn20100304), libembryo-dev, libeina-dev (>= 0.0.2.060+svn20100304), liblua5.1-0-dev,
- Depends: ${misc:Depends}, ${shlibs:Depends}, libembryo-bin (>= 0.9.9.060+svn20100304), libevas-engines, libmpfr-0 [i386], libgmp-0 [i386], libecore-file-svn-01, libecore-con-svn-01, libevas-svn-01, libecore-imf-svn-01, libecore-evas-svn-01, libecore-svn-01, libfontconfig1, libeina-svn-04, libxcb1
++ doxygen, pkg-config, libtool, lua
+Standards-Version: 3.8.1
+Homepage: http://enlightenment.org
+
+Package: libedje-bin
+Architecture: any
+Section: devel
- Package: libedje-svn-01
++Depends: ${misc:Depends}, ${shlibs:Depends}, libembryo-bin (>= 0.9.9.060+svn20100304), libevas-engines, libmpfr-0 [i386], libgmp-0 [i386], libecore-file, libecore-con, libevas, libecore-imf, libecore-evas, libecore, libfontconfig1, libeina, libxcb1
+Description: Various binaries for use with libedje
+ Edje is a graphical layout and animation library for animated resizable,
+ compressed and scalable themes. It is the theming engine behind
+ Enlightenment DR 0.17.
+ .
+ This package contains the following binaries:
+ - edje_cc: Compiles EDC files.
+ - edje_decc: Used to decompile compiled edje files.
+ - edje_recc: A convenience script to recompile EDC files.
+
- Depends: ${misc:Depends}, libedje-svn-01 (= ${binary:Version}), libeet-dev, libembryo-dev, libevas-dev (>= 0.9.9.060+svn20100304), libecore-dev (>= 0.9.9.060+svn20100304), libeina-dev (>= 0.0.2.060+svn20100304), pkg-config, libedje-bin, liblua5.1-0-dev
++Package: libedje
+Architecture: any
+Depends: ${misc:Depends}, ${shlibs:Depends}, liblua5.1-0, libmpfr-0 [i386], libgmp-0 [i386]
+Suggests: libedje-bin (= ${binary:Version})
+Description: Graphical layout and animation library
+ Edje is a graphical layout and animation library for animated resizable,
+ compressed and scalable themes. It is the theming engine behind
+ Enlightenment DR 0.17.
+
+Package: libedje-doc
+Architecture: any
+Section: doc
+Depends: ${misc:Depends}
+Enhances: libedje-dev
+Description: libedje0 development documentation
+ Edje is a graphical layout and animation library for animated resizable,
+ compressed and scalable themes. It is the theming engine behind
+ Enlightenment DR 0.17.
+ .
+ This package provides development documentation for Edje.
+
+Package: libedje-dev
+Architecture: any
+Section: libdevel
- Depends: ${misc:Depends}, libedje-svn-01 (= ${binary:Version})
++Depends: ${misc:Depends}, libedje (= ${binary:Version}), libeet-dev, libembryo-dev, libevas-dev (>= 0.9.9.060+svn20100304), libecore-dev (>= 0.9.9.060+svn20100304), libeina-dev (>= 0.0.2.060+svn20100304), pkg-config, libedje-bin, liblua5.1-0-dev, lua
+Description: libedje headers and static libraries
+ Edje is a graphical layout and animation library for animated resizable,
+ compressed and scalable themes. It is the theming engine behind
+ Enlightenment DR 0.17.
+ .
+ This package provides headers and static libraries for Edje.
+
+Package: libedje-dbg
+Architecture: any
+Section: debug
+Priority: extra
++Depends: ${misc:Depends}, libedje (= ${binary:Version})
+Description: Debugging symbols for libedje
+ Edje is a graphical layout and animation library for animated resizable,
+ compressed and scalable themes. It is the theming engine behind
+ Enlightenment DR 0.17.
+ .
+ This package contains unstripped shared libraries. It is provided primarily
+ to provide a backtrace with names in a debugger, this makes it somewhat
+ easier to interpret core dumps. The libraries are installed in
+ /usr/lib/debug and are automatically used by gdb.
--- /dev/null
--- /dev/null
++debian/tmp/usr/lib/libedje.so.*
--- /dev/null
--- /dev/null
++libedje 1 libedje (>= 0.9.9.060+svn20100304)
_edje_edd_edje_part =
eet_data_descriptor_file_new(&eddc);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "name", name, EET_T_STRING);
+ EET_DATA_DESCRIPTOR_ADD_VARIANT(_edje_edd_edje_part, Edje_Part, "default_desc", default_desc, type, _edje_edd_edje_part_description_variant);
+ EET_DATA_DESCRIPTOR_ADD_VARIANT(_edje_edd_edje_part, Edje_Part, "other", other, type, _edje_edd_edje_part_description_variant_list);
+ EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source", source, EET_T_STRING);
+ EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source2", source2, EET_T_STRING);
+ EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source3", source3, EET_T_STRING);
+ EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source4", source4, EET_T_STRING);
+ EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source5", source5, EET_T_STRING);
+ EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source6", source6, EET_T_STRING);
++ EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "source7", source7, EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "id", id, EET_T_INT);
- EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "type", type, EET_T_UCHAR);
- EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "effect", effect, EET_T_UCHAR);
- EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "mouse_events", mouse_events, EET_T_UCHAR);
- EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "repeat_events", repeat_events, EET_T_UCHAR);
- EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "ignore_flags", ignore_flags, EET_T_INT);
- EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "scale", scale, EET_T_UCHAR);
- EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "pointer_mode", pointer_mode, EET_T_UCHAR);
- EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "precise_is_inside", precise_is_inside, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "clip_to_id", clip_to_id, EET_T_INT);
- EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "use_alternate_font_metrics", use_alternate_font_metrics, EET_T_UCHAR);
- EET_DATA_DESCRIPTOR_ADD_SUB(_edje_edd_edje_part, Edje_Part, "default_desc", default_desc, _edje_edd_edje_part_description);
- EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_part, Edje_Part, "other_desc", other_desc, _edje_edd_edje_part_description);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.x", dragable.x, EET_T_CHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.step_x", dragable.step_x, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "dragable.count_x", dragable.count_x, EET_T_INT);
-
+/*
+ * vim:ts=8:sw=3:sts=3:expandtab:cino=>5n-3f0^-2{2(0W1st0
+ */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "edje_private.h"
+//#define USE_PREEDIT_BLOCK 1
+
#ifdef HAVE_ECORE_IMF
+#include <Ecore_IMF_Evas.h>
+
static int _edje_entry_imf_retrieve_surrounding_cb(void *data, Ecore_IMF_Context *ctx, char **text, int *cursor_pos);
- static int _edje_entry_imf_event_commit_cb(void *data, int type, void *event);
- static int _edje_entry_imf_event_changed_cb(void *data, int type, void *event);
- static int _edje_entry_imf_event_delete_surrounding_cb(void *data, int type, void *event);
+ static Eina_Bool _edje_entry_imf_event_commit_cb(void *data, int type, void *event);
+ static Eina_Bool _edje_entry_imf_event_changed_cb(void *data, int type, void *event);
+ static Eina_Bool _edje_entry_imf_event_delete_surrounding_cb(void *data, int type, void *event);
#endif
+static Eina_Bool keypad_show = EINA_FALSE;
+static Ecore_Timer *hide_timer = NULL;
+
typedef struct _Entry Entry;
typedef struct _Sel Sel;
typedef struct _Anchor Anchor;
Evas_Object *cursor_fg;
Evas_Textblock_Cursor *cursor;
Evas_Textblock_Cursor *sel_start, *sel_end;
- Evas_Textblock_Cursor *pw_cursor;
- Ecore_Timer *pw_timer;
+ Eina_List *pre;
Eina_List *sel;
Eina_List *anchors;
Eina_List *anchorlist;
evas_textblock_cursor_range_delete(en->sel_start, en->sel_end);
}
- static void
- _remove_prev_special_node(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
- {
- /*remove special node and find a way to update cursor correctly*/
- Evas_Textblock_Cursor *c1;
- c1 = evas_object_textblock_cursor_new(o);
- evas_textblock_cursor_copy(c, c1);
- if (!evas_textblock_cursor_char_prev(c))
- {
- if (evas_textblock_cursor_node_prev(c))
- {
- if (evas_textblock_cursor_node_format_get(c) &&
- (!evas_textblock_cursor_node_format_is_visible_get(c)))
- {
- evas_textblock_cursor_node_delete(c);
- }
- if (evas_textblock_cursor_char_prev(c)|| (evas_textblock_cursor_node_prev(c)))
- {
- if (evas_textblock_cursor_node_prev(c))
- {
- if (evas_textblock_cursor_node_format_get(c) &&
- (!evas_textblock_cursor_node_format_is_visible_get(c)))
- {
- evas_textblock_cursor_node_delete(c);
- }
- }
- }
- }
- }
- if ((!evas_textblock_cursor_char_next(c)) &&
- (!evas_textblock_cursor_node_next(c)))
- {
- _curs_end(c, o, en);
- }
- else if (evas_textblock_cursor_compare(c, c1))
- {
- _curs_next(c, o, en);
- }
- _edje_entry_real_part_configure(en->rp);
- evas_textblock_cursor_free(c1);
- }
+
static void
- _backspace(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
+ _backspace(Evas_Textblock_Cursor *c, Evas_Object *o __UNUSED__, Entry *en __UNUSED__)
{
- Evas_Textblock_Cursor *c1, *c2;
- int nodel = 0;
-
- c1 = evas_object_textblock_cursor_new(o);
- if (!evas_textblock_cursor_char_prev(c))
- {
- if (!evas_textblock_cursor_node_prev(c))
- nodel = 1;
- else
- {
- evas_textblock_cursor_copy(c, c1);
- if (evas_textblock_cursor_node_format_get(c) &&
- (!evas_textblock_cursor_node_format_is_visible_get(c)))
- _curs_back(c, o, en);
- }
- }
- else
- {
- evas_textblock_cursor_copy(c, c1);
- }
- c2 = evas_object_textblock_cursor_new(o);
- evas_textblock_cursor_copy(c, c2);
- if (!nodel)
- {
- evas_textblock_cursor_range_delete(c1, c2);
- }
- evas_textblock_cursor_copy(c, c1);
- _curs_back(c, o, en);
- evas_textblock_cursor_copy(c, c2);
- if ((!evas_textblock_cursor_char_next(c2)) &&
- (!evas_textblock_cursor_node_next(c2)))
- {
- _curs_end(c, o, en);
- }
- else if (evas_textblock_cursor_compare(c, c1))
- {
- _curs_next(c, o, en);
- }
-
- evas_textblock_cursor_free(c1);
- evas_textblock_cursor_free(c2);
+ if (evas_textblock_cursor_char_prev(c))
+ evas_textblock_cursor_char_delete(c);
}
- if (evas_textblock_cursor_node_prev(c1))
+void _get_autocapitalized_str(Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2, char *str)
+{
+ char *prev_str = evas_textblock_cursor_range_text_get(cur1, cur2, EVAS_TEXTBLOCK_TEXT_MARKUP);
+
+ if (!prev_str) return;
+ unsigned short len = strlen(prev_str);
+
+ if (len == 2)
+ {
+ if ( (prev_str[0] == '.' || prev_str[0] == '!' || prev_str[0] == '?')
+ && prev_str[1] == ' ')
+ {
+ str[0] = toupper(str[0]);
+ }
+ }
+ else if (len == 8)
+ {
+ if (strcmp(prev_str, "<br><br>") == 0)
+ {
+ str[0] = toupper(str[0]);
+ }
+ }
+}
+
+static void
+_autocapitalized_text_prepend(Edje_Real_Part *rp, const char *str)
+{
+ if (!rp) return;
+
+ Entry *en = rp->entry_data;
+ Evas_Textblock_Cursor *c1;
+ char *commit_string = strdup(str);
+
+ if (en->autocapital)
+ {
+ if (strlen(str) == 1 && str[0] >= 'a' && str[0] <= 'z')
+ {
+ c1 = evas_object_textblock_cursor_new(rp->object);
+ evas_textblock_cursor_copy(en->cursor, c1);
+
+ if (evas_textblock_cursor_char_prev(c1))
+ {
+ if (evas_textblock_cursor_char_prev(c1))
+ {
+ _get_autocapitalized_str(c1, en->cursor, commit_string);
+ }
+ }
+ else
+ {
- _replace_pw(void *data)
- {
- Entry *en = (Entry *)data;
- _remove_prev_special_node(en->pw_cursor, en->rp->object, en);
- if (en->pw_cursor)
- {
- evas_textblock_cursor_free(en->pw_cursor);
- en->pw_cursor = NULL;
- }
-
- /*count characters*/
- if (en->func)
- en->func(en->data, NULL);
-
- en->pw_timer = NULL;
-
- return 0;
- }
-
- static int
++ if (evas_textblock_cursor_paragraph_prev(c1))
+ {
+ evas_textblock_cursor_char_prev(c1);
+ _get_autocapitalized_str(c1, en->cursor, commit_string);
+ }
+ else
+ {
+ commit_string[0] = toupper(commit_string[0]);
+ }
+ }
+
+ evas_textblock_cursor_free(c1);
+ }
+ }
+
+ evas_textblock_cursor_text_prepend(en->cursor, commit_string);
+
+ if (commit_string)
+ {
+ free(commit_string);
+ }
+}
+
+static int
+_select_mode_cb(void *data)
+{
+ Entry *en = (Entry *)data;
+
+ if( en->select_dragging_state == _ENTRY_DRAGGING_STATE_STARTED )
+ return 0;
+
+ en->select_dragging_state = _ENTRY_DRAGGING_STATE_NONE;
+
+ return 0;
+}
+
static void
- _delete(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
+ _delete(Evas_Textblock_Cursor *c, Evas_Object *o __UNUSED__, Entry *en __UNUSED__)
{
- Evas_Textblock_Cursor *c1, *c2;
-
- c1 = evas_object_textblock_cursor_new(o);
- c2 = evas_object_textblock_cursor_new(o);
- evas_textblock_cursor_copy(c, c1);
- evas_textblock_cursor_copy(c, c2);
- evas_textblock_cursor_char_last(c2);
- if (evas_textblock_cursor_node_format_get(c1) &&
- (!evas_textblock_cursor_node_format_is_visible_get(c1)))
- {
- // non-visible format-node
- evas_textblock_cursor_copy(c1, c2);
- while (evas_textblock_cursor_node_next(c2))
- {
- if ((!evas_textblock_cursor_node_format_get(c2)) ||
- (evas_textblock_cursor_node_format_is_visible_get(c2)))
- {
- evas_textblock_cursor_node_prev(c2);
- break;
- }
- }
- }
- else
- {
- if (evas_textblock_cursor_node_format_is_visible_get(c1))
- {
- // visible format node
- // do nothing just copy c to c1/c2 and range del
- }
- else
- {
- // if it's a text node
- if (!evas_textblock_cursor_char_next(c1))
- {
- if (evas_textblock_cursor_compare(c1, c2) > 0)
- _curs_next(c, o, en);
- }
- }
- evas_textblock_cursor_copy(c, c1);
- evas_textblock_cursor_copy(c, c2);
- }
- evas_textblock_cursor_range_delete(c1, c2);
- evas_textblock_cursor_free(c1);
- evas_textblock_cursor_free(c2);
+ evas_textblock_cursor_char_delete(c);
}
static void
if (en->have_selection)
_range_del(en->cursor, rp->object, en);
else
- _backspace(en->cursor, rp->object, en);
+ {
- _backspace(en->cursor, rp->object, en);
++ _backspace(en->cursor, rp->object, en);
+ /*if inputtin text is not allowed, dont allow text input*/
+ if (en->func)
+ en->func(en->data, NULL);
+ }
}
_sel_clear(en->cursor, rp->object, en);
_curs_update_from_curs(en->cursor, rp->object, en);
if (en->have_selection)
_range_del(en->cursor, rp->object, en);
else
- _delete(en->cursor, rp->object, en);
+ {
+ _delete(en->cursor, rp->object, en);
+ /*count characters*/
+ if (en->func)
+ en->func(en->data, NULL);
+ }
}
_sel_clear(en->cursor, rp->object, en);
_curs_update_from_curs(en->cursor, rp->object, en);
}
else if ((!strcmp(ev->key, "Return")) || (!strcmp(ev->key, "KP_Enter")))
{
+ /*if inputtin text is not allowed, dont allow text input*/
+ if (en->func)
+ if (en->func(en->data, "<br>"))
+ return;
+
if (multiline)
{
- if (en->have_selection)
- _range_del(en->cursor, rp->object, en);
- _sel_clear(en->cursor, rp->object, en);
- //yy
- evas_textblock_cursor_format_prepend(en->cursor, "\n");
+ if (en->have_selection)
+ _range_del(en->cursor, rp->object, en);
+ _sel_clear(en->cursor, rp->object, en);
+ if (shift)
+ {
+ evas_textblock_cursor_format_prepend(en->cursor, "\n");
+ }
+ else
+ {
+ evas_textblock_cursor_format_prepend(en->cursor, "ps");
+ }
_curs_update_from_curs(en->cursor, rp->object, en);
_anchors_get(en->cursor, rp->object, en);
_edje_emit(ed, "entry,changed", rp->part->name);
cursor_changed = EINA_TRUE;
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
}
- _edje_emit(ed, "entry,key,enter", rp->part->name);
+ _edje_emit(ed, "entry,key,enter", rp->part->name);
+ /*count characters*/
+ if (en->func)
+ en->func(en->data, NULL);
}
else
{
if (ev->string)
{
- printf("[%s]\n", __func__);
- char buf[30];
- if (en->have_selection)
- _range_del(en->cursor, rp->object, en);
- _sel_clear(en->cursor, rp->object, en);
- if (rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD_SHOW_LAST_CHARACTER)
- {
- _remove_prev_special_node(en->pw_cursor, en->rp->object, en);
- /*if inputtin text is not allowed, dont allow text input*/
- if (en->func)
- if (en->func(en->data, (void *)ev->string))
- return;
-
- if (en->pw_cursor)
- {
- evas_textblock_cursor_free(en->pw_cursor);
- en->pw_cursor = NULL;
- }
-
- if (!en->pw_cursor)
- {
- en->pw_cursor = evas_object_textblock_cursor_new(rp->object);
- }
- snprintf(buf, sizeof(buf), "<visible=1>%s</visible>", ev->string);
- evas_object_textblock_text_markup_prepend(en->cursor, buf);
- evas_textblock_cursor_copy(en->cursor, en->pw_cursor);
- if (en->pw_timer)
- {
- ecore_timer_del(en->pw_timer);
- en->pw_timer = NULL;
- }
- en->pw_timer = ecore_timer_add(2.0, _replace_pw, en);
- }
- else
- {
+ if (en->have_selection)
+ _range_del(en->cursor, rp->object, en);
- _sel_clear(en->cursor, rp->object, en);
- //zz
++ _sel_clear(en->cursor, rp->object, en);
+ /*if inputtin text is not allowed, dont allow text input*/
- if (en->func)
- if (en->func(en->data, (void *)ev->string))
- return;
++ if (en->func)
++ if (en->func(en->data, (void *)ev->string))
++ return;
+
+ _autocapitalized_text_prepend(rp, ev->string);
+ //evas_textblock_cursor_text_prepend(en->cursor, ev->string);
+ /*count characters*/
+ if(en->func)
- en->func(en->data, NULL);
- }
++ en->func(en->data, NULL);
+#if 0
+ //zz
evas_textblock_cursor_text_prepend(en->cursor, ev->string);
+#endif
_curs_update_from_curs(en->cursor, rp->object, en);
_anchors_get(en->cursor, rp->object, en);
_edje_emit(ed, "entry,changed", rp->part->name);
en->imf_ee_handler_delete = ecore_event_handler_add(ECORE_IMF_EVENT_DELETE_SURROUNDING, _edje_entry_imf_event_delete_surrounding_cb, rp);
en->imf_ee_handler_changed = ecore_event_handler_add(ECORE_IMF_EVENT_PREEDIT_CHANGED, _edje_entry_imf_event_changed_cb, rp->edje);
ecore_imf_context_input_mode_set(en->imf_context,
- (rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD || rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD_SHOW_LAST_CHARACTER) ?
+ rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD ?
ECORE_IMF_INPUT_MODE_INVISIBLE : ECORE_IMF_INPUT_MODE_FULL);
-#endif
+#endif /* HAVE_ECORE_IMF */
}
done:
en->cursor = (Evas_Textblock_Cursor *)evas_object_textblock_cursor_get(rp->object);
Entry *en;
Ecore_IMF_Event_Commit *ev = event;
int i;
- char buf[30];
-
- if (!rp) return 1;
-
++
+
+ if (!rp) return ECORE_CALLBACK_PASS_ON;
+
en = rp->entry_data;
if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
(rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
- return 1;
+ return ECORE_CALLBACK_PASS_ON;
- if (en->imf_context != ev->ctx) return 1;
+ if (en->imf_context != ev->ctx) return ECORE_CALLBACK_PASS_ON;
+ if (en->have_selection)
+ {
+ _range_del(en->cursor, rp->object, en);
+ _sel_clear(en->cursor, rp->object, en);
+ }
+
if (en->have_composition)
{
for (i = 0; i < en->comp_len; i++)
en->have_composition = EINA_FALSE;
}
- if (rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD_SHOW_LAST_CHARACTER)
- {
- _remove_prev_special_node(en->pw_cursor, en->rp->object, en);
- /*if inputtin text is not allowed, dont allow text input*/
- if (en->func)
- if (en->func(en->data, (void *)ev->str))
- return 1;
-
- if (en->pw_cursor)
- {
- evas_textblock_cursor_free(en->pw_cursor);
- en->pw_cursor = NULL;
- }
- if (!en->pw_cursor)
- {
- en->pw_cursor = evas_object_textblock_cursor_new(rp->object);
- }
- snprintf(buf, sizeof(buf), "<visible=1>%s</visible>", ev->str);
- evas_object_textblock_text_markup_prepend(en->cursor, buf);
- evas_textblock_cursor_copy(en->cursor, en->pw_cursor);
-
- if (en->pw_timer)
- {
- ecore_timer_del(en->pw_timer);
- en->pw_timer = NULL;
- }
- en->pw_timer = ecore_timer_add(2.0, _replace_pw, en);
- }
- else
- {
+ /*if inputtin text is not allowed, dont allow text input*/
+ if (en->func)
+ if (en->func(en->data,ev->str))
+ return 1;
+
+ _autocapitalized_text_prepend(rp, ev->str);
+ //evas_textblock_cursor_text_prepend(en->cursor, ev->str);
+ /*count characters*/
+ if (en->func)
+ en->func(en->data,NULL);
- }
+#if 0
//yy
evas_textblock_cursor_text_prepend(en->cursor, ev->str);
+#endif
_curs_update_from_curs(en->cursor, rp->object, en);
_anchors_get(en->cursor, rp->object, en);
en = rp->entry_data;
if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
(rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
- return 1;
-
- if (!en->imf_context) return 1;
-
- if (en->imf_context != ev->ctx) return 1;
+ return ECORE_CALLBACK_PASS_ON;
+
+ if (!en->imf_context) return ECORE_CALLBACK_PASS_ON;
+
+ if (en->imf_context != ev->ctx) return ECORE_CALLBACK_PASS_ON;
ecore_imf_context_preedit_string_get(en->imf_context, &preedit_string, &length);
+ //printf ("preedit string : %s\n", preedit_string);
+ //printf ("length : %d\n", length);
+
+ /*if inputtin text is not allowed, dont allow text input*/
+ if ((en->func) && !en->have_composition)
+ if (en->func(en->data, preedit_string))
+ return 1;
// FIXME : check the maximum length of evas_textblock
if ( 0 /* check the maximum length of evas_textblock */ )
- return 1;
+ return ECORE_CALLBACK_PASS_ON;
+ if (en->have_selection)
+ {
+ _range_del(en->cursor, rp->object, en);
+ _sel_clear(en->cursor, rp->object, en);
+ }
+
if (en->have_composition)
{
// delete the composing characters
en = rp->entry_data;
if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
(rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
- return 1;
-
- if (en->imf_context != ev->ctx) return 1;
-
- return 0;
+ return ECORE_CALLBACK_PASS_ON;
+
+ if (en->imf_context != ev->ctx) return ECORE_CALLBACK_PASS_ON;
+
+ return ECORE_CALLBACK_DONE;
}
-#endif
+#endif /* HAVE_ECORE_IMF */
unsigned char script_only;
unsigned char lua_script_only;
+
+ unsigned char checked : 1;
};
- struct _Edje_Part
+ struct _Edje_Part_Dragable
{
- const char *name; /* the name if any of the part */
- Edje_Part_Description *default_desc; /* the part descriptor for default */
- Eina_List *other_desc; /* other possible descriptors */
- const char *source, *source2, *source3, *source4, *source5, *source6, *source7;
- int id; /* its id number */
- int clip_to_id; /* the part id to clip this one to */
- struct {
- int step_x; /* drag jumps n pixels (0 = no limit) */
- int step_y; /* drag jumps n pixels (0 = no limit) */
+ int step_x; /* drag jumps n pixels (0 = no limit) */
+ int step_y; /* drag jumps n pixels (0 = no limit) */
+
+ int count_x; /* drag area divided by n (0 = no limit) */
+ int count_y; /* drag area divided by n (0 = no limit) */
+
+ int confine_id; /* dragging within this bit, -1 = no */
+
+ /* davinchi */
+ int event_id; /* If it is used as scrollbar */
+
+ signed char x; /* can u click & drag this bit in x dir */
+ signed char y; /* can u click & drag this bit in y dir */
+ };
+
+ struct _Edje_Part_Api
+ {
+ const char *name;
+ const char *description;
+ };
- int count_x; /* drag area divided by n (0 = no limit) */
- int count_y; /* drag area divided by n (0 = no limit) */
+ typedef struct _Edje_Part_Description_List Edje_Part_Description_List;
+ struct _Edje_Part_Description_List
+ {
+ Edje_Part_Description_Common **desc;
+ unsigned int desc_count;
+ };
- int confine_id; /* dragging within this bit, -1 = no */
+ struct _Edje_Part
+ {
+ const char *name; /* the name if any of the part */
+ Edje_Part_Description_Common *default_desc; /* the part descriptor for default */
- /* davinchi */
- int events_id; /* If it is used as scrollbar */
+ Edje_Part_Description_List other; /* other possible descriptors */
- signed char x; /* can u click & drag this bit in x dir */
- signed char y; /* can u click & drag this bit in y dir */
- } dragable;
- Eina_List *items; /* packed items for box and table */
- const char *source, *source2, *source3, *source4, *source5, *source6;
++ const char *source, *source2, *source3, *source4, *source5, *source6, *source7;
+ int id; /* its id number */
+ int clip_to_id; /* the part id to clip this one to */
+ Edje_Part_Dragable dragable;
+ Edje_Pack_Element **items; /* packed items for box and table */
+ unsigned int items_count;
unsigned char type; /* what type (image, rect, text) */
unsigned char effect; /* 0 = plain... */
unsigned char mouse_events; /* it will affect/respond to mouse events */
_edje_entry_select_extend(rp);
}
+EAPI void
+edje_object_part_text_autocapitalization_set(const Evas_Object *obj, const char *part, Eina_Bool on)
+{
+ Edje *ed;
+ Edje_Real_Part *rp;
+
+ ed = _edje_fetch(obj);
+ if ((!ed) || (!part)) return;
+ rp = _edje_real_part_recursive_get(ed, (char *)part);
+ if (!rp) return;
+ if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+ _edje_entry_autocapitalization_set(rp, on);
+}
+
+#ifdef HAVE_ECORE_IMF
+EAPI Ecore_IMF_Context *
+edje_object_part_text_imf_context_get(const Evas_Object *obj, const char *part)
+{
+ Edje *ed;
+ Edje_Real_Part *rp;
+
+ ed = _edje_fetch(obj);
+ if ((!ed) || (!part)) return NULL;
+
+ rp = _edje_real_part_recursive_get(ed, (char *)part);
+ if (!rp) return NULL;
+
+ if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+ return _edje_entry_imf_context_get(rp);
+ else
+ return NULL;
+}
+#endif
+
+EAPI void
+edje_object_part_text_input_panel_enabled_set(const Evas_Object *obj, const char *part, Eina_Bool enabled)
+{
+ Edje *ed;
+ Edje_Real_Part *rp;
+
+ ed = _edje_fetch(obj);
+ if ((!ed) || (!part)) return;
+ rp = _edje_real_part_recursive_get(ed, (char *)part);
+ if (!rp) return;
+ if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+ _edje_entry_input_panel_enabled_set(rp, enabled);
+}
+
+EAPI Eina_Bool
+edje_object_part_text_input_panel_enabled_get(const Evas_Object *obj, const char *part)
+{
+ Edje *ed;
+ Edje_Real_Part *rp;
+
+ ed = _edje_fetch(obj);
+ if ((!ed) || (!part)) return EINA_FALSE;
+ rp = _edje_real_part_recursive_get(ed, (char *)part);
+ if (!rp) return EINA_FALSE;
+
+ if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+ return _edje_entry_input_panel_enabled_get(rp);
+ else
+ return EINA_FALSE;
+}
+
/**
* @brief XX
- *
+ *
* @param obj A valid Evas_Object handle
* @param part The part name
*/