efl/edje: improve docs after merge.
authorGustavo Sverzut Barbieri <barbieri@gmail.com>
Fri, 4 Jan 2013 02:51:43 +0000 (02:51 +0000)
committerGustavo Sverzut Barbieri <barbieri@gmail.com>
Fri, 4 Jan 2013 02:51:43 +0000 (02:51 +0000)
SVN revision: 82142

doc/Doxyfile.in
doc/e.css
doc/edje_examples.dox
doc/main.dox
src/lib/edje/Edje.h

index 775d41f012afaa756ee3e5cd2e7c5522cb25ae7d..243f8d47a19e4716b495f88b6556443568e28182 100644 (file)
@@ -603,7 +603,8 @@ INPUT                  = @top_srcdir@/src/lib \
                          @srcdir@/eio_examples.dox \
                          @srcdir@/edbus_examples.dox \
                          @srcdir@/ephysics_examples.dox \
-                         @srcdir@/edje_examples.dox
+                         @srcdir@/edje_examples.dox \
+                         @top_srcdir@/src/bin/edje/edje_cc_handlers.c
 
 # This tag can be used to specify the character encoding of the source files
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@@ -1696,3 +1697,24 @@ GENERATE_LEGEND        = YES
 # the various graphs.
 
 DOT_CLEANUP            = YES
+
+# Aliases used by edcref
+ALIASES                = block="<tr><td class=\"block\"><b>"
+ALIASES               += context="</b></td><td class=\"context\" colspan=2>\code"
+ALIASES               += description="\endcode</td></tr><tr><td>&nbsp;</td><td class=\"description\" colspan=2>"
+ALIASES               += endblock="</td></tr>"
+ALIASES               += property="<tr><td>&nbsp;</td><td><table class=\"edcref\" border=\"0\"><tr><td class=\"property\"><tt>"
+ALIASES               += parameters="</tt></td><td class=\"parameters\"><tt>"
+ALIASES               += effect="</tt></td></tr><tr><td>&nbsp;</td><td class=\"effect\">"
+ALIASES               += endproperty="</td></tr></table></td></tr>"
+ALIASES               += edcsection{2}="<tr class=\"section\"><td class=\"section\" colspan=\"2\">\anchor sec_\1 \ref sec_quickaccess \"\2\"</td></tr>"
+ALIASES               += edcsubsection{2}="<tr class=\"subsection\"><td class=\"subsection\" colspan=\"2\">\anchor sec_\1 \ref sec_quickaccess \"\2\"</td></tr>"
+
+# Aliases used by luaref
+ALIASES               += luaclass{2}="\anchor \1 \n<div class=\"luaclass\">\2</div>"
+ALIASES               += attributes="<div class=\"luaattrib\">Attributes:</div>"
+ALIASES               += methods="<div class=\"luaattrib\">Methods:</div>"
+ALIASES               += events="<div class=\"luaattrib\">Events:</div>"
+ALIASES               += setters="<div class=\"luaattrib\">Setters:</div>"
+ALIASES               += seealso{2}="<b>See also:</b> <a href='\2'>\1</a>\n"
+ALIASES               += seealso{1}="<b>See also:</b> \1\n"
index 2dd6b44798e01fe4c4797ec8785485172ac1c635..2418ac917ff74846652bab8e62484ff57eb16647 100644 (file)
--- a/doc/e.css
+++ b/doc/e.css
@@ -271,3 +271,37 @@ td.nav_active {
        width: 100%;
 }
 
+table.edcref tr td.block {
+        vertical-align: top;
+        padding-top: 10px;
+}
+
+table.edcref tr.section td.section, div.luaclass {
+        color: #888;
+        font-size: 16pt;
+        padding: 15px;
+        border-top: 1px solid #ccc;
+        text-align: center;
+}
+
+table.edcref tr.section td.section a {
+        color: #888;
+        text-decoration: none;
+}
+
+table.edcref tr.subsection td.subsection, div.luaclass {
+        color: #888;
+        font-size: 11pt;
+        padding: 1px;
+        text-align: center;
+}
+
+table.edcref tr.subsection td.subsection a {
+        color: #888;
+        text-decoration: none;
+}
+
+div.luaattrib {
+        color: #888;
+        border: 1px solid #ccc;
+}
index a48ad7e581ef205da0f4efd1d201fd0ccd946c7e..f44e0fa2f1a341ee57336771b44485abaa8511c3 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * @page edje_examples Examples
+ * @page edje_examples Edje Examples
  *
  * Examples:
  * @li @ref Example_Edje_Basics
index 7af53104e4b87ba061d3f0fa2c163ef7b2fc7f9f..b69d1c1abf0c9cb232c2075e71030bfe60486d0d 100644 (file)
@@ -20,6 +20,7 @@
  * @li @ref efreet_main freedesktop.org (xdg) menu and desktop integration.
  * @li @ref eeze_main hardware device manipulation and notification.
  * @li @ref ephysics_main physics simulation integration and visual effects.
+ * @li @ref edje_main layout and theme library with super powers.
  *
  */
 
  * @page authors Authors
  *
  * @author Adam Simpkins <adam@@adamsimpkins.net>
+ * @author Aharon Hillel <a.hillel@@partner.samsung.com>
  * @author Albin "Lutin" Tonnerre <albin.tonnerre@@gmail.com>
  * @author Andre Dieb <andre.dieb@@gmail.com>
  * @author Andrew Elcock <andy@@elcock.org>
  * @author Arnaud de Turckheim 'quarium' <quarium@@gmail.com>
  * @author Bernhard Nemec <Bernhard.Nemec@@viasyshc.com>
+ * @author billiob (Boris Faure) <billiob@@gmail.com>
  * @author Bluezery <ohpowel@@gmail.com>
  * @author Boris "billiob" Faure <billiob@@gmail.com>
  * @author Brett Nash <nash@@nash.id.au>
  * @author Brian 'rephorm' Mattern <rephorm@@rephorm.com>
+ * @author Brian Mattern <rephorm@@rephorm.com>
  * @author Bruno Dilly <bdilly@@profusion.mobi>
  * @author Burra <burra@@colorado.edu>
  * @author Carsten Haitzler <raster@@@rasterman.com>
- * @author Cedric Bail <cedric.bail@@free.fr>
+ * @author Cedric BAIL <cedric.bail@@free.fr>
  * @author Chidambar Zinnoury <illogict@@online.fr>
  * @author Chris Ross <chris@@darkrock.co.uk>
  * @author Christophe Dumez <christophe.dumez@@intel.com>
  * @author Christopher 'devilhorns' Michael <cpmichael1@comcast.net>
- * @author ChunEon Park <hermet@@hermet.pe.kr>
+ * @author ChunEon Park (Hermet) <hermet@@hermet.pe.kr>
  * @author Corey "atmos" Donohoe <atmos@@atmos.org>
  * @author dan sinclair <zero@@everburning.com>
  * @author Daniel Juyung Seo <seojuyung2@gmail.com> <juyung.seo@@samsung.com>
- * @author Daniel Willmann <daniel@@totalueberwachung.de>
+ * @author Daniel Willmann <d.willmann@@samsung.com>
+ * @author Daniel Zaoui <daniel.zaoui@@yahoo.com>
  * @author David 'onefang' Seikel <onefang@@gmail.com>
  * @author David Goodlad <dgoodlad@@gmail.com>
+ * @author David Seikel <onefang at gmail.com>
+ * @author Davide Andreoli <dave@@gurumeditation.it>
  * @author Doyoun Kang <wayofmine@@gmail.com> <doyoun.kang@@samsung.com>
+ * @author Fabiano Fidêncio <fidencio@@profusion.mobi>
+ * @author Flavio Ceolin <flavio.ceolin@@profusion.mobi>
+ * @author Govindaraju SM <govi.sm@@samsung.com> <govism@@gmail.com>
+ * @author Guilherme Silveira <xguiga@@gmail.com>
  * @author Guillaume Friloux <guillaume.friloux@@asp64.com>
  * @author Gustavo Chaves <glima@@profusion.mobi>
+ * @author Gustavo Lima Chaves <glima@@profusion.mobi>
  * @author Gustavo Sverzut Barbieri <barbieri@@profusion.mobi>
  * @author Gwanglim Lee <gl77.lee@@samsung.com> <gwanglim@@gmail.com>
  * @author Haifeng Deng <haifeng.deng@@samsung.com>
  * @author Hyoyoung Chang <hyoyoung@@gmail.com>
  * @author Ibukun Olumuyiwa <ibukun@@computer.org>
  * @author Iván Briano <ivan@@profusion.mobi>
+ * @author Jaehwan Kim <jae.hwan.kim@@samsung.com>
  * @author Jihoon Kim <jihoon48.kim@@samsung.com> <imfine98@gmail.com>
  * @author Jorge Luis Zapata Muga <jorgeluis.zapata@@gmail.com>
  * @author Jose O Gonzalez <jose_ogp@@juno.com>
  * @author José Roberto de Souza <zehortigoza@@profusion.mobi>
  * @author Jérémy Zurcher <jeremy@@asynk.ch>
- * @author Jérôme Pinot <ngc891@gmail.com>
+ * @author Jérôme Pinot <ngc891@@gmail.com>
+ * @author Kim Shinwoo <kimcinoo.efl@@gmail.com>
  * @author Kim Woelders <kim@@woelders.dk>
  * @author Kim Yunhan <spbear@@gmail.com>
  * @author Lars Munch <lars@@segv.dk>
@@ -79,8 +93,9 @@
  * @author Mathieu Taillefumier <mathieu.taillefumier@@free.fr>
  * @author Matt Barclay <mbarclay@@gmail.com>
  * @author Michael 'Mickey' Lauer <mickey@@tm.informatik.uni-frankfurt.de>
+ * @author Michael Bouchaud (yoz) <michael.bouchaud@@gmail.com>
  * @author Mikael Sans <sans.mikael@@gmail.com>
- * @author Mike Blumenkrantz <michael.blumenkrantz@@gmail.com>
+ * @author Mike Blumenkrantz <michael.blumenkrantz@@gmail.com
  * @author Mike McCormack <mj.mccormack@@samsung.com>
  * @author Myoungwoon Roy Kim(roy_kim) <myoungwoon.kim@@samsung.com> <myoungwoon@@gmail.com>
  * @author Myungjae Lee <mjae.lee@@samsung.com>
  * @author Nicolas Aguirre <aguirre.nicolas@@gmail.com>
  * @author Peter Wehrfritz <peter.wehrfritz@@web.de>
  * @author PnB <Poor.NewBie@@gmail.com>
+ * @author Prince Kumar Dubey <prince.dubey@@samsung.com> <prince.dubey@@gmail.com>
  * @author Rafael Antognolli <antognolli@@profusion.mobi>
  * @author Rafal Krypa <r.krypa@@samsung.com>
+ * @author Rajeev Ranjan (Rajeev) <rajeev.r@@samsung.com> <rajeev.jnnce@@gmail.com>
  * @author Raphael Kubo da Costa <kubo@@profusion.mobi>
  * @author Ricardo de Almeida Gonzaga <ricardo@@profusion.mobi>
+ * @author Robert David <robert.david.public@@gmail.com>
  * @author Rui Miguel Silva Seabra <rms@@1407.org>
  * @author Samsung Electronics
  * @author Samsung SAIT
  * @author Sung W. Park <sungwoo@@gmail.com>
  * @author Term <term@@twistedpath.org>
  * @author Thierry el Borgi <thierry@@substantiel.fr>
+ * @author Tiago Falcão <tiago@@profusion.mobi>
  * @author Till Adam <till@@adam-lilienthal.de>
  * @author Tilman Sauerbeck <tilman@@code-monkey.de>
  * @author Tim Horton <hortont424@gmail.com>
  * @author Tom Gilbert <tom@@linuxbrit.co.uk>
  * @author Tom Hacohen <tom@@stosb.com>
+ * @author Tristan <blunderer@@gmail.com>
  * @author Vikram Narayanan <vikram186@gmail.com>
  * @author Vincent Torri <vincent.torri@@gmail.com>
- * @author Vincent Torri <vtorri@@univ-evry.fr>
  * @author Willem Monsuwe <willem@@stack.nl>
+ * @author WooHyun Jung (woohyun) <woohyun0705@@gmail.com>
  * @author xlopez@@igalia.com
  * @author Youness Alaoui <kakaroto@@kakaroto.homelinux.net>
  * @author Yuri <da2001@hotmail.ru>
  * @author Yuri Hudobin <glassy_ape@@users.sourceforge.net>
+ * @author ZigsMcKenzie <zigsmckenzie@@gmail.com>
  *
  * Please contact <enlightenment-devel@@lists.sourceforge.net> to get in
  * contact with the developers and maintainers.
  *
  * @brief Hardware device manipulation and notification, wraps UDev and similar.
  */
+
+/**
+ * @defgroup Edje
+ *
+ * @brief Layout and theme library with super-powers.
+ */
index 4d51404fb848cdb348339eb5152ba1aae07f8b52..c8b83a311ad035eccdd46c6a75350e5bb0da989a 100644 (file)
@@ -3,13 +3,19 @@
 
 These routines are used for Edje.
 
-@mainpage Edje Library Documentation
-@version 1.7
-@date 2003-2012
+@page edje_main Edje
 
-Please see the @ref authors page for contact details.
+@date 2003 (created)
 
-@section intro What is Edje?
+@section toc Table of Contents
+
+@li @ref edje_main_intro
+@li @ref edje_main_work
+@li @ref edje_main_compiling
+@li @ref edje_main_next_steps
+@li @ref edje_main_intro_example
+
+@section edje_main_intro Introduction
 
 Edje is a complex graphical design & layout library.
 
@@ -45,54 +51,9 @@ almost any look and feel one could want for basic visual elements. Anything
 more complex is likely the domain of an application or widget set that may
 use Edje as a convenient way of being able to configure parts of the display.
 
-For details of Edje's history, see the \ref history section.
-
-
-@section requirements What does Edje require?
-
-Edje requires fairly little on your system. to use the Edje runtime library
-you need:
-
-  - Evas (library)
-  - Ecore (library)
-  - Eet (library)
-  - Embryo (library)
-  - Eina (library)
-  - Lua 5.1 (library)
-
-Evas needs to be build with the JPEG, PNG and EET image loaders enabled at a
-minimum. You will also need the buffer engine (which requires the
-software_generic engine) as well.
+For details of Edje's history, see the @ref edje_history section.
 
-Ecore (library) needs the ECORE and ECORE_EVAS modules built at a minimum.
-It's suggested to build all the Ecore modules. You will beed the Buffer
-engine support built into Ecore_Evas for edje_cc to function.
-
-
-@section compiling How to compile and test Edje
-
-Now you need to compile and install Edje.
-
-@verbatim
-  ./configure
-  make
-  sudo make install
-@endverbatim
-
-You now have it installed and ready to go, but you need input
-data. There are lots of examples in SVN, the best one is
-Enlightenment's own theme file.
-
-You may use different tools to edit and view the generated ".edj"
-files, for instance:
-
-  - edje_player (provided by Edje)
-  - edje_codegen (provided by Edje) @since 1.8.0
-  - editje (http://trac.enlightenment.org/e/wiki/Editje)
-  - edje_viewer (http://trac.enlightenment.org/e/wiki/Edje_Viewer)
-
-
-@section details So how does this all work?
+@subsection edje_main_work So how does this all work?
 
 Edje internally holds a geometry state machine and state graph of what is
 visible, not, where, at what size, with what colors etc. This is described
@@ -105,20 +66,7 @@ The application using Edje will then create an object in its Evas
 canvas and set the bundle file to use, specifying the @b group name to
 use. Edje will load such information and create all the required
 children objects with the specified properties as defined in each @b
-part of the given group. See the following example:
-@include edje_example.c
-
-The above example requires the following annotated source Edje file:
-@include edje_example.edc
-
-
-One should save these files as edje_example.c and edje_example.edc then:
-@verbatim
-gcc -o edje_example edje_example.c `pkg-config --cflags --libs eina evas ecore ecore-evas edje`
-edje_cc edje_example.edc
-
-./edje_example "some text"
-@endverbatim
+part of the given group. See the example at @ref edje_main_intro_example.
 
 Although simple, this example illustrates that animations and state
 changes can be done from the Edje file itself without any requirement
@@ -127,8 +75,7 @@ in the C application.
 Before digging into changing or creating your own Edje source (edc)
 files, read the @ref edcref.
 
-
-@section history Edje History
+@subsection edje_history Edje History
 
 It's a sequel to "Ebits" which has serviced the needs of Enlightenment
 development for early version 0.17. The original design parameters under
@@ -148,62 +95,58 @@ basic GUI constructor.
 
 Unlike Ebits, Edje separates the layout and behavior logic.
 
+@section edje_main_compiling How to compile
+
+Edje is a library your application links to. The procedure for this is
+very simple. You simply have to compile your application with the
+appropriate compiler flags that the @c pkg-config script outputs. For
+example:
+
+Compiling C or C++ files into object files:
+
+@verbatim
+gcc -c -o main.o main.c `pkg-config --cflags edje`
+@endverbatim
+
+Linking object files into a binary executable:
+
+@verbatim
+gcc -o my_application main.o `pkg-config --libs edje`
+@endverbatim
+
+See @ref pkgconfig
+
+@section edje_main_next_steps Next Steps
+
+After you understood what Edje is and installed it in your system you
+should proceed understanding the programming interface for all
+objects, then see the specific for the most used elements. We'd
+recommend you to take a while to learn @ref Ecore, @ref Evas, @ref Eo
+and @ref Eina as they are the building blocks for Edje. There is a
+widget set built on top of Edje providing high level elements such as
+buttons, lists and selectors called Elementary
+(http://docs.enlightenment.org/auto/elementary/) as they will likely
+save you tons of work compared to using just Evas directly.
 
-@section Edje_Examples Examples on Edje's usage
+Recommended reading:
+@li @ref edcref
+@li @ref Edje_General_Group
+@li @ref Edje_Object_Group
+@li @ref Edje_External_Group
+
+@section edje_main_intro_example Introductory Example
 
 What follows is a list with various commented examples, covering a great
 part of Edje's API:
 
-@note The example files are located at /Where/Enlightenment/is/installed/share/edje/examples
-
-- @ref Example_Edje_Basics
-- @ref tutorial_edje_basic2
-- @ref tutorial_edje_swallow
-- @ref tutorial_edje_swallow2
-- @ref tutorial_edje_table
-- @ref tutorial_edje_box
-- @ref tutorial_edje_box2
-- @ref tutorial_edje_color_class
-- @ref tutorial_edje_animations
-- @ref tutorial_edje_animations_2
-- @ref Example_Edje_Signals_Messages
-- @ref tutorial_edje_signals_2
-- @ref tutorial_edje_text
-- @ref tutorial_edje_drag
-- @ref tutorial_edje_perspective
-*/
+@include edje_example.c
+
+The above example requires the following annotated source Edje file:
+@include edje_example.edc
 
-/**
-@page authors Authors
-@author Carsten Haitzler <raster@@rasterman.com>
-@author Tilman Sauerbeck (tilman at code-monkey de)
-@author ZigsMcKenzie <zigsmckenzie@@gmail.com>
-@author Cedric BAIL <cedric.bail@@free.fr>
-@author Brian Mattern <rephorm@@rephorm.com>
-@author Mathieu Taillefumier <mathieu.taillefumier@@free.fr>
-@author Tristan <blunderer@@gmail.com>
-@author Gustavo Lima Chaves <glima@@profusion.mobi>
-@author Bruno Dilly <bdilly@@profusion.mobi>
-@author Fabiano Fidêncio <fidencio@@profusion.mobi>
-@author Jihoon Kim <jihoon48.kim@@samsung.com>
-@author Tiago Falcão <tiago@@profusion.mobi>
-@author Davide Andreoli <dave@@gurumeditation.it>
-@author Sebastian Dransfeld <sd@@tango.flipp.net>
-@author Tom Hacohen <tom@@stosb.com>
-@author Aharon Hillel <a.hillel@@samsung.com>
-@author Shilpa Singh <shilpa.singh@samsung.com> <shilpasingh.o@gmail.com>
-@author Mike Blumenkrantz <michael.blumenkrantz@gmail.com
-@author Jaehwan Kim <jae.hwan.kim@samsung.com>
-@author billiob (Boris Faure) <billiob@gmail.com>
-@author Govindaraju SM <govi.sm@samsung.com> <govism@gmail.com>
-@author Prince Kumar Dubey <prince.dubey@samsung.com> <prince.dubey@gmail.com>
-@author David Seikel <onefang at gmail.com>
-@author Guilherme Íscaro <iscaro@profusion.mobi>
-
-Please contact <enlightenment-devel@lists.sourceforge.net> to get in
-contact with the developers and maintainers.
-*/
 
+More examples can be found at @ref edje_examples.
+*/
 
 /**
 
@@ -260,6 +203,7 @@ param in edje programs
 
 /**
  * @defgroup Edje_General_Group Edje General
+ * @ingroup Edje
  *
  * @brief This group discusses functions that have general purposes or affect Edje as a whole.
  *
@@ -524,6 +468,7 @@ EAPI void         edje_collection_cache_flush     (void);
 
 /**
  * @defgroup Edje_External_Group Edje External
+ * @ingroup Edje
  *
  * @brief This group discusses functions of the external section of Edje.
  *
@@ -3253,6 +3198,7 @@ EAPI const Edje_External_Type       *edje_external_type_get         (const char
 
 /**
  * @defgroup Edje_Object_Group Edje Object
+ * @ingroup Edje
  *
  * @brief This group discusses functions that deal with Edje layouts and its components
  *