Commit Graph

142 Commits

Author SHA1 Message Date
Davide Andreoli 49d409db3a New 1.13 property evas.Map.util_object_move_sync 2015-01-17 11:38:26 +01:00
Davide Andreoli 783e2ba6c8 Evas.Object: New convenience props, size_hint_expand and size_hint_fill
Also added some docs for size hints usage
2015-01-06 17:46:18 +01:00
Davide Andreoli de01f76650 Evas: better define for EVAS_HINT_FILL/EXPAND
Also added the various tuple we always use, just for convenience.

Use the new tuples in the elm examples
2015-01-05 12:24:19 +01:00
Davide Andreoli 4bc8d227a9 New style enums for ethumb
...not really tested as there are no test nor examples for ethumb :(
2015-01-04 22:46:40 +01:00
Davide Andreoli bbb747eb5e New style enums for eo 2015-01-04 22:30:19 +01:00
Davide Andreoli 728ff202e4 New style enums for emotion 2015-01-04 22:12:08 +01:00
Davide Andreoli e6d3a88349 New style enums for edje_edit 2015-01-04 22:04:36 +01:00
Davide Andreoli 3ebc6f21e9 New style enums for edje 2015-01-04 22:02:09 +01:00
Davide Andreoli 419405e456 New style enums for ecore 2015-01-04 21:29:40 +01:00
Davide Andreoli f9e8906724 Use new cython cpdef-enums in evas
cpdef enums are automatically exported to C and
to python, no more need for the enums file and
the duplicated definition for py.

This is a cython 0.21 feature so from now on you will
need at least that version.

Require some <int> cast here and there, but a totally
win in the end.
2015-01-04 20:44:45 +01:00
Davide Andreoli 94a4b56444 Forgot to commit this (when I disabled SmartObject) 2015-01-04 16:55:30 +01:00
Davide Andreoli 027505f45a Move ecore enums with all the other enums files 2015-01-04 13:14:06 +01:00
Davide Andreoli 863efc19eb Move ecore_x out of the ecore extension
Now ecore do not more looks like an alien with his __init__
hack and his different module/package structure

This broke ecore.x users as the extension is now efl.ecore_x

Sorry to bother but I still think that ecore_x should not be
implemented in python, if this hurt you please let me know
2015-01-04 12:47:40 +01:00
Davide Andreoli a4f2cc37cc Another year has passed... 2015-01-02 20:03:53 +01:00
Davide Andreoli 60e7e94889 New 1.12 API: edje_object_base_scale_get
With proper test
2014-11-22 15:21:00 +01:00
Davide Andreoli 8f05e1c177 New 1.12 api: edje_object_part_text_input_hint_set/get 2014-11-18 20:55:12 +01:00
Davide Andreoli 9a78c4e22d Expose object_from_instance and the inverse to other C code
This create the efl.eo_api.h file that you can copy to your source if you want to use the exported api
2014-08-16 12:33:29 +02:00
Davide Andreoli 4a57a7deaa Follow recent Eo api changes
eo_event_global_freeze_get -> eo_event_global_freeze_count_get
eo_event__freeze_get -> eo_event_freeze_count_get
2014-06-02 17:21:42 +02:00
Davide Andreoli 2967438dca Fix param declaration for edje_edit offset functions (float->int) 2014-05-19 20:04:22 +02:00
Kai Huuhko d98cd27107 efl.ecore: Transform into a package
The old efl.ecore.so module renamed to __init__.so which gets
automatically used for the package namespace when there is an empty
__init__.py included.
2014-05-13 15:12:38 +03:00
Davide Andreoli 209d232836 Added evas_font_path_global_* API 2014-05-10 18:52:09 +02:00
Kai Huuhko 8109cd62b4 Code cleanup: Spelling and grammar fixes 2014-04-14 23:39:59 +03:00
Davide Andreoli b3eef73b0e s/2013/2014/g 2014-04-14 22:21:03 +02:00
Davide Andreoli cc02387266 Adjust the bindings to work with Eo2 2014-04-14 21:41:38 +02:00
Kai Huuhko d65101b24b Code cleanup: Unused/misplaced cimports 2014-04-14 00:51:19 +03:00
Kai Huuhko c342feab6f Ethumb: Adjust file headers to the new merged python-efl style. 2014-04-11 18:28:42 +03:00
Kai Huuhko 6ebdf2b607 Bring back Python bindings for Ethumb. 2014-04-11 18:12:49 +03:00
Kai Huuhko adf70fa26f Remove const hacks
They were a workaround for limitations in Cython <0.18
2014-04-05 03:13:15 +03:00
Davide Andreoli ec71e46441 Python-EFL: new 1.9 API : Win.wm_rotation_* functions and properties
NOTE: all this is UNTESTED as I do not have a rotating WM
2014-03-01 19:35:40 +01:00
Kai Huuhko b21fde2ba7 Silence warnings in Cython 0.20 2014-01-24 22:52:34 +02:00
Kai Huuhko 264491875d Edje: Re-enable edje-edit. 2013-12-30 14:04:57 +02:00
Davide Andreoli 74244a5ac7 Python-EFL: fix the mess with the lgpl version.
Elm was lgpl3, COPYING was lgpl3, docs say lgpl3. So fix everything to be v3.
Also fix the COPING for Lesser: we must include gpl (in COPYING) AND lgpl (in COPYING.LESSER).
2013-12-07 17:54:58 +01:00
Kai Huuhko bb5307ea20 Evas: Use _set_properties_from_keyword_args 2013-12-04 13:14:12 +02:00
Kai Huuhko f2b22e94bb Eo: Change _register_decorated_callbacks to not use hasattr/getattr
They actually get the value of a property, leading to unexpected
behavior. Iterate the class dict instead.
2013-11-24 17:56:08 +02:00
Kai Huuhko ba9f729094 Ecore: Add AnimatorTimeline. 2013-11-19 21:21:04 +02:00
Kai Huuhko 225f061b05 Optimize exception propagation in several hot/time critical cases.
With "except *" a call is made to PyErr_Occurred on each call of a
function.

Adding a return value where possible and using an appropriate exception
value calls PyErr_Occurred only when that value is returned, ie.
an exception has been raised.

cdef void example_func() except *: <- PyErr_Occurred called on each call
cdef int example_func() except 0: <- PyErr_Occurred called only when
	an exception has been raised (the function thus returns 0)
2013-11-10 08:47:21 +02:00
Kai Huuhko e557b2fcb4 Eo: Add several methods, tests and more debug logging.
Methods:
 - parent_set/get
 - event_freeze(_get)/thaw
 - delete

Functions:
 - event_global_freeze(_get)/thaw

Moved enums to efl.eo.enums.pxd
2013-11-09 09:05:44 +02:00
Kai Huuhko 9db6938f1e Use types in objects' callback list definitions to simplify access.
Also use a more descriptive name for Evas' event callback list.
2013-11-07 11:35:03 +02:00
Kai Huuhko 41f0aeff67 Reduce usage of cpdef.
It was intended to make things easier but created problems with
inheritance and Evas SmartObject object customization.
2013-11-05 03:18:36 +02:00
Kai Huuhko d6d440c3a6 Add support for loggers that have been initialized already.
This allows module initialization to be logged as well.

Changed add_logger to return the logger object instead of int.
2013-10-26 03:22:47 +03:00
Kai Huuhko 19e7d11f61 Resolved Py3 issues.
Fixes T459
2013-10-26 02:38:25 +03:00
Kai Huuhko 3d85286336 Add arguments 'version' and 'message' to DEPRECATED decorator.
The decorator will automatically add a directive to the docstring and
log a message when the function is called.
2013-10-25 02:09:29 +03:00
Kai Huuhko 4771ca5ccb Move logger to its own module. 2013-10-24 22:58:09 +03:00
Davide Andreoli d47c9390b8 PythonEFL: (as always) unbreak the build with older chyton 2013-10-23 19:36:04 +02:00
Kai Huuhko 7fbab02702 First attempt at integrating Eina Log with Python logging.
Has two loggers: efl and efl.eo.

To test, add handlers, formatters etc. and change levels using
normal Python logging utilities. The test messages come from
efl.eo init and class registration.
2013-10-23 14:34:42 +03:00
Kai Huuhko b981ce3840 New feature: Set properties using constructor keyword arguments.
Only applied to Elm Bubble for now as an example.
2013-10-20 14:34:53 +03:00
Kai Huuhko 5f4a46da4b Move common conversion functions from efl.eo to efl.utils.conversions 2013-10-01 04:56:28 +03:00
Kai Huuhko 6587b5be67 Rename efl.pxd to efl.eina.pxd 2013-09-30 07:26:35 +03:00
Kai Huuhko 88db824a77 Change the _METHOD_DEPRECATED function into a decorator.
- move the decorator into a new package/module: utils/deprecated
 - simplify setup.py logic slightly, it still needs work
2013-09-20 12:01:50 +03:00
Davide Andreoli 6873820e95 PythonEFL: implemented some missed apis in edje 2013-08-19 20:49:18 +02:00
Davide Andreoli 7fefb7beef PythonEFL: implemented emotion vis stuff
Untested as probably no backend implement the feature,
but now emotion has 100% coverage :)
2013-08-19 19:37:55 +02:00
Davide Andreoli 0fe8211593 PythonEFL: do not ignore exceptions in Timer/Animator/Poller/Idlers callbacks 2013-08-11 11:20:26 +02:00
Kai Huuhko 0fc1e2bd98 Evas: Remove the unnecessary value assignments for enums. 2013-05-30 16:53:35 +03:00
Davide Andreoli 94863fa02a Python-EFL: update to recent evas enum change
Isn't this an API break ?? :/

kuuko: why some enums here still have explicit values? and why
they are not copyed in efl.evas.pyx ?
2013-05-29 22:17:05 +02:00
Davide Andreoli 5913721de9 Python-EFL: implemented decorators for edje.
Decorators implemented in a much more simple and generic
way than before, we can use them in other place too.

3 deco implemented:
@on_signal(emission, source)
@message_handler
@on_text_change

I choosed the 'strange' on_* naming convention to not
clash/confuse with normal callback functions, tell
me if you don't like.
2013-05-14 21:51:29 +02:00
Davide Andreoli 1c255024d3 Python-EFL: implemented ecore.Poller, with docs and unittest. 2013-05-13 01:27:00 +02:00
Davide Andreoli 39e16242a0 Python-EFL: implemented ecore.FileMonitor class 2013-05-12 19:15:09 +02:00
Kai Huuhko 724b999095 Ecore: Optimizations. 2013-04-22 20:20:21 +03:00
Kai Huuhko 0d63acbee9 Elementary: Implement Accessible objects, with cbs TODO later. 2013-04-22 20:20:21 +03:00
Kai Huuhko b3b87fe928 Ecore: Small optimization to the task_cb function call. 2013-04-22 20:20:20 +03:00
Kai Huuhko 40e76e001a Evas: Add Grid. 2013-04-22 20:12:27 +03:00
Kai Huuhko 77ed60ae26 Evas: Add some missing API to Object. 2013-04-22 20:12:27 +03:00
Kai Huuhko 10635266ff Evas: Add Table. 2013-04-22 20:12:27 +03:00
Kai Huuhko d2b7f7cbdb Elementary: Remove the monolithic pxd file that has been superseded by
the per module pxd's.
2013-04-22 20:12:27 +03:00
Kai Huuhko b7abe5f423 Evas: Improve documentation for Box, Line, Map, Textblock, Text,
Textgrid, Rect.

Comment out broken Map properties.
2013-04-22 20:12:27 +03:00
Kai Huuhko 5685396582 Evas: Add some missing bits to Image. 2013-04-22 20:12:26 +03:00
Kai Huuhko d98fe702ee Evas: Clean up evas.pxd 2013-04-22 20:12:26 +03:00
Kai Huuhko 234cc629e5 Ecore: Add mainloop_glib_always_integrate_disable(). 2013-04-22 20:12:26 +03:00
Kai Huuhko 4b9cacd74e Evas: Fix Textgrid and add tests. 2013-04-22 20:12:26 +03:00
Davide Andreoli 0fae488f77 Python-EFL: EdjeEdit, manage the various class 'name' prop in a saner way
Instead of keeping a py object now keep a stringshared char*, so that we can
pass it directly to the C API without messing with conversions.
2013-04-14 14:24:44 +02:00
Davide Andreoli 9d85805b13 Python-EFL: Implemented EdjeEdit API, with full unit tests.
Some stuff is not working on the C side, the unit test is full
of FIXME and TODO. The biggest problem is the PartState that
do not work at all, I will give a short look at this, but I'm
not so much intrested atm...If you want/need to help please
let me know.
2013-04-14 13:08:15 +02:00
Davide Andreoli 963fd049a7 Python-EFL: unbreak compilation with cython 0.17.3
SPANK goes to kuuko! you should stay on the base version we
support, to avoid errors like this... you know that "const" is
a 0.18 feature.
2013-04-09 22:08:56 +02:00
Kai Huuhko aef22ccc50 Evas: Add code for Textgrid, compiles but not tested. 2013-04-07 23:11:50 +00:00
Kai Huuhko 09b7c33644 Evas: Implemented Object.map_get() 2013-04-07 15:35:22 +03:00
Kai Huuhko f1972f6a6e Place the remnants of _cfruni and _fruni under six feet of soil.
Fix a braino in the py list to string array conversion function.
2013-04-04 11:31:24 +00:00
Kai Huuhko aa72b5f273 Evas: Use cpdef for making internal calls faster, small performance
optimizations.
2013-04-03 22:47:16 +00:00
Kai Huuhko 3b196172b4 Add an enums file for Evas so it gets the values directly from C lib. 2013-04-03 19:39:11 +00:00
Kai Huuhko 21ec3e18cf Change the class lookup code to C only using an Eina Hash table. 2013-03-30 15:39:51 +00:00
Kai Huuhko 4d9c1c929a Handle exceptions in eo cdef functions, don't expose _METHOD_DEPRECATED
to Python API needlesly, add some code optimizations and TODOs.
2013-03-28 16:54:51 +00:00
Kai Huuhko 0f3c3999e3 Make the conv functions more robust.
Now we may leak the strings from _(c)fruni which should be looked up
case by case. The positive side is that we no longer point to (possibly)
invalid memory.

Strings used with touni funcs are suspected to leak as well.
2013-03-26 18:53:13 +00:00
Kai Huuhko f6909ac42c Internal function renames:
* _strings_to_python -> eina_list_strings_to_python_list
 * _strings_from_python -> python_list_strings_to_eina_list
Add two functions for string array conversion.
Add two properties to elm.Window.
2013-03-23 06:50:33 +00:00
Davide Andreoli 10580f1aa8 Python-EFL: emotion api and docs 100% done
SVN revision: 84390
2013-02-26 23:55:39 +00:00
Davide Andreoli 144c600753 Python-EFL: docs for evas map
SVN revision: 84344
2013-02-24 15:52:42 +00:00
Davide Andreoli 711c41883f Python-EFL: edje.text/color_class_list are ok now.Unskip the unittests
SVN revision: 84068
2013-02-18 20:53:55 +00:00
Davide Andreoli 43f9b5f319 Python-EFL: remove some deprecated stuff and cleanp all the warnings
SVN revision: 84008
2013-02-16 23:18:27 +00:00
Davide Andreoli 57cdd0a468 Python-EFL: Cleaned warnings in edje
SVN revision: 84006
2013-02-16 20:20:41 +00:00
Davide Andreoli bfa991ca3f Python-EFL: _fruni() and friends not inlined anymore, this is just to remove compilation warnings. I hope will not make much difference
SVN revision: 84001
2013-02-16 16:41:47 +00:00
Davide Andreoli 2b75edb785 Python-EFL: edje_external now works with py3
SVN revision: 83980
2013-02-16 10:47:27 +00:00
Davide Andreoli 454d967f84 Python-EFL: Cleanup and enable compilation of emotion, cleaned also the test.
SVN revision: 83931
2013-02-14 23:05:55 +00:00
Davide Andreoli 744fab5c92 New line chars from CR/LF to LF
SVN revision: 83924
2013-02-14 20:54:53 +00:00
Davide Andreoli 744f1ee4be todo--
updated copyright in ALL the files



SVN revision: 83873
2013-02-13 19:16:02 +00:00
Davide Andreoli 8b86398860 Put in a first, still wip, version of the python bindings in a merged tree.
This is meant to be the 1.8 version of the wrappers and will include everything
that now is in the python folder.

Atm this include evas, ecore, edje, elementary and emotion (emotion still commented
in the build couse it need some more testing). Eo is used as a base for all the
objects that inherit from it in C, but in real nothing is used from Eo, it is
used more like a container to share code between the libs.

All the docs has been stripped out because we want to use the new sphinx style 
docs that Kay has done in his git repo. (Kay: please wait a little bit to include
it, as working on the libs without docs is much more easy)

The new wrappers include a new container module called efl and thus you can live
with both the old and the new installation. This also means that you need to import
the new modules as:
"from efl import evas" (instead of the old "import evas")
The idea here is that you can make your code works with both version doing
something like:
try:
   import evas
except:
   from efl import evas
...like is done in the gtk bindings

Some stuff has been leaved out on purpose, because was old stuff (like the hacked 
evas rotation stuff) or because was not working as expected (like all the ecore.evas.XXX
modules). See the TODO.txt file for more info. Probably some stuff is out just because I
missed them, let me know if you miss something.

Improvements from the old version:
- Py3 compatible (still some work to be done, but really only TODO, no problems to resolv)
- Should also works on other platforms, like windoz (but not tested)
- Unittests greatly improved, you can also run ALL tests at once
- much more simpler :)


I will contine the works in the next weeks and hope someone will help too.

NOTE: I switched back to setup.py instead of autotools, because that is the right way to
compile python stuff. So to build just use:
 python setup.py install
or
 python3 setup.py install


Enjoy
davemds




SVN revision: 83831
2013-02-11 22:32:50 +00:00