Commit Graph

968 Commits

Author SHA1 Message Date
Davide Andreoli 807f0417db Some tests for SmartObject callbacks 2015-03-12 22:02:07 +01:00
Kai Huuhko ccc88f6650 Elementary.Object: Use Evas.Object._set_obj() 2015-03-12 21:17:25 +02:00
Kai Huuhko 4b9a44d2fc Evas.Object: Add more documentation for size hints from C headers 2015-03-12 19:39:29 +02:00
Kai Huuhko dd5b35ef8f Evas.Object: Re-order the methods into sections, cosmetic 2015-03-12 18:52:08 +02:00
Kai Huuhko 6fa1b78256 Evas.SmartObject: Keep reference to Smart in the SO object
Smart gets freed automatically when no SO or user has references to it.
2015-03-12 18:22:46 +02:00
Kai Huuhko 270ac10e09 Evas.SmartObject: Optimize python cb call 2015-03-12 16:19:35 +02:00
Kai Huuhko 179404e279 Evas.SmartObject: Change SmartCb spec into a custom object
This allows faster C access to the values, avoids casting the conv_func
pointer to an integer and back.
2015-03-12 14:27:36 +02:00
Kai Huuhko 8b594d4bd8 Evas.SmartObject: Improve Smart cb handling
Calling custom callbacks with event_info was broken, fixed.

A check was added for event_info pointer, a warning will emit
when it's non-NULL and we don't have a conv function set.

Small optimizations.
2015-03-12 02:00:04 +02:00
Kai Huuhko 247eb9e452 Evas.SmartObject: Revert SmartCb add/del mechanism partially
We need to keep a better track of the spec references so they
don't get mixed up when user adds and deletes the callbacks.
2015-03-11 22:13:00 +02:00
Kai Huuhko a407e11298 Evas: Change SmartCb event_info conversions into C functions 2015-03-11 15:37:06 +02:00
Kai Huuhko d36b61e97e Evas.SmartObject: Keep refs in a list
Using Py_INCREF/DECREF in add/del we could have dangling references when
the object is deleted without user calling callback_del.
2015-03-11 11:36:50 +02:00
Kai Huuhko 7fad9e3ff4 Evas.SmartObject: Simplify callback handler code
This should do the same as the previous approach, except heaps and tons
faster. No more dicts and lists to go through.
2015-03-11 04:13:08 +02:00
Kai Huuhko c4786f997e Evas.SmartObject: changed smart event callback add/del methods to cdef 2015-03-11 02:12:36 +02:00
Kai Huuhko 4ab927809e Move smart callback handling from elm Object to evas SO and inherit 2015-03-10 22:53:16 +02:00
Kai Huuhko a11fadc82d Evas.SmartObject: Handle object deletion in a saner way
Evas free event gets called last, we free resources there so that the
SO callbacks can call with a valid object reference.
2015-03-10 00:04:28 +02:00
Kai Huuhko d416425f51 Evas.SmartObject: Trivial changes
Removed cruft, upgraded cls == NULL log message level to ERR,
added formatter to SO example logging.
2015-03-09 21:01:55 +02:00
Kai Huuhko fbc22d850d Make Evas.SO iterator a generic Eo iterator and move to efl.eo 2015-03-09 19:36:42 +02:00
Kai Huuhko 16f04ee2ec Evas.SmartObject: Move documentation to right places 2015-03-09 17:40:34 +02:00
Kai Huuhko 9dbff82aac Evas: Copy SO methods member_add/del to Object.smart_member_add/del 2015-03-09 13:11:15 +02:00
Kai Huuhko 3dd81c4f60 Evas.SmartObject: Switch to using C implementation of ClippedSO 2015-03-08 23:48:21 +02:00
Kai Huuhko 9e86901b0d Evas.SmartObject: Add unicode/py3k safety to callback methods 2015-03-08 23:47:07 +02:00
Kai Huuhko c61e4912e7 Evas.SmartObject: Allow callback calls even when obj is NULL 2015-03-08 20:06:32 +02:00
Kai Huuhko 204aecc746 Evas.SmartObject: Use the correct function when deleting data 2015-03-08 20:04:50 +02:00
Kai Huuhko f3a5b44151 Evas.SmartObject: Add smart_get, commented out parent getter
Need to test if we can use Eo parent_get to do the same thing.
2015-03-08 19:35:47 +02:00
Kai Huuhko c1e51903fe Evas.SmartObject: Fix crash when Smart is re-used 2015-03-08 19:20:58 +02:00
Kai Huuhko 3d7b940631 Evas: Remove now redundant SmartObject metaclass 2015-03-08 18:18:01 +02:00
Kai Huuhko db5663773e Evas.SmartObject: Fix issues in the new API implementation 2015-03-08 18:15:26 +02:00
Kai Huuhko 3c710bb4b4 Evas.SmartObject: Change tests and examples in accordance to new API 2015-03-08 18:07:57 +02:00
Kai Huuhko 4af81e96a7 Evas.SmartObject: rewrite because of changes in Cython 0.21.1
Unfortunately it was impossible to keep api compatibility.

Compiles but didn't test it yet, need to rewrite the tests and
examples too.
2015-03-07 21:38:08 +02:00
Kai Huuhko d3357619f7 Evas: Bring back SmartObject
Possible TODO: support per-child delete cb like in C
2015-03-05 21:07:38 +02:00
Kai Huuhko ded0c5fd06 Elementary: Documentation fixes 2015-03-05 14:19:48 +02:00
Kai Huuhko 2dcc34230e Documentation: Switch syntax highlighting (pygments) style to monokai
It suits our dark background coloring better.
2015-03-04 11:21:59 +02:00
Kai Huuhko aabeef1bae Documentation: Add some functional coloring and visual cues 2015-03-03 22:32:31 +02:00
Kai Huuhko 5fdfe2e553 Elementary.scroller: Make ScrollerWidget private
We now also disallow Scrollable initialization.

Hopefully these changes clarify the intended usage of these classes.
2015-03-03 17:26:45 +02:00
Kai Huuhko 2a1a08ae40 Elementary.scroller: Documentation fixes 2015-03-03 14:11:03 +02:00
Kai Huuhko 4fedd07228 Elementary.box: Add an iterator for Box's children
Usage example:

  box = Box(parent)
  box.pack_end(mychild)

  for child in box:
      print(child)
2015-03-02 10:16:34 +02:00
Kai Huuhko 5efbb8810b Evas: Optimize rect getters class initialization 2015-03-02 09:02:51 +02:00
Kai Huuhko 65d68e7aee Evas.Rect: Optimizations
Freelist will keep Rect objects around for quick instancing,
casts to extension type will skip unnecessary type tests.
2015-03-02 07:55:16 +02:00
Kai Huuhko ca4899125d Tests: Change test names to reflect the change from last commit 2015-03-02 05:27:29 +02:00
Kai Huuhko 460d749aef Evas.Rect: Rename intercepts to intersects, correct the algorithm
It now uses the same algorithm as eina_rectangle
2015-03-02 05:22:57 +02:00
Kai Huuhko ee9c3cb042 tests.evas: Add a valid, failing test for Rect.intercepts
The algorithm used produces a false negative when the shapes intersect
in a cross shape.
2015-03-02 05:19:04 +02:00
Kai Huuhko f18ddbf87c Elementary.window: Improve documentation of Window constructor 2015-02-26 05:42:30 +02:00
Kai Huuhko 9c801a9416 Elementary.systray: Follow Eo changes 2015-02-26 05:40:56 +02:00
Kai Huuhko c8f782538f Remove tests that were infact wrong. 2015-02-26 01:02:09 +02:00
Kai Huuhko ff83ec4266 Evas: Rename Object.parent_get to smart_parent_get
It was clashing with Eo.parent_get and is more correct in regards
to C api naming.
2015-02-25 23:41:14 +02:00
Davide Andreoli 9afb74906b Fix code to conform to recent Eo changes. 2015-02-25 21:44:31 +01:00
Kai Huuhko e27e5e3f13 Examples.elementary: Update fs_entry/btn tests
to not use deprecated methods.
2015-02-21 17:51:33 +02:00
Kai Huuhko 2ce228be96 Elementary: Add module systray
Test/example needs more work
2015-02-21 05:41:14 +02:00
Davide Andreoli d141a912e5 Fix Photocam.internal_image to actually work
This property/get_function was totally wrong :(
2015-02-21 00:19:50 +01:00
Davide Andreoli 9428a7418e Fix Scroller doc 2015-02-20 20:45:22 +01:00