mirror of
https://github.com/php/php-gtk-src.git
synced 2026-03-24 09:12:12 +01:00
67 lines
2.5 KiB
Plaintext
67 lines
2.5 KiB
Plaintext
Generator
|
|
~~~~~~~~~
|
|
* Pointers
|
|
* Write handlers for properties
|
|
* Make property-based constructors use pre-code generated by arg types
|
|
* gunichar arg type
|
|
* Fix Boxed_Arg to require explicit CE in php_gtk_parse_args().
|
|
|
|
Base Functionality
|
|
~~~~~~~~~~~~~~~~~~
|
|
* Some classes need to be coded in C entirely, see gtk-types.c
|
|
* Interfaces
|
|
* Atoms
|
|
* Implement __gtype, __doc, and other special properties, if possible
|
|
* Deal with clone() handler in Zend
|
|
* Maybe use zend_call_function() instead of call_user_function_ex() to take
|
|
advantage of function call cache
|
|
* Construction of arbitrary GObjects() via argument lists
|
|
* Integration with pkg-config
|
|
* Fix GdkEventType property handlers to cope with GdkAtom, GdkRegion, GdkNativeWindow and GdkDragContext
|
|
|
|
Classes and Functions
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
* GdkGC
|
|
implement property access (read/write)
|
|
* GtkListStore
|
|
* GtkTreeModel
|
|
* GtkTreeStore
|
|
Some iterator functions as get_iter() are expecting a GBoxed parameter.
|
|
* GtkTreeView
|
|
* GtkCellRenderer
|
|
* GtkClipboard
|
|
- GtkNotebook->append_page should allow just a string as second parameter (title for page) instead of only wanting a gtklabel or so
|
|
- GtkNotebook crashes when connecting callback to move-focus-out signal
|
|
- GtkNotebook->get_nth_page() crashes
|
|
* GtkEntries can't be var_dumped, probably something missing
|
|
* GtkTreeModelFilter constructor doesn't take a model / does it have a constructor?? didn't see one in gtk.defs
|
|
* Look into GtkLabel::set_ellipsize() (fails under win32). Would it be good to call
|
|
it as part of an override for (left-justifying) GtkLabel::set_width_chars()?
|
|
|
|
Fix
|
|
~~~
|
|
* StyleHelper does not implement handlers that ZE2 _requires_ right now. Need
|
|
to change either ZE2 or StyleHelper.
|
|
|
|
|
|
Thoughts on reference counting and wrappers
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
1. We should probably not ref the GtkWindow/GtkInvisible after construction.
|
|
It leaves a hanging reference around and the window will not get destroyed by
|
|
Gtk+. The proper way to destroy the toplevel window is via
|
|
gtk_window/widget_destroy(). Calling gtk::main_quit() is not enough.
|
|
|
|
2. Since we lack a garbage collector, we need to fake it. We need to override
|
|
del_ref handler on the object, which will make sure that our wrapper is
|
|
destroyed only if the referent gobject also has refcount of 1, which we means
|
|
that only we own it. Otherwise, we need to keep our wrapper from being
|
|
destroyed and save a pointer to the wrapper in the gobject with notification
|
|
turned on, so that when gobject is destroyed by Gtk+ our wrapper is destroyed
|
|
as well.
|
|
|
|
[
|
|
* todo
|
|
- in progress
|
|
]
|