Commit Graph

260 Commits

Author SHA1 Message Date
Iván Briano bcce5db59a Break away if we already found a matching state
SVN revision: 65035
2011-11-11 00:43:23 +00:00
Jaehwan Kim dbd8c61ae5 Add the ChnageLog and since 1.1.0
SVN revision: 64851
2011-11-07 04:36:53 +00:00
Prince Kumar Dubey 3cc8139906 From: Prince Kumar Dubey <prince.dubey@samsung.com>
From: Govindaraju S M <govi.sm@samsung.com>
Subject: edje multisense patch for sound sample, tone and haptic play

... This is the beginning of sound (and haptic) support in Edje - it
works, but only at certain basic sample playback levels. more will come.



SVN revision: 64731
2011-11-04 12:18:13 +00:00
Mike Blumenkrantz 583a69172f fix up docs a little
SVN revision: 64678
2011-11-03 06:00:28 +00:00
Jaehwan Kim 6afeb6b150 Add CURRENT option which edje object moves from current position.
Currently, when the part in edc move by transition, it moves from the
one of the states to another of the states even if it is ainimating.
We need it to move from current position, because the animation is not
natural and smooth. So I made the "CURRENT" option.


SVN revision: 64675
2011-11-03 04:43:00 +00:00
Jaehwan Kim 1d300f049b Revert to revision 64488 in order to split the code into new feature and indentation
SVN revision: 64633
2011-11-02 04:15:01 +00:00
Jaehwan Kim 39d27f8cbb Add CURRENT option which edje object moves from current position.
Currently, when the part in edc move by transition, it moves from the
one of the states to another of the states even if it is ainimating.
We need it to move from current position, because the animation is not
natural and smooth. So I made the "CURRENT" option.
And I removed the unnecessary tab for indentation.


SVN revision: 64545
2011-10-31 06:00:06 +00:00
Jaehwan Kim 98d6e21ec3 add the documentations about edje group inherit.
SVN revision: 64488
2011-10-28 09:01:38 +00:00
Carsten Haitzler 850ba388a2 oooh bad memory pointer handling as part of group inheritance (part
overriding) patches....!!!!! fix!



SVN revision: 64028
2011-10-13 00:09:04 +00:00
Carsten Haitzler f18d4de8d5 add border_scale_by that adds another scaling factor for border
scaling. use it as a way of super-sampling borders (eg use 0.5 to use
2x over-sampling, 0.25 for 4x oversapling etc.)



SVN revision: 63938
2011-10-10 05:53:02 +00:00
Daniel Juyung Seo ec93b2a20a edje edje_cc_handlers.c: Fixed edje_cc bugs about data.item. Patch by Jaehwan Kim <jae.hwan.kim@samsung.com>
2011/9/30 Jaehwan Kim <jae.hwan.kim@samsung.com>:
>
> I found some bugs in edje_cc_handlers.c.
>
> One is about data.item. It is saved in hash list.
> When it is saved, I freed the memory of the key.
> But the memory is used. so I deleted the free(key).
>
> Second is it is possible in
st_collections_group_parts_part_description_state.
> So I changed the location of the conditional statement.
>
> Please apply this patch :)
>
> Jaehwan Kim.


SVN revision: 63822
2011-10-05 06:37:06 +00:00
Boris Faure 56c20bff47 edje: description.max can be -1
also add myself to AUTHORS

SVN revision: 63753
2011-10-02 21:07:54 +00:00
Daniel Juyung Seo 17881b57a4 edje edje_cc_handlers.c: Fixed indentation and error message.
SVN revision: 63693
2011-09-30 00:37:44 +00:00
Cedric BAIL db4c82bc46 edje: add group inheritance.
Patch by Jaehwan Kim <jae.hwan.kim@samsung.com>


SVN revision: 63648
2011-09-29 01:29:21 +00:00
Cedric BAIL 686d473591 edje: add collection.group.limits.vertical and collection.group.limits.horizontal.
The goal is to provide an easy way to do the kind of effect you see in that video
around 00:36 : http://www.youtube.com/watch?v=KVoVLHh8CHc.
  At that time it was really difficult to do such thing and required a lot of
embryo code, we designed limit with Billiob to be able to do such kind of things
much more easily.

NOTE: so Billiob, now nothing stop you from releasing amsn2 ! ;-)


SVN revision: 62701
2011-08-22 21:44:49 +00:00
Cedric BAIL e076fec7c8 edje: at least advertise the fact that we do have PROXY part.
SVN revision: 62447
2011-08-14 16:12:13 +00:00
Iván Briano fd222d9729 Inherit parts used by map too
SVN revision: 62145
2011-08-05 17:13:38 +00:00
Cedric BAIL a6ef9ac8ce edje: small error detection improvement.
SVN revision: 62086
2011-08-04 09:25:52 +00:00
Daniel Juyung Seo f926eb9285 edje edje_cc_handlers.c: Fixed documentation.
SVN revision: 61932
2011-08-01 05:06:49 +00:00
Tom Hacohen d6b2473668 Edje docs: Updated the 'tag' part of the Edc reference.
SVN revision: 61671
2011-07-25 08:26:03 +00:00
Cedric BAIL 7049b23a6f edje: forgotten dup.
SVN revision: 60554
2011-06-21 15:49:08 +00:00
Cedric BAIL 68b5402756 edje: make it possible to define part.description.max on only one axis.
SVN revision: 60546
2011-06-21 10:41:20 +00:00
Carsten Haitzler d02f25e1ff whover did table and box support forgot:
1. table to have min.h/v ability like box
2. to ACTUALLY implement box h/v (and well of course implement
tableh/v too)

this basically fixes this working at all and completes the feature to
table too.



SVN revision: 59960
2011-06-04 15:58:02 +00:00
Carsten Haitzler 87ec659bc6 use the ecore pos map call for edje as opposed to do it yourself. this
also opens up new position mappings like factored accel/decel/sin,
divis, bounce and spring! :) documentation provided.



SVN revision: 59449
2011-05-16 13:16:34 +00:00
Carsten Haitzler 0b0d51c5cf add text effect shadow direction support.
SVN revision: 58548
2011-04-11 12:08:03 +00:00
Cedric BAIL c8874ff8bd edje: oops, fix stupid edje_cc bug preventing compilation of most theme.
SVN revision: 57699
2011-03-11 23:03:46 +00:00
Cedric BAIL d0810de637 edje: add PROXY part.
example:

collections {
   group {
      name: "main";
      parts {
         part {
            name: "sub1";
            type: GROUP;
            source: "sub1";

            description {
               rel1.relative: 0.5 0.5;
               rel2.relative: 1.0 1.0;
            }
         }

         part {
            name: "pro2";
            type: PROXY;

            description {
               rel1.relative: 0.0 0.5;
               rel2.relative: 0.5 1.0;
               source: "sub1";
               color: 255 0 0 128;

               map {
                  on: 1;
                  smooth: 1;
                  rotation {
                     z: 30;
                  }
               }
            }
         }
      }
   }

   group {
      name: "sub1";
      parts {
         part {
            name: "rect";
            type: RECT;

            description {
               rel1.relative: 0.0 0.0;
               rel2.relative: 0.5 0.5;
               color: 255 0 0 255;

               map {
                  on: 1;
                  smooth: 1;
                  rotation {
                     z: -30;
                  }
               }
            }
         }

         part {
            name: "pro1";
            type: PROXY;

            description {
               rel1.relative: 0.5 0.0;
               rel2.relative: 1.0 0.7;
               color: 128 128 0 128;
               source: rect;
            }
         }
      }
   }
}




SVN revision: 57694
2011-03-11 17:46:29 +00:00
Tom Hacohen 7bf5ba8a7b Edje text: Added size_range to limit the font size range.
This lets you limit the allowed sizes of the TEXT part (font sizes) to
a specific range. This is especially useful in combination with the
"fit" property.

SVN revision: 57395
2011-02-27 18:09:03 +00:00
Carsten Haitzler 9430a1f89a add an ellipsis alias.
SVN revision: 57159
2011-02-19 12:37:12 +00:00
Tom Hacohen 5e33a75553 Edje: Added mirrored mode. Mirrored mode is used for UI-mirroring. It lets you mirror edje objects automatically (it also sends signals to the .edc code so you can do tweaks if you want), no need to create a special theme just for rtl layouts.
This is controlled by the two added API functions.
The changes in Elementary that utilize these functions will be committed soon.

SVN revision: 56635
2011-02-01 13:26:49 +00:00
Tom Hacohen b6d5d47482 Edje text: Added support for auto-alignment. Text alignment with x=-1.0 means auto.
SVN revision: 56548
2011-01-30 10:46:39 +00:00
Tom Hacohen b34172c91e Edje entry: Added cursor_mode to edje to toggle between UNDER (efl/terminal) and BEFORE (gtk/rest of the world) cursor modes.
SVN revision: 56547
2011-01-30 10:46:33 +00:00
Carsten Haitzler eeae28d198 ummm... also remove unused vars if u are going to remove the other
unused code.



SVN revision: 56154
2011-01-16 01:57:06 +00:00
Mike Blumenkrantz 2c0ef4b08a #if0 out some unimplemented stuff
SVN revision: 56137
2011-01-15 19:44:17 +00:00
Iván Briano f64f4930e9 FOCUS_OBJECT takes a part as target
SVN revision: 55556
2010-12-14 17:18:31 +00:00
Iván Briano 3f6ada804f Make edje_cc store script source snippets (only embryo now) in the generated file.
Yeah... yeah... we are on a freeze and we aren't supposed to be doing things like this, but it's not change anything other than allow edje_edit to know about scripts in order to not screw them up when modifying a file.


SVN revision: 55088
2010-11-30 15:37:20 +00:00
Cedric BAIL 26ba1c03e3 * edje: fix signal comming from aliased part.
I needed to bump minor file format version, but it will only
	change behaviour for people using alias for part and they
	couldn't use the signal emitted by them.


SVN revision: 53305
2010-10-12 13:26:18 +00:00
Boris Faure 545ea3a1a4 edje: improve doc
SVN revision: 53004
2010-10-03 21:21:58 +00:00
Iván Briano 2233302716 Fix having api keyword in parts, that is, don't have edje_cc segfault if there is one.
SVN revision: 52952
2010-10-01 16:49:31 +00:00
Leandro Pereira 0e7da3e783 edje_cc: Fix typos
SVN revision: 52930
2010-09-30 21:16:38 +00:00
Lucas De Marchi 3bec660090 Fix common misspellings
Following misspellings were fixed:

ammount->amount
arbitary->arbitrary
begining->beginning
carefull->careful
choosen->chosen
commited->committed
endig->ending
existance->existence
existant->existent
isnt->isn't
occured->occurred
postion->position
rougly->roughly
runing->running
shouldnt->shouldn't
soem->some
succesfully->successfully
succesful->successful
sucessful->successful
tranformed->transformed
usefull->useful
wehn->when
wich->which



SVN revision: 51988
2010-09-08 11:50:05 +00:00
Carsten Haitzler 5e36f9979b nuke old obsolete lua stuff - except edje_lua.c. let it dangle with
the actual lua code in it entirely not being compiled just as reference until
it's killed off.



SVN revision: 51622
2010-08-25 01:09:44 +00:00
Cedric BAIL b10e598f52 * edje: add back anonymous script.
SVN revision: 51617
2010-08-24 16:39:51 +00:00
Cedric BAIL 1f0b19c4b4 * edje: add back anonymous program support.
SVN revision: 51613
2010-08-24 14:17:17 +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 1d1a36047b * edje: remove edje_convert use in edje_cc.
SVN revision: 51134
2010-08-15 18:14:33 +00:00
Carsten Haitzler 550e1a7531 compiler wrong! fix!
SVN revision: 51068
2010-08-13 10:04:37 +00:00
Cedric BAIL 2623367732 * edje: fix some memleak issue.
SVN revision: 51033
2010-08-12 12:58:54 +00:00
Cedric BAIL d4bf64d1c2 * edje: move code around.
SVN revision: 51016
2010-08-11 18:29:41 +00:00
Cedric BAIL 9ecc1354c6 * edje: new file format.
WARNING ! WARNING ! WARNING ! WARNING !
	Old file format is not readable by edje directly. If you have old edje
	file that you want to convert, use edje_convert. Their is no way back.

	Recompile your file as soon as possible. Please report any issue you
	spot as this is a huge and needed change.



SVN revision: 50936
2010-08-09 17:34:03 +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
Cedric BAIL e773bc9246 * edje: change memory layout that will become the new file format.
NOTE: I tried this change with all the apps and theme I had, but maybe
	i missed some bug. Please report any strange behaviour.


SVN revision: 50641
2010-07-29 12:02:36 +00:00
Cedric BAIL 793c66b5dc * edje: last move of properties in the right structure.
SVN revision: 50284
2010-07-16 16:00:26 +00:00
Cedric BAIL 04ffefa9e5 * edje: move image specific properties to their own structure.
SVN revision: 50282
2010-07-16 14:13:38 +00:00
Cedric BAIL 83bb52f7c9 * edje: attempt to reduce code size by using more macro.
SVN revision: 50281
2010-07-16 13:58:35 +00:00
Cedric BAIL 30d35eb1ba * edje: start to split structure content.
SVN revision: 50279
2010-07-16 11:37:58 +00:00
Cedric BAIL b49c2411bd * edje: when gradient meet dodo. Yes, they are gone !
SVN revision: 50223
2010-07-13 15:47:19 +00:00
Cedric BAIL 9560d51241 * edje: Add alias for part too. This should help designer to
provide the right part name and still use GROUP and BOX.


SVN revision: 50001
2010-07-02 16:56:42 +00:00
Cedric BAIL ba95606159 * edje: prevent some segv in edje_cc and detect wrong edje file
before compiling them.

	Patch by Rafael Fonseca <rfonseca@profusion.mobi>.


SVN revision: 49999
2010-07-02 15:37:37 +00:00
Cedric BAIL 4e30cb2411 * edje: move structure from Eina_List to array now that Eet support
them.


SVN revision: 49936
2010-06-29 13:48:03 +00:00
Vincent Torri 1a1410895c use correct enum variable (same value, though)
SVN revision: 49543
2010-06-06 19:26:12 +00:00
Cedric BAIL 83e505b5c6 * edje: Add image set support.
Ease support of Freedesktop multiple size image.

	Sample:
	-------

	images {
		..
	       	set {
			name: "image_name_used";
  			image {
				image: "500x500.png" LOSSY 90;
     				size: 201 201 500 500;
  			}
  			image {
				image: "200x200.png" COMP;
     				size: 51 51 200 200;
  			}
  			image {
				image: "50x50.png" COMP;
     				size: 11 11 50 50;
  			}
  			image {
				image: "10x10.png" COMP;
     				size: 0 0 10 10;
  			}
		}
		..
	}



SVN revision: 49369
2010-06-01 13:31:07 +00:00
Tiago Rezende Campos Falcao c1be10e587 Removing some warnings of edje
Remaining:
edje_lua.c:328: ‘_edje_lua_reg_count’ defined but not used
edje_lua.c:409: ‘_edje_lua_rawgetfield’ defined but not used
edje_lua.c:445: ‘_edje_lua_free_metatable’ defined but not used
edje_lua.c:2182: ‘_edje_lua_object_set_pointer_mode’ defined but not used
edje_lua.c:2190: ‘_edje_lua_object_set_precise_is_inside’ defined but not used

SVN revision: 48142
2010-04-19 20:37:28 +00:00
Gustavo Sverzut Barbieri 651070fc1d new program action PARAM_SET, complements PARAM_COPY.
Sometimes you want to catch an action like "clicked" from elm/button
or "mouse,clicked,1" from a regular part and want to set a property
like "play" on some object. In this case there is no source property
to copy, so setting the destination makes sense. This was possible
with Embryo, and now it is with regular "program".

Sample EDC:
{{{

   // test.edc, compile with edje_cc and run with edje_player

   externals {
      external: "elm";
   }
   collections {
      group { name: "main";
         parts {
            part { name: "bg"; type: RECT;
               description { state: "default" 0.0;
                  color: 255 255 255 255;
               }
            }
            part { name: "button"; type: EXTERNAL;
               source: "elm/button";
               description { state: "default" 0.0;
                  rel2.relative: 1.0 0.5;
               }
            }
            part { name: "display"; type: TEXT;
               description { state: "default" 0.0;
                  color: 0 128 0 255;
                  rel1.relative: 0.0 0.5;
                  rel2.relative: 0.5 1.0;
                  text { font: "Sans"; size: 16; }
               }
            }
            part { name: "entry"; type: EXTERNAL;
               source: "elm/scrolled_entry";
               description { state: "default" 0.0;
                  rel1.relative: 0.5 0.5;
                  params.bool: "editable" 0;
               }
            }
            programs {
               program {
                  signal: "clicked";
                  source: "button";
                  action: PARAM_SET "display" "text" "hello world!";
               }
               program {
                  signal: "clicked";
                  source: "button";
                  action: PARAM_SET "entry" "text" "bla!";
               }
            }
         }
      }
   }

}}}



SVN revision: 47635
2010-03-31 20:48:51 +00:00
Gustavo Sverzut Barbieri 0b231e99ce Add CHOICES to EXTERNAL support.
Choices are useful to represent enumerations and restricted set of
elements to user. Usually this is displayed in hoversel/comboboxes.



SVN revision: 47570
2010-03-29 21:51:40 +00:00
Gustavo Sverzut Barbieri 71d603c360 new program action PARAM_COPY, awesome crazy stuff! :-)
Edje got a new program action called PARAM_COPY in the form:

   action: PARAM_COPY "src_part" "src_param" "dst_part" "dst_param";

This will copy the parameter "src_param" from part "src_part" to
parameter "dst_param" of part "dst_part".

So far so good, why the "crazy" in the first line? Because this also:
  * do type conversion!
  * set properties of native parts, not just EXTERNAL!

The type conversion allows one to get an integer and display that in a
text property, or get an string and convert into a float.

The set of native parts is quite simple, basically a map of Edje.h
edje_object_part_*_set(). With that one can set the string to be used
by a TEXT, or set drag page/step/size/value! (page/step increments are
not supported at the moment, if it is worth, they may be supported in
future).

Sample EDC:

{{{

  // test.edc, compile with edje_cc and run with edje_player

   externals {
      external: "elm";
   }
   collections {
      group { name: "main";
         parts {
            part { name: "bg"; type: RECT;
               description { state: "default" 0.0;
                  color: 255 255 255 255;
               }
            }
            part { name: "entry"; type: EXTERNAL;
               source: "elm/scrolled_entry";
               description { state: "default" 0.0;
                  rel2.relative: 1.0 0.5;
               }
            }
            part { name: "display"; type: TEXT;
               description { state: "default" 0.0;
                  color: 0 128 0 255;
                  rel1.relative: 0.0 0.5;
                  text { font: "Sans"; size: 16; }
               }
            }
            programs {
               program {
                  signal: "changed";
                  source: "entry";
                  action: PARAM_COPY "entry" "text" "display" "text";
               }
            }
         }
      }
   }

}}}



SVN revision: 47500
2010-03-27 01:26:10 +00:00
Viktor Kojouharov 2ae2d6c7bc docu typos
SVN revision: 46952
2010-03-07 15:53:46 +00:00
Gustavo Sverzut Barbieri 15ee9e8847 documentation improvements:
- quick access in the huuuuuuuge edcref
 - block name is top-aligned to its example fragment



SVN revision: 46668
2010-02-28 19:25:10 +00:00
Gustavo Sverzut Barbieri 456f222a0f [PATCH2/2] Improve edje documentation.
This reorder couple of functions so the generated documentation makes
sense.

By: Eduardo Felipe < eduardofelipe87@gmail.com>



SVN revision: 46541
2010-02-27 00:25:32 +00:00
Gustavo Sverzut Barbieri 46f0a73003 [PATCH1/2] Improve edje documentation.
This fixes the documentation, but they are still in the wrong order.

By: Eduardo Felipe <eduardofelipe87@gmail.com>


SVN revision: 46540
2010-02-27 00:15:41 +00:00
Cedric BAIL fc20b4541e * edje: Use fixed point for tween too.
SVN revision: 46429
2010-02-24 15:37:16 +00:00
Cedric BAIL 51de26862a * edje: Add more focus event in edje. A start for a focus layout work.
SVN revision: 46389
2010-02-23 13:39:19 +00:00
Carsten Haitzler a952803f13 aaaah missing map smooth and alpha flags.
SVN revision: 46383
2010-02-23 05:45:24 +00:00
Carsten Haitzler ea37c003f3 docs++
SVN revision: 46342
2010-02-21 09:39:58 +00:00
Carsten Haitzler e89c590b0d add border_scale option for images - image border will scale based on edje
scale factors. this is independant of scale: per part.



SVN revision: 46341
2010-02-21 06:53:44 +00:00
Cedric BAIL e4ee012951 * edje: Change filter_state to filter and give the possibility to
filter from another part than the event source.



SVN revision: 46316
2010-02-19 18:30:46 +00:00
Carsten Haitzler e2bc27fb44 interp properly and make perspective api work.. untested yet...
SVN revision: 46302
2010-02-19 06:28:03 +00:00
Carsten Haitzler 3c71b10522 add back face cull option.
SVN revision: 46217
2010-02-16 16:36:16 +00:00
Carsten Haitzler bf293931a1 map support in edje - first cut, missing features like back-face culling.
also no dependency tracking etc. etc.



SVN revision: 46216
2010-02-16 16:20:15 +00:00
Cedric BAIL 397b718cf1 * edje: Add filter_state to program.
Patch from "Tristan <blunderer@gmail.com>".


SVN revision: 46048
2010-02-10 15:07:17 +00:00
Boris Faure 44de2046c0 edje: edc property is elipsis and not text_elipsis (update doc + vim syntax file)
SVN revision: 46031
2010-02-09 22:28:07 +00:00
Tiago Rezende Campos Falcao 2ab186175e Save font filename in eet. By Masaki
Author:    Thiago Ribeiro Masaki <masaki at profusion.mobi>

SVN revision: 45869
2010-02-04 14:34:06 +00:00
Sebastian Dransfeld ef970dfb10 make clang happy
SVN revision: 45195
2010-01-15 20:01:42 +00:00
Carsten Haitzler 61f893a3a0 fix docs! were wrong!
SVN revision: 45058
2010-01-12 07:05:30 +00:00
Iván Briano 953835bad8 Add 'api' keyword to parts and programs.
Not used yet, stay tuned.

Patch by Thiago Masaki


SVN revision: 44912
2010-01-05 19:26:18 +00:00
Cedric BAIL 018a9dad66 * edje: Use Eina_Log.
Patch from Mathieu Taillefumier.


SVN revision: 44655
2009-12-22 13:46:00 +00:00
Gustavo Sverzut Barbieri ffdd35a843 add docs for image 'USER', that I didn't know about.
SVN revision: 44540
2009-12-18 12:34:07 +00:00
Cedric BAIL 0209236d41 * edje_cc: Generate valid edje file when fixed point is enable.
SVN revision: 44332
2009-12-10 13:19:54 +00:00
Iván Briano 9892926bdf Autoload modules for external widgets
Patch by Fabiano Fidencio


SVN revision: 43951
2009-11-24 17:55:11 +00:00
Gustavo Sverzut Barbieri d40d8d123d edje external support, part 1.
Patch by Fabiano Fidêncio <fidencio@profusion.mobi>



SVN revision: 43927
2009-11-23 15:03:19 +00:00
Iván Briano 22952844c4 and bring external back now that the file was added
SVN revision: 43306
2009-10-27 01:08:19 +00:00
Carsten Haitzler d3fd0c30cb REVERT! broke edje.
try again and dont forget to add edje_external.c! (and any others needing
adding)



SVN revision: 43304
2009-10-27 00:27:50 +00:00
Iván Briano 68756f92b2 External objects support by Brian 'rephorm' Mattern
Since we are on a freeze, the patch goes on updated to current svn, but without changing its API. After the freeze some things will be added, and some will change :)


SVN revision: 43302
2009-10-26 21:33:56 +00:00
Vincent Torri 3c48d7e6d0 * include config.h in all source files
* declare alloca before the standard headers
 * include Evil.h for the declaration of realpath in edje_cc_prefix.c

SVN revision: 43263
2009-10-25 11:19:12 +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
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
Gustavo Sverzut Barbieri 1d9af7284e typo--
SVN revision: 40999
2009-06-10 17:54:40 +00:00
Carsten Haitzler e6de097425 allow scale_hint to be added to items in edje
SVN revision: 40537
2009-05-07 13:30:18 +00:00
Carsten Haitzler 2afadb527b working on edje entry to allow more selection controls. not 100% done yet.
SVN revision: 39578
2009-03-19 13:36:10 +00:00
Viktor Kojouharov 0a544a09d3 'box.min' for the edje box
SVN revision: 39298
2009-02-28 19:38:35 +00:00