Commit Graph

10 Commits

Author SHA1 Message Date
Davide Andreoli 49daa74741 * call the smart_changed function
SVN revision: 37762
2008-11-23 03:27:28 +00:00
Davide Andreoli bb2cc93ebc * add the function:
Evas_Bool evas_object_box_remove_all(Evas_Object *o, Evas_Bool clear);
* set min size hint on layout (flow layouts not done yet)


SVN revision: 37758
2008-11-23 02:01:38 +00:00
Gustavo Sverzut Barbieri c47275f609 add missing evas_object_smart_changed()
SVN revision: 37714
2008-11-19 12:20:20 +00:00
Gustavo Sverzut Barbieri 9ede53480f minor optimization for box remove_at.
use eina_list_nth_list() so we can cut search time up to half, as eina
list can look backwards if position is close to list end.



SVN revision: 37692
2008-11-17 14:20:08 +00:00
Gustavo Sverzut Barbieri 4e108162aa make it easy to write bindings for box.
giving an extra void *user_data to layout function is now easy to
write bindings, just give the callback to be a generic function that
will call the language/binding specific function handled as user_data.

Example, for python we can use:

   void _layout_dispatcher(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) {
       PyObject *pyobj = data, *args;

       args = PyTyple_New(1);
       PyTuple_SET_ITEM(args, 0, Evas_object_from_instance(o));
       PyObject_Call(pyobj, args, NULL);
       Py_DECREF(args);
   }

   evas_object_box_layout_set(o, _layout_dispatcher, pyobj, Py_DecRef);


SVN revision: 37640
2008-11-14 23:10:29 +00:00
Gustavo Sverzut Barbieri 4ce0cbc6ea oops! fix bugs hinted by compiler warnings!
SVN revision: 37635
2008-11-14 21:33:10 +00:00
Gustavo Sverzut Barbieri ef48d58df5 Comments about box and table.
SVN revision: 37372
2008-11-01 13:36:58 +00:00
Gustavo Sverzut Barbieri f2791cdc56 Add evas_object_table, make evas_object_box more consistent.
Table code is still *incomplete*, it just do homogeneous layouts as
I'm still trying to figure out how to make it great.

I'm not expecting to make layout configurable, as we did for box, but
if you think it's required we can do that later.

Now that the public API of both BOX and TABLE are in, we can add these
as parts of Edje.



SVN revision: 37359
2008-10-31 17:42:47 +00:00
Gustavo Sverzut Barbieri 34397f7fc6 always copy all members from parent Evas_Smart_Class.
SVN revision: 37254
2008-10-27 21:21:53 +00:00
Gustavo Sverzut Barbieri 5026fa724a add evas_object_box.
Box is a smart object to help with the common task of laying out lots
of objects. It's very flexibile and one can customize the layout
function on a per-object basis dynamically, just set a new layout
function (the most common are provided). By default layouts use size
hints from children to do their work, but one can also add new
properties, just subclass with evas_object_smart_smart_set() and then
define your own option_* callbacks.

This code was ported from Guarana (widgets/sequence_box.c) with
permission of ProFUSION embedded systems so it can be relicensed from
LGPL to Evas license.

Original author: Gustavo Lima Chaves <glima@profusion.mobi>
Port: Gustavo Sverzut Barbieri <barbieri@profusion.mobi>



SVN revision: 37188
2008-10-27 02:22:41 +00:00