<?xml version="1.0"?>
<statsTarget><link>http://cia.vc/stats/project/e/edje</link><counters><counter name="forever" lastEventTime="1329145671" firstEventTime="1265492595">947</counter><counter name="lastMonth" lastEventTime="1327860015" firstEventTime="1325510558">57</counter><counter name="thisMonth" lastEventTime="1329145671" firstEventTime="1328256690">9</counter><counter name="lastWeek" lastEventTime="1328918384" firstEventTime="1328511207">5</counter><counter name="yesterday" lastEventTime="1329145671" firstEventTime="1329119183">3</counter><counter name="thisWeek" lastEventTime="1329145671" firstEventTime="1329119183">3</counter></counters><metadata><item name="subtitle"><value type="text/plain">Graphical layout and animation library</value></item><item name="description"><value type="text/plain">Edje is a complex graphical design and layout library based on Evas that
provides an abstraction layer between the application code and the
interface, while allowing extremely flexible dynamic layouts and
animations.

In more popular terms, Edje makes every application that uses it
"skinable" .

    "Edje is an attempt to find a middleground between theming and
    programming without turning the theme itself into just yet another
    program."

    -- Carsten Haitzler (The Rasterman)


It's purpose is to be a sequel to "Ebits" which to date has serviced
the needs of Enlightenment development for version 0.17. The original
design parameters under which Ebits came about were a lot more
restricted than the resulting use of them, thus Edje was born.

Edje is a more complex layout engine compared to Ebits. It doesn't
pretend to do containing and regular layout like a widget set. It
still inherits the more simplistic layout ideas behind Ebits, but it
now does them a lot more cleanly, allowing for easy expansion, and the
ability to cover much more ground than Ebits ever could. For the
purposes of Enlightenment 0.17, Edje should serve all the purposes of
creating visual elements (borders of windows, scrollbars, etc.) and
allow the designer the ability to animate, layout and control the look
and feel of any program using Edje as its basic GUI constructor. This
library allows for multiple collections of Layouts in one file,
sharing the same image database and thus allowing a whole theme to be
conveniently packaged into 1 file and shipped around.

Edje, unlike Ebits, separates the layout and behavior logic. Edje
files ship with an image database, used by all the parts in all the
collections to source graphical data. It has a directory of logical
part names pointing to the part collection entry ID in the file (thus
allowing for multiple logical names to point to the same part
collection, allowing for the sharing of data between display
elements). Each part collection consists of a list of visual parts, as
well as a list of programs. A program is a conditionally run program
that if a particular event occurs (a button is pressed, a mouse enters
or leaves a part) will trigger an action that may affect other
parts. In this way a part collection can be "programmed" via its file
as to hilight buttons when the mouse passes over them or show hidden
parts when a button is clicked somewhere etc. The actions performed in
changing from one state to another are also allowed to transition over
a period of time, allowing animation.

This separation and simplistic event driven style of programming can
produce 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.
</value></item><item name="links-filter"><value type="text/plain">None</value></item><item name="title"><value type="text/plain">Edje</value></item><item name="url"><value type="text/plain">http://trac.enlightenment.org/e/wiki/Edje</value></item><item name="related-filter"><value type="text/plain">None</value></item></metadata><recentMessages><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67881</revision><author>jihoon</author><log>add edje_object_part_text_imf_context_reset that will use for reseting the input method context  </log><diffLines>308</diffLines><url>http://trac.enlightenment.org/e/changeset/67881</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/Edje.h">src/lib/Edje.h</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_entry.c">src/lib/edje_entry.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_private.h">src/lib/edje_private.h</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_util.c">src/lib/edje_util.c</file></files></commit></body><timestamp>1329145671</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67873</revision><author>jihoon</author><log>Add edje_object_part_text_input_panel_show/hide.
These APIs can be used in input panel manual control mode.  </log><diffLines>141</diffLines><url>http://trac.enlightenment.org/e/changeset/67873</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/Edje.h">src/lib/Edje.h</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_entry.c">src/lib/edje_entry.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_private.h">src/lib/edje_private.h</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_util.c">src/lib/edje_util.c</file></files></commit></body><timestamp>1329127294</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67868</revision><author>jihoon</author><log>edje_util.c: remove wrong return  </log><diffLines>24</diffLines><url>http://trac.enlightenment.org/e/changeset/67868</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_util.c">src/lib/edje_util.c</file></files></commit></body><timestamp>1329119182</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67833</revision><author>discomfitor</author><log>fix breakage from r67537 with alias inheriting or somesuch  </log><diffLines>14</diffLines><url>http://trac.enlightenment.org/e/changeset/67833</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/bin/edje_cc_handlers.c">src/bin/edje_cc_handlers.c</file></files></commit></body><timestamp>1328918384</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67726</revision><author>woohyun</author><log>[edje] Modified Changlog and Edje.h. Thanks Vincent :)  </log><diffLines>55</diffLines><url>http://trac.enlightenment.org/e/changeset/67726</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/Edje.h">src/lib/Edje.h</file></files></commit></body><timestamp>1328619945</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67725</revision><author>woohyun</author><log>[edje/markup_filter] update Changelog and NEWS  </log><diffLines>29</diffLines><url>http://trac.enlightenment.org/e/changeset/67725</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/NEWS">NEWS</file></files></commit></body><timestamp>1328616954</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67724</revision><author>woohyun</author><log>[edje/markup filter] Add new API, edje_object_markup_filter_callback_add. When using
edje_object_text_insert_filter_callback_add, a filter function
should check the type(format, text, or markup) of text for correct
filtering. But in markup filter function(added by new API), text is
always markup so no need to check the type of text.  </log><diffLines>343</diffLines><url>http://trac.enlightenment.org/e/changeset/67724</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/Edje.h">src/lib/Edje.h</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_entry.c">src/lib/edje_entry.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_private.h">src/lib/edje_private.h</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_util.c">src/lib/edje_util.c</file></files></commit></body><timestamp>1328616802</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67708</revision><author>jihoon</author><log>edje entry: set ALPHABET in case of password mode  </log><diffLines>16</diffLines><url>http://trac.enlightenment.org/e/changeset/67708</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_entry.c">src/lib/edje_entry.c</file></files></commit></body><timestamp>1328511207</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67690</revision><author>jihoon</author><log>Entry: Fix to work edje_object_part_text_input_panel_enabled_set/get well even though ecore_imf doesn't exist or immodule isn't used.  </log><diffLines>64</diffLines><url>http://trac.enlightenment.org/e/changeset/67690</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_entry.c">src/lib/edje_entry.c</file></files></commit></body><timestamp>1328256685</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67588</revision><author>davemds</author><log>epp does not support variadic args </log><diffLines>37</diffLines><url>http://trac.enlightenment.org/e/changeset/67588</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/examples/embryo_pong.edc">src/examples/embryo_pong.edc</file></files></commit></body><timestamp>1327860015</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67567</revision><author>sachiel</author><log>Do set the max to the image size if asked for it  </log><diffLines>17</diffLines><url>http://trac.enlightenment.org/e/changeset/67567</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_calc.c">src/lib/edje_calc.c</file></files></commit></body><timestamp>1327686601</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67559</revision><author>sachiel</author><log>Tell the descriptors about our new properties  </log><diffLines>15</diffLines><url>http://trac.enlightenment.org/e/changeset/67559</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_data.c">src/lib/edje_data.c</file></files></commit></body><timestamp>1327624977</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67557</revision><author>cedric</author><log>edje: fix obvious c&amp;p error.  </log><diffLines>15</diffLines><url>http://trac.enlightenment.org/e/changeset/67557</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_calc.c">src/lib/edje_calc.c</file></files></commit></body><timestamp>1327614555</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67555</revision><author>cedric</author><log>edje: add min: SOURCE, max: SOURCE.  </log><diffLines>197</diffLines><url>http://trac.enlightenment.org/e/changeset/67555</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/NEWS">NEWS</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/bin/edje_cc_handlers.c">src/bin/edje_cc_handlers.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_calc.c">src/lib/edje_calc.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_private.h">src/lib/edje_private.h</file></files></commit></body><timestamp>1327614045</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67549</revision><author>tasn</author><log>Edje textblock: Fixed style user memory leak.

Thanks to Hermet for spotting this. </log><diffLines>14</diffLines><url>http://trac.enlightenment.org/e/changeset/67549</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/lib/edje_util.c">src/lib/edje_util.c</file></files></commit></body><timestamp>1327598408</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67542</revision><author>cedric</author><log>edje: don't forget to reference child image in set.   </log><diffLines>25</diffLines><url>http://trac.enlightenment.org/e/changeset/67542</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/bin/edje_cc_out.c">src/bin/edje_cc_out.c</file></files></commit></body><timestamp>1327528401</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67537</revision><author>cedric</author><log>edje: fix use of inherit, overridding and alias.  </log><diffLines>350</diffLines><url>http://trac.enlightenment.org/e/changeset/67537</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/bin/edje_cc.h">src/bin/edje_cc.h</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/bin/edje_cc_handlers.c">src/bin/edje_cc_handlers.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/bin/edje_cc_out.c">src/bin/edje_cc_out.c</file></files></commit></body><timestamp>1327521826</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67528</revision><author>cedric</author><log>edje: rename variable to have a more miningfull name.  </log><diffLines>25</diffLines><url>http://trac.enlightenment.org/e/changeset/67528</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/bin/edje_cc_handlers.c">src/bin/edje_cc_handlers.c</file></files></commit></body><timestamp>1327498021</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67527</revision><author>cedric</author><log>edje: cast the right type.  </log><diffLines>48</diffLines><url>http://trac.enlightenment.org/e/changeset/67527</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/bin/edje_cc_handlers.c">src/bin/edje_cc_handlers.c</file></files></commit></body><timestamp>1327496979</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>edje</module></source><body><commit><revision>67526</revision><author>cedric</author><log>edje: do it in the right order.  </log><diffLines>38</diffLines><url>http://trac.enlightenment.org/e/changeset/67526</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/edje/src/bin/edje_cc_handlers.c">src/bin/edje_cc_handlers.c</file></files></commit></body><timestamp>1327495926</timestamp></message></recentMessages></statsTarget>
