Commit Graph

61 Commits

Author SHA1 Message Date
Tom Hacohen 2c12f4b0a7 Edje signals: Add the ability to provide extra data for signals.
SVN revision: 63771
2011-10-03 12:30:32 +00:00
Iván Briano 026f8798dc Forward messages to Edje defined children of box and table
SVN revision: 62418
2011-08-13 00:30:12 +00:00
Carsten Haitzler 5829d373c9 doxy -> .h
SVN revision: 58478
2011-04-08 07:45:46 +00:00
Carsten Haitzler 29f40fc1fa ooh silly! remove the list item, not head! as intended. fix.
SVN revision: 55979
2011-01-07 10:52:19 +00:00
Carsten Haitzler 148a945f5c 1. fix potential bug in processing messages on a specific object where
it could be deleted by callbacks
2. fix edje message process to only process messages from that obj - a
bit complex as we need restart stuff too to handle the list becoming
invalid.



SVN revision: 55973
2011-01-07 08:07:32 +00:00
Gustavo Sverzut Barbieri 7ac13f931f better log.
* lower case domain names;

 * binaries use their own color (EDJE_CC_DEFAULT_LOG_COLOR)

 * log messages do not take multiple lines, it's annoying. The colors
   should call your attention already.

 * the ever annoying "did you forgot fixed: 1 1;" message that used to
   consume 3 lines is now bit more descriptive and uses a single line.



SVN revision: 53178
2010-10-08 00:24:22 +00:00
Carsten Haitzler 57d15d3ef8 actually hook in filter callbacks - have 2 types and pass in enum to
each as to what text they are seeing to filter. fix up other typdef
uses.



SVN revision: 52975
2010-10-02 03:34:00 +00:00
Carsten Haitzler f394a88dca set EDJE_SELF_FEED_DEBUG if u want to know abotu self-feeding edje
signals/messages



SVN revision: 52943
2010-10-01 06:59:48 +00:00
Carsten Haitzler 3d87542724 proper error output from script running (embryo).
SVN revision: 52942
2010-10-01 06:53:16 +00:00
Vincent Torri 1e1bb3b6a4 Put everything in edje_private. It should fix a compilation
bug on Windows

SVN revision: 52736
2010-09-25 17:10:33 +00:00
Cedric BAIL 90858b58c1 * edje: remove unused variable.
SVN revision: 52364
2010-09-17 12:05:46 +00:00
Carsten Haitzler 2d34d6d2a3 formatting fix + list walk optimisation.
SVN revision: 51874
2010-09-04 03:53:12 +00:00
Lucas De Marchi 5a8a8c9014 Convert (hopefully) all comparisons to NULL
Apply badzero.cocci, badnull.coci and badnull2.cocci

This should convert all cases where there's a comparison to NULL to simpler
forms. This patch applies the following transformations:

code before patch               ||code after patch
===============================================================

return a == NULL;                 return !a;

return a != NULL;                 return !!a;

func(a == NULL);                  func(!a);

func(a != NULL);                  func(!!a);

b = a == NULL;                    b = !a;

b = a != NULL;                    b = !!a;

b = a == NULL ? c : d;            b = !a ? c : d;

b = a != NULL ? c : d;            b = a ? c : d;


other cases:

a == NULL                         !a
a != NULL                         a




SVN revision: 51487
2010-08-21 13:52:25 +00:00
Cedric BAIL 2623367732 * edje: fix some memleak issue.
SVN revision: 51033
2010-08-12 12:58:54 +00:00
Lucas De Marchi 0a4617ae38 FORMATTING
* Remove vim modelines:
 find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
 find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;

* Remove leading blank lines:
 find . -name '*.[cxh]' -exec sed -i '/./,$!d'

If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0



SVN revision: 50816
2010-08-04 16:57:32 +00:00
Hugo Camboulive e4b874d3c4 From: Hugo Camboulive <hugo.camboulive@gmail.com>
Subject: [E-devel] [E-Devel] [Patch] Edje Message - add the callback
recursively

When you send a message from an edje subgroup (part { type: GROUP
...}), the
message callback isn't called because it tries to reach
ed->message.func,
which is only defined for the top edje part.
This patches adds the callback and data to all the subgroups
recursively.



SVN revision: 50538
2010-07-27 10:08:40 +00:00
Cedric BAIL 73ac5cdc95 * edje: remove warning due to API change in Ecore.
SVN revision: 49830
2010-06-24 16:16:50 +00:00
Carsten Haitzler a66404bfe2 ummmm edje wasnt processing the message queue. use jobs a little better.
SVN revision: 49204
2010-05-26 11:41:35 +00:00
Carsten Haitzler 77a55c3fd8 aaah well... 1. fix segv with edje_match stuff is deep child cleans up
pattersn - ref them.
2. edje lua... beating it into shape. slowly bit by bit.



SVN revision: 47685
2010-04-02 11:05:53 +00:00
Vincent Torri e4bea597c7 Fix documentation
* update Doxyfile file
 * fix end of groups
 * fix some warnings
 * fix link in head.html for Edje API ref


SVN revision: 42794
2009-09-29 06:13:33 +00:00
Iván Briano 4e33c6fd65 Improve documentation for Evas, Ecore, Edje and Elementary.
Work by:
 - Thiago R. Masaki (mostly)
 - Fabiano Fidencio
 - Gustavo Lima


SVN revision: 42552
2009-09-17 22:38:35 +00:00
Vincent Torri 8b2bd0c079 * remove unused parameters (except in edje_lua.c, as i don't know the current status)
* remove unused variables


SVN revision: 41957
2009-08-24 16:40:42 +00:00
Hanspeter Portner da75132793 From: "Hanspeter Portner" <ventosus@airpost.net>
This concerns Ticket #109: Add Lua support for Edje

It adds Lua as scripting facility to Edje, letting Embryo untouched.
It should be easier to use and be more flexible than Embryo, imho ;-)

---
The patch
---

Lua 5.1 is used in sandboxed mode. Lua byte code is not
platform/architecture independent, Lua code is saved as text in the Edje
container and parsed at load time, therefore.

The patch goes in two directions

1) Analogous to Embryo for scripting logic, messaging and custom states.
The same things are implemented as in Embryo:

    - messaging from and to C
        - manual creation of timers, animators, pollers for custom events /
            animations
                - manual manipulation of Edje parts by means of the public
                    edje_object_part_* and internal functions and custom states
                    
                        -> those routines are actually implemented as Lua
bindings to
    functions in Edje.h and Ecore.h
        -> the implementation is done in an object oriented way, so that the
            interface gives the feel of an object description language, pretty
                similar to EDC itself
                    -> combining custom states and custom animators allows
for fancy
    animations and transitions, e.g circular/spline translations or
        complex/conditional transitions, etc.
            -> this is just the same as Embryo does, but implemented in Lua, so
                nothing new here, actually
                
                2) Dynamic object creation and manipulation
                
                    - this interface stems from the 'script_only' objects in
Edje. Those
    objects are a kind of scriptable Edje counterparts to Evas_Smart
        objects. The infrastructure for Embryo is already there, but has
            never been used
                - I added this in Lua and added some first bindings to
experiment
    with
        - I thought it would be useful to allow for a limited dynamic
            creation of ui parts
                - We can create instances of groups from within the same Edje
                    container and use them just like the main Edje object as
stated in
    1)
        - And there are some stand-alone bindings to dynamically create
            Evas_Image, Evas_Table, Evas_Line, Evas_Polygon as examples
            
                -> this may be useful to decouple the program from the ui
even more,
    to be able to do things that have to be done in the program itself
        atm, but actually belong to the user interface, but need dynamic
            creation of objects or complex interactions
                -> those objects are manipulated manually with Lua bindings
to the
    corresponding edje_object_* and evas_object_* functions
    
    ---
    Discussion points
    ---
    
    Both stuff in 1) & 2) is functioning, but needs testing, feedback,
    improvements, ...
    
    Stuff in 1) can already fully replace Embryo scripting with Lua
    scripting. There still is space for improvements/additions, though.
    
    Of the stuff in 2), I think it may only make sense to add the dynamic
    creation of groups defined in the same Edje container.  Dynamic creation
    of other Evas_Objects makes not much sense, as most of them can already
    be used as Edje parts and be manipulated with custom states (apart from
    polygons and lines) and it would make the whole theming potentially more
    programing-like and much more susceptible for errors, etc.
    
    Would this be useful, or drop it all?
    
    The scripting should be there just for logic, conditionals, custom
    states and animations, not for a whole dynamic canvas, imho.
    
    There is a patch around with EXTERNAL Edje parts. Seems to be a better,
    faster, more secure way to extend Edje with custom objects.
    
    There would be the possibility of precompiling Lua code at compile time
    (edje_cc) for faster loading, but we would have to patch and run our own
    Lua version.
    The Lua parser is pretty fast, though, and using
    byte-converted/endianness-swapped byte-code does only pay off for Lua
    chunks of some kilo lines.
    Byte code also occupies much more space than text in the final Edje
    container, as it includes debug symbols.
    
    ---
    
    Cedric and Vincent told me, that the plan was to replace Embryo totally
    by Lua before the official release of Edje at the end of the year? So it
    would make sense to bring Lua to svn soon and look how it fits in, test,
    debug, adapt it further to the themers needs, decide on its final shape,
    GATHER SOME PEOPLE TO HELP ;-)
    
    ---
    
    The Lua enhanced Edje is in sync with svn and can be get directly here
       git clone git://repo.or.cz/edje_lua.git
          cd edje_lua
             git checkout -b lua_patch origin/lua_patch
             
             or apply the attached patch
             
             There are also some examples to show the usage of the things
mentioned
above
    - showcase.edj: shows usage of custom animators, custom states,
        messaging and the script_only object
            - test.edj: test cases of script usage and bindings (custom states,
                custom transitions, tween_states, animators, timers,
object_parts),
    but most of it are experimental script_only objects
    
    http://didgmo.sourceforge.net/showcase.edj
    http://didgmo.sourceforge.net/test.edj
    
    The source of showcase.edc is attached, too, to just have a glimpse at
    Lua inside of EDC
    
    ---
    
    So, what do you guys think?
    
    Thanks and sry for the looong mail, hehe ;-)



SVN revision: 41802
2009-08-16 02:34:02 +00:00
Vincent Torri 0d8b00fdeb * move standard header files to source files
* remove gendoc


SVN revision: 37158
2008-10-26 17:18:19 +00:00
Cedric BAIL fa66dbf40a Remove Evas list from Edje and use Eina instead.
SVN revision: 36961
2008-10-22 11:34:42 +00:00
Cedric BAIL b489e1936b Switch evas_stringshare to eina_stringshare.
SVN revision: 36672
2008-10-15 14:11:11 +00:00
doursse c5623c01b3 reorganize header files inclusion. Fix some problems when compiling on Windows
SVN revision: 34768
2008-06-07 10:06:14 +00:00
Carsten Haitzler 15cd1238db start some serious work on script_only edje objects - for efficiency sake i'm
having an almost parallel codepath for script_only objects - they dont get to
use the older edje api calls for part defined objects. they will have a new
set of calls specifically for them. it's partly done - very little available
now, but will expand. lots of fixme's.


SVN revision: 34699
2008-05-30 11:20:49 +00:00
Carsten Haitzler c3ec60a6c9 stop allowing self-feeding forever loops by adding jobs forever.
SVN revision: 33871
2008-03-01 04:59:38 +00:00
Sebastian Dransfeld 62cf45caab Don't clean up this job, ecore_job will clean it up itself.
SVN revision: 32351
2007-11-04 12:41:15 +00:00
Carsten Haitzler cf49928045 cedric's ecore_job_init/shtudown patches.
SVN revision: 31972
2007-10-05 05:12:38 +00:00
doursse 974152be16 remove trailingspaces
SVN revision: 31657
2007-09-08 18:31:56 +00:00
Carsten Haitzler b0305ccaa9 god damn.. chasing that bad mem access was tricky. found it after futzing
with edje, evas and e.


SVN revision: 31206
2007-08-07 14:20:47 +00:00
Gustavo Sverzut Barbieri 17f1ba629a Messages are now passed to children groups (part.type=GROUP)
SVN revision: 30625
2007-07-06 23:03:05 +00:00
rephorm d4a055585b Add GROUP Parts to edje.
These can be used to automatically swallow in another group from the same file.

Parts within child groups can be referred to by a ':' separated 'full path' of
part names. Any API functions that take a part name will now accept a full path
also.

Signals emitted by child objects will be repeated up to the parents with the
source changed to be the path relative to the receiving object.  E.g in the
example below, a mouse moving over the lower light green rectangle would result
in the parent object recieving a "mouse,move" signal with source "bot:inner".

**** NEW RESTRICTION ****  part names should no longer include a ':' character.
This is not yet enforced by edje_cc, but will cause the part to be inaccessible
from the API.

Example EDC:

collections {
  group {
    name: "parent";
    parts {
      part {
        name: "top";
        type: GROUP;
        source: "child";
        description {
          state: "default" 0.0;
          rel2.relative: 1 0.5;
        }
      }
      part {
        name: "bot";
        type: GROUP;
        source: "child";
        description {
          state: "default" 0.0;
          rel1.relative: 0 0.5;
        }
      }
    }
  }
  group {
    name: "child";
    parts {
      part {
        name: "base";
        type: RECT;
        description {
          state: "default" 0.0;
          color: 160 208 8 255;
        }
      }
      part {
        name: "inner";
        type: RECT;
        description {
          state: "default" 0.0;
          rel1.offset: 10 10;
          rel2.offset: -11 -11;
          color: 210 228 76 255;
        }
      }
    }
  }
}


SVN revision: 30087
2007-05-27 05:28:07 +00:00
Carsten Haitzler 002d09cc7d asparagus - pass distcheck.
SVN revision: 29865
2007-05-05 15:14:17 +00:00
Sebastian Dransfeld e06c5c75f6 Reset job incase the user reset's edje.
SVN revision: 29087
2007-03-25 07:10:48 +00:00
Sebastian Dransfeld 787f3095d2 Can't and shouldn't delete job on shutdown. The job handler might not get
called and ecore will free the memory anyway.


SVN revision: 29021
2007-03-24 16:48:51 +00:00
Sebastian Dransfeld 9dbcb5c3ee Remove debug comments.
SVN revision: 29016
2007-03-24 16:05:43 +00:00
sebastid 002bc72042 Fix EAPI warnings.
SVN revision: 19595
2006-01-07 08:54:30 +00:00
Carsten Haitzler bd0c83af10 make more use of stringshare and eet alloc methods
SVN revision: 18732
2005-11-30 15:36:34 +00:00
Carsten Haitzler 25ee716746 push/pop vm on the fly - saves a chunk of ram.
SVN revision: 18625
2005-11-24 03:23:01 +00:00
Carsten Haitzler 725d212f48 handle NULL strings better - need to handle mroe NULLS though
SVN revision: 18617
2005-11-23 12:56:06 +00:00
Carsten Haitzler a080215a72 remove excess calcs.
add faster missed job reaper timer


SVN revision: 18183
2005-11-01 04:10:01 +00:00
Carsten Haitzler 3c16cf0327 ug callback that deletes the object that is bing walked for callbacks...
ouch.. fix.


SVN revision: 15932
2005-07-28 13:39:23 +00:00
Carsten Haitzler 9e5eed53b1 working on fixing job loss...
SVN revision: 12962
2005-01-14 04:50:29 +00:00
Carsten Haitzler e7ff787ea6 a workaround for myseterious job loss...
SVN revision: 12954
2005-01-13 15:42:56 +00:00
Carsten Haitzler bec1a34a8e testing the edje message queue.. revealed.... problems... and.. now....
FIXES! :)


SVN revision: 12419
2004-12-09 05:49:34 +00:00
Carsten Haitzler 878bd6d9f4 deferred message bug. fixeed.
SVN revision: 12335
2004-12-02 09:21:22 +00:00
rephorm 634caa3c9e ref and unref the edje when blocking/unblocking and creating/deleting messages to avoid accessing free'd memory if an edje is deleted from an edje signal callback.
SVN revision: 12070
2004-10-30 02:30:55 +00:00