diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index 775d41f012..243f8d47a1 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -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="" +ALIASES += context="\code" +ALIASES += description="\endcode " +ALIASES += endblock="" +ALIASES += property=" 
" +ALIASES += parameters="" +ALIASES += effect="
 " +ALIASES += endproperty="
" +ALIASES += edcsection{2}="\anchor sec_\1 \ref sec_quickaccess \"\2\"" +ALIASES += edcsubsection{2}="\anchor sec_\1 \ref sec_quickaccess \"\2\"" + +# Aliases used by luaref +ALIASES += luaclass{2}="\anchor \1 \n
\2
" +ALIASES += attributes="
Attributes:
" +ALIASES += methods="
Methods:
" +ALIASES += events="
Events:
" +ALIASES += setters="
Setters:
" +ALIASES += seealso{2}="See also: \1\n" +ALIASES += seealso{1}="See also: \1\n" diff --git a/doc/e.css b/doc/e.css index 2dd6b44798..2418ac917f 100644 --- 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; +} diff --git a/doc/edje_examples.dox b/doc/edje_examples.dox index a48ad7e581..f44e0fa2f1 100644 --- a/doc/edje_examples.dox +++ b/doc/edje_examples.dox @@ -1,5 +1,5 @@ /** - * @page edje_examples Examples + * @page edje_examples Edje Examples * * Examples: * @li @ref Example_Edje_Basics diff --git a/doc/main.dox b/doc/main.dox index 7af53104e4..b69d1c1abf 100644 --- a/doc/main.dox +++ b/doc/main.dox @@ -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. * */ @@ -27,33 +28,44 @@ * @page authors Authors * * @author Adam Simpkins + * @author Aharon Hillel * @author Albin "Lutin" Tonnerre * @author Andre Dieb * @author Andrew Elcock * @author Arnaud de Turckheim 'quarium' * @author Bernhard Nemec + * @author billiob (Boris Faure) * @author Bluezery * @author Boris "billiob" Faure * @author Brett Nash * @author Brian 'rephorm' Mattern + * @author Brian Mattern * @author Bruno Dilly * @author Burra * @author Carsten Haitzler - * @author Cedric Bail + * @author Cedric BAIL * @author Chidambar Zinnoury * @author Chris Ross * @author Christophe Dumez * @author Christopher 'devilhorns' Michael - * @author ChunEon Park + * @author ChunEon Park (Hermet) * @author Corey "atmos" Donohoe * @author dan sinclair * @author Daniel Juyung Seo - * @author Daniel Willmann + * @author Daniel Willmann + * @author Daniel Zaoui * @author David 'onefang' Seikel * @author David Goodlad + * @author David Seikel + * @author Davide Andreoli * @author Doyoun Kang + * @author Fabiano Fidêncio + * @author Flavio Ceolin + * @author Govindaraju SM + * @author Guilherme Silveira * @author Guillaume Friloux * @author Gustavo Chaves + * @author Gustavo Lima Chaves * @author Gustavo Sverzut Barbieri * @author Gwanglim Lee * @author Haifeng Deng @@ -62,12 +74,14 @@ * @author Hyoyoung Chang * @author Ibukun Olumuyiwa * @author Iván Briano + * @author Jaehwan Kim * @author Jihoon Kim * @author Jorge Luis Zapata Muga * @author Jose O Gonzalez * @author José Roberto de Souza * @author Jérémy Zurcher - * @author Jérôme Pinot + * @author Jérôme Pinot + * @author Kim Shinwoo * @author Kim Woelders * @author Kim Yunhan * @author Lars Munch @@ -79,8 +93,9 @@ * @author Mathieu Taillefumier * @author Matt Barclay * @author Michael 'Mickey' Lauer + * @author Michael Bouchaud (yoz) * @author Mikael Sans - * @author Mike Blumenkrantz + * @author Mike Blumenkrantz * @author Myoungwoon Roy Kim(roy_kim) * @author Myungjae Lee @@ -90,10 +105,13 @@ * @author Nicolas Aguirre * @author Peter Wehrfritz * @author PnB + * @author Prince Kumar Dubey * @author Rafael Antognolli * @author Rafal Krypa + * @author Rajeev Ranjan (Rajeev) * @author Raphael Kubo da Costa * @author Ricardo de Almeida Gonzaga + * @author Robert David * @author Rui Miguel Silva Seabra * @author Samsung Electronics * @author Samsung SAIT @@ -106,19 +124,22 @@ * @author Sung W. Park * @author Term * @author Thierry el Borgi + * @author Tiago Falcão * @author Till Adam * @author Tilman Sauerbeck * @author Tim Horton * @author Tom Gilbert * @author Tom Hacohen + * @author Tristan * @author Vikram Narayanan * @author Vincent Torri - * @author Vincent Torri * @author Willem Monsuwe + * @author WooHyun Jung (woohyun) * @author xlopez@@igalia.com * @author Youness Alaoui * @author Yuri * @author Yuri Hudobin + * @author ZigsMcKenzie * * Please contact to get in * contact with the developers and maintainers. @@ -196,3 +217,9 @@ * * @brief Hardware device manipulation and notification, wraps UDev and similar. */ + +/** + * @defgroup Edje + * + * @brief Layout and theme library with super-powers. + */ diff --git a/src/lib/edje/Edje.h b/src/lib/edje/Edje.h index 4d51404fb8..c8b83a311a 100644 --- a/src/lib/edje/Edje.h +++ b/src/lib/edje/Edje.h @@ -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. +For details of Edje's history, see the @ref edje_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. - -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,63 +95,59 @@ basic GUI constructor. Unlike Ebits, Edje separates the layout and behavior logic. +@section edje_main_compiling How to compile -@section Edje_Examples Examples on Edje's usage +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. + +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 +@include edje_example.c -- @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 +The above example requires the following annotated source Edje file: +@include edje_example.edc + + +More examples can be found at @ref edje_examples. */ -/** -@page authors Authors -@author Carsten Haitzler -@author Tilman Sauerbeck (tilman at code-monkey de) -@author ZigsMcKenzie -@author Cedric BAIL -@author Brian Mattern -@author Mathieu Taillefumier -@author Tristan -@author Gustavo Lima Chaves -@author Bruno Dilly -@author Fabiano Fidêncio -@author Jihoon Kim -@author Tiago Falcão -@author Davide Andreoli -@author Sebastian Dransfeld -@author Tom Hacohen -@author Aharon Hillel -@author Shilpa Singh -@author Mike Blumenkrantz -@author billiob (Boris Faure) -@author Govindaraju SM -@author Prince Kumar Dubey -@author David Seikel -@author Guilherme Íscaro - -Please contact to get in -contact with the developers and maintainers. -*/ - - /** @example embryo_custom_state.edc @@ -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 *