Commit Graph

168 Commits

Author SHA1 Message Date
Carsten Haitzler cc621a2685 not fully done string insert approval cb for entry
SVN revision: 49276
2010-05-29 06:40:56 +00:00
Tiago Rezende Campos Falcao 9317ce25ac INT_MAX need limits.h. By Raphael Kubo
SVN revision: 49117
2010-05-21 22:53:41 +00:00
kiwi 0bc9b1cf55 set EDJE_EXTERNAL_DOUBLE_UNSET to DBL_MAX instead of HUGE_MAX, so that it's a constant on OpenBSD.
set EDJE_EXTERNAL_INT_UNSET to INT_MAX for consistency.

that fixes compilation on OpenBSD and closes ticket #540
ok vtorri


SVN revision: 49112
2010-05-21 19:28:33 +00:00
Carsten Haitzler 685fadf869 item provider callback... add!
SVN revision: 48329
2010-04-26 14:55:45 +00:00
Gustavo Sverzut Barbieri 004df4045f Get a table element with its coordinates.
By: Hugo Camboulive <hugo.camboulive@gmail.com>


SVN revision: 48088
2010-04-17 20:28:22 +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 1bb3339188 another useful function
SVN revision: 47564
2010-03-29 19:32:45 +00:00
Gustavo Sverzut Barbieri acadc5e210 export useful function.
SVN revision: 47562
2010-03-29 18:44:42 +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
Gustavo Sverzut Barbieri cfecbc912b Edje EXTERNAL API break, for good.
I'm now introducing a couple of goodies to make externals more useful,
they are:

 * add: extra parameter with the part name. This may be used by
   external objects to emit signals in the name of that part.

 * param_set/param_get: set parameters at runtime, given their names
   and types. This avoids requiring users to get the actual object and
   call methods. This abstraction is also good because it let one uses
   Elementary without even linking to it ;-) (this have limits, like
   complex types are not supported).  Right now this is just exposed
   to C, but goal is to have it exposed in Embryo and Lua as well.

 * translate: new method to translate previously strings that are
   specified statically, such as the parameters names.


Four new functions got added to the Edje API:

 * edje_object_part_external_object_get() so we don't have to abuse
   edje_object_part_swallow_get()

 * edje_object_part_external_param_set() and
   edje_object_part_external_param_get() that call the external type's
   functions.

 * edje_external_param_type_str() to convert types to string and
   provide nicer debugs :-)


TODO:
  * expose external_param_set()/external_param_get() to Embryo and Lua.




SVN revision: 47456
2010-03-25 18:05:42 +00:00
Carsten Haitzler cbde94b4e3 calls for entry users to use.
SVN revision: 47126
2010-03-11 06:34:20 +00:00
Tiago Rezende Campos Falcao 16b4338a5d Adding edje_object_parts_extends_calc, to calc the geometry used by parts
SVN revision: 46876
2010-03-04 20:40:54 +00:00
Mikhail Gusarov b0b1fa40fa edje: Document several puzzling Edje_External_Type callbacks
SVN revision: 46697
2010-03-01 14:41:49 +00:00
Gustavo Sverzut Barbieri fcb71a4b3b Edje now uses Eina_Bool where it should.
SVN revision: 46646
2010-02-28 15:57:17 +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 e2bc27fb44 interp properly and make perspective api work.. untested yet...
SVN revision: 46302
2010-02-19 06:28:03 +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
Tiago Rezende Campos Falcao 0e0534c564 Adding Module Name to Externals
SVN revision: 45565
2010-01-25 20:30:02 +00:00
Vincent Torri d1632dfd52 use HUGE_VAL instead of a strange double/float numerical value
do I have to add -lm to Libs in edje.pc ?


SVN revision: 45119
2010-01-14 19:47:08 +00:00
Iván Briano ad2988b7fd Bunch of functions changed to return Eina_Bool.
More of this can be done, and some may even be too much, but I'm losing
perspective over it and either I'm inclined to move all of them or none
at all.
Reviews, comment, fixes and reverts are welcome.



SVN revision: 45115
2010-01-14 18:07:24 +00:00
Gustavo Sverzut Barbieri 598c9b339c fix warnings introduced by external parameter stuff.
Thanks to cedric by spotting those.


SVN revision: 44633
2009-12-21 16:39:24 +00:00
Carsten Haitzler eac3646b27 fmting
SVN revision: 44313
2009-12-09 07:54:43 +00:00
Iván Briano 836496c265 Add type bool to external parameters
Patch by glima


SVN revision: 44308
2009-12-09 06:51:13 +00:00
Carsten Haitzler aad24b249c make nan const... cosnt!
SVN revision: 44307
2009-12-09 06:26:59 +00:00
Carsten Haitzler 8700b81cb2 much better nan!
SVN revision: 44305
2009-12-09 05:30:43 +00:00
Iván Briano 35da61c96d define NAN if not there
SVN revision: 44303
2009-12-09 05:12:16 +00:00
Cedric BAIL c76b578b37 * edje: Add edje_object_preload, it will force the preload of all
image embeded inside an edje and send a signal ("preload,done", "")
	at the end.


SVN revision: 44186
2009-12-04 16:20:40 +00:00
Gustavo Sverzut Barbieri f0e42c478d Edje_External_Type: rename functions that add new objects.
SVN revision: 44137
2009-12-02 21:54:28 +00:00
Gustavo Sverzut Barbieri 778cc70719 Edje_External_Type: break abi, add abi checker.
- add preview_get() and description_get(), breaking ABI badly.
 - add abi_version field to be fileld with EDJE_EXTERNAL_TYPE_ABI_VERSION
   and checked with edje_external_type_abi_version_get()




SVN revision: 44135
2009-12-02 21:41:28 +00:00
Gustavo Sverzut Barbieri 607de4c300 batch register/unregister of external types, faster and lighter on memory.
This is the recommended way to register a batch of types, it will not
do check (hash lookup) before adding and keys are added as "direct"
(not copied), thus lighter on memory.



SVN revision: 44102
2009-12-01 17:58:17 +00:00
Carsten Haitzler 6f1873f87d add lots of cursor con trol api's
SVN revision: 44087
2009-12-01 11:02:46 +00:00
Iván Briano 828b281904 externals {} in edje_edit, source generation and add module to the external_Type api to keep track of who registers what
SVN revision: 44003
2009-11-26 17:01:31 +00:00
Iván Briano 612f005cef More macros and default values por external parameters.
Add external parts in edje_edit


SVN revision: 43977
2009-11-25 17:00:53 +00:00
Iván Briano 2001a9e246 Easier to use macros
SVN revision: 43937
2009-11-23 22:18:01 +00:00
Iván Briano 10434c1fc4 Parameter information for external widgets
This are used for things like editors to know what parameters
to manage for external stuff.


SVN revision: 43935
2009-11-23 20:21:22 +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 d32a84d8a4 Constness and pass object around
SVN revision: 43671
2009-11-13 18:35:19 +00:00
Iván Briano 2ba79e04af Some more stuff in externals, little api change there, may change some more later.
SVN revision: 43379
2009-10-31 18:07:08 +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 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
Gustavo Sverzut Barbieri d7c76122b0 edje_{,object}_color_class_get() and signals when color_classes are changed.
Enable applications to retrieve current color class values as well as
emit edje signals when they are deleted or changed.



SVN revision: 42773
2009-09-28 17:23:02 +00:00
Iván Briano ed7064edcc Move some defines to enum and expose them.
Move to Eina_Bool.
Return success for rename of group and part to the same name.

Patch by Tiago Rezende Campos Falcão


SVN revision: 42506
2009-09-16 03:37:28 +00:00
Michael Lauer e1bb8c38ad edje: add first bunch of typedefs for previously anonymous callbacks
SVN revision: 41424
2009-07-18 22:43:50 +00:00
Cedric BAIL b405fecf1e * edje: Remove last set of Evas_Hash, and move to Eina_Bool.
SVN revision: 41068
2009-06-17 11:10:32 +00:00
Gustavo Sverzut Barbieri ec987bd579 edje now handles escape/unescape automatically for textblock.
these two new calls will escape the unescaped text if required, will
unescape when get is called.

Also I fixed edje_object_part_text_get() on non-editable TEXTBLOCK,
now it will return the text with markup.



SVN revision: 40066
2009-04-14 23:53:25 +00:00
Carsten Haitzler 4218f905f5 add more util calls for enty manipulation
SVN revision: 39600
2009-03-20 15:07:39 +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
Carsten Haitzler b6f51da478 allow individual objects to have differing scaling factors (object scale
overrides edje global scale)



SVN revision: 38908
2009-02-03 05:07:58 +00:00
Cedric BAIL 519296191d Return success or not for table API.
SVN revision: 38381
2008-12-31 11:49:42 +00:00
Gustavo Sverzut Barbieri b1f00aa9d5 edjeL convert error code to string.
SVN revision: 38268
2008-12-21 18:39:36 +00:00
Iván Briano 7f3dfc66f2 And finally, edje table goes in
SVN revision: 38204
2008-12-18 02:43:20 +00:00
Gustavo Sverzut Barbieri 2f8f874b20 Shut up a bunch of warnings and fix some real errors.
SVN revision: 37954
2008-12-06 03:08:17 +00:00
Iván Briano 0ee4d07727 Edje Box in. Have fun with it.
SVN revision: 37783
2008-11-24 05:15:15 +00:00
Carsten Haitzler d5bc0e8546 add calls to select all/none
SVN revision: 37700
2008-11-18 08:45:27 +00:00
Carsten Haitzler 1d8a7e4dd3 allow you to get geom of anchors.
SVN revision: 37039
2008-10-24 00:44:26 +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
Carsten Haitzler 7428272b25 and support anchors now. fix up other nigglies. very solid now.
SVN revision: 36741
2008-10-17 06:40:46 +00:00
Carsten Haitzler ab9c9c71d3 edje entry growing.
SVN revision: 36709
2008-10-16 09:17:44 +00:00
Carsten Haitzler 23e2c9e035 support an edje scaling factor. parts can selectively say "yes.. scale me!"
:)... this allows e etc. to adapt to massivelyt different dpi screens with
slickness that even svg can't get to... why? you scale just what NEEDS
scaling (text, button sizes, and other limiting elements). other bits like
borders, padding etc. can remain pixel-perfect and thus the look is amazing.
pixel-perfect drawing with scalable adapting.



SVN revision: 35895
2008-09-09 14:13:34 +00:00
Gustavo Sverzut Barbieri d428d6ec1d Add some consts to Edje's API.
Some methods do no change object internal state and can be marked as
read only. In parallel have infamous edje_object_part_object_get() to
return a read-only object, so it's even more clear that one should not
touch this object state (either a cast or a compiler warning if you do
that!)


SVN revision: 35485
2008-08-14 18:21:27 +00:00
Gustavo Sverzut Barbieri a85c8a5f2b Fix name incoherency: rename Edje->part to group.
It is very confusing to have "part" there and in the methods call,
because we want the group name, not part.


SVN revision: 35483
2008-08-14 18:04:43 +00:00
doursse 653692fa28 fix autotools stuff for Windows
SVN revision: 34712
2008-05-31 06:15:41 +00:00
Carsten Haitzler dde62f1882 add another constraint-aware min calc
SVN revision: 34297
2008-04-17 10:22:57 +00:00
doursse 2e7692e45e make edje binaries compile and allow the creation of the edje shared lib on windows. Remove some trailing spaces
SVN revision: 31517
2007-08-26 12:54:51 +00:00
Carsten Haitzler 24b62d0683 constness patches from cedric
SVN revision: 30848
2007-07-16 07:31:06 +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
Viktor Kojouharov 06ea50650b text_class_del/list functions
SVN revision: 27558
2006-12-24 10:29:16 +00:00
rephorm d01355b139 convenience function for testing if groups are in an edje
SVN revision: 25327
2006-09-02 05:10:17 +00:00
moom 5014c11f2e * Add edje_object_part_object_get() to get the 'Evas_Object *'
corresponding to a given part.


SVN revision: 24912
2006-08-19 18:22:01 +00:00
Carsten Haitzler 3ea84d923f more external aspect support - all working nicely now
SVN revision: 24148
2006-07-23 19:33:27 +00:00
Carsten Haitzler 5de5999b5a allow code to specify an aspect for swallowed objects
SVN revision: 24145
2006-07-23 13:50:02 +00:00
rephorm a58af07dd7 Add edje_color_class_del(), edje_object_color_class_del() and edje_color_class_list().
Use stringshare for cc names.


SVN revision: 19861
2006-01-17 02:41:25 +00:00
Carsten Haitzler 7554f8ee36 actually make symbol hiding work!
SVN revision: 19314
2005-12-27 17:17:31 +00:00
rbdpngn ccc8f7236f Set load errors in more cases.
SVN revision: 17617
2005-10-16 20:36:20 +00:00
Carsten Haitzler c3d08acb8b file and collection cache - this should remove a lot of file io... :)
SVN revision: 14081
2005-04-03 11:43:00 +00:00
Carsten Haitzler 6938a5eb5f suport fontset appends
SVN revision: 13808
2005-03-20 16:49:10 +00:00
Carsten Haitzler 64f8d970a8 able to force a calc if we want to...
SVN revision: 12288
2004-11-28 14:52:01 +00:00
Carsten Haitzler feb5571092 hidden symbol support
SVN revision: 12252
2004-11-25 05:18:31 +00:00
Carsten Haitzler 674c783cdf more message queue calls
SVN revision: 11607
2004-09-11 02:59:23 +00:00
Carsten Haitzler 4648c06858 expose the ability to process the message queue any time :)
SVN revision: 11606
2004-09-11 02:41:23 +00:00
Carsten Haitzler 908b595357 more container stubs...
SVN revision: 11061
2004-07-27 19:05:46 +00:00
rbdpngn 6b9f49e51f Make the enum typedef seperate to appease some annoying compilers.
SVN revision: 10871
2004-07-16 23:34:26 +00:00
Carsten Haitzler 5ff4a5b272 fully supported message queues now. that was a chunk of work!
SVN revision: 10663
2004-07-02 10:17:25 +00:00
Carsten Haitzler 6393094fb7 werd up to ma homies yo... err - i mean - message queue now uses more
standard structs for messages, and i allow the message queue to fee itsel for
up to 8 iterations before forcing us to rever to normal loop processing
again. this shoudl cover most soignal emit/respond cases in normal usage
without forcing more loop to run and possibly a render.


SVN revision: 10662
2004-07-02 03:24:56 +00:00
Carsten Haitzler 4c90cb8d2a example of message handler in test.edc... a start.
SVN revision: 10657
2004-07-01 06:38:36 +00:00
Carsten Haitzler 5b506efe2c 1. fix a leak. i was naughty. spank spank
2. message queue is in - i am currently not surer if i shoudl go with this
varags api internally ot move to a more manual "build a list" thing... but the
message queue does work - i've moved signals to use it.


SVN revision: 10653
2004-07-01 03:46:05 +00:00
Carsten Haitzler 9fb09cae7a edje arlo patches
SVN revision: 10443
2004-06-06 04:42:17 +00:00
Carsten Haitzler 8c5069a658 add stuff for evoak... and edje list vars... :)
SVN revision: 10424
2004-06-03 09:14:55 +00:00
Carsten Haitzler d22c821b4a timers and animators are now supported from the embryo scripts - WOOO!
examples in e_logo.edc

errr - the animators may have problems if somehow aan animator is deleted or
object deleteded or file changed while running thru the list...


SVN revision: 9567
2004-04-02 09:16:53 +00:00
Carsten Haitzler 92b6f79c2e fixed a leak... patches from trill... need to go thru my mail....
SVN revision: 9281
2004-03-08 02:43:48 +00:00
Carsten Haitzler b2102064ed cleanies
SVN revision: 8574
2004-01-20 01:04:16 +00:00
tsauerbeck aa22ce4442 more memory management improvements. applications should call edje_shutdown() now.
SVN revision: 8355
2004-01-12 17:41:48 +00:00
rbdpngn 17678212d6 Global text and color class manipulation. Settings on individual edje's will
override the global values.


SVN revision: 7795
2003-11-04 06:15:19 +00:00
Carsten Haitzler c2ce9b7c48 load error fetching
SVN revision: 7674
2003-10-20 06:10:09 +00:00
Carsten Haitzler 00d83df7eb match changes made to evas.
SVN revision: 7645
2003-10-18 03:34:54 +00:00
rephorm 7e7a3e88b4 edje_object_file_set() now returns 1 on success and 0 on failure.
SVN revision: 7493
2003-09-29 20:43:37 +00:00
Carsten Haitzler df683295dd dragables are about complete now.. with new actions, page and step values....
all happy & smelly.


SVN revision: 7395
2003-09-01 02:53:08 +00:00