mirror of
https://github.com/php/php-gtk-src.git
synced 2026-03-24 09:12:12 +01:00
88 lines
3.2 KiB
Plaintext
88 lines
3.2 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
|
|
~~~~~~~~~~~~~~~~~~
|
|
* Interfaces
|
|
* Implement __gtype, __doc, and other special properties, if possible
|
|
* Deal with clone() handler in Zend
|
|
* Construction of arbitrary GObjects() via argument lists
|
|
* Integration with pkg-config
|
|
* Fix GdkEventType property handlers to cope with GdkAtom, GdkRegion, GdkNativeWindow and GdkDragContext
|
|
* Go through TBD ignores
|
|
* See whether we want to speed up callbacks by doing zend_is_callable() up
|
|
front. This means that the callback has to be defined and accessible when you
|
|
register it.
|
|
* Add a generic function to allow i18n support for strings in arrays.
|
|
* Migrate callbacks to use zend_fcall_info and zend_fcall_info_cache (this will also buy us goodies like specifying statis callbacks as 'gtk::main_quit')
|
|
* Remove copy()/free() from boxed classes ?
|
|
|
|
Classes and Functions
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
See all missing functions in the implementation coverage
|
|
analysis at http://php-gtk2.de/manual/classcoverage.htm
|
|
|
|
* GdkGC
|
|
implement property access (read/write)
|
|
* GtkIconInfo
|
|
get_embedded_rect NTRVNRP
|
|
* GtkLabel
|
|
Would it be good to call GtkLabel::set_ellipsize(PANGO::ELLIPSIZE_END) as part
|
|
of an override for (left-justifying) GtkLabel::set_width_chars() (optional param)?
|
|
* GtkTreeModel
|
|
method GtkTreeModel::rows_reordered: unknown type 'gint*'
|
|
maybe implement some SPL interfaces?
|
|
* GtkTreeModelFilter
|
|
memleak when using get_property('virtual-root')
|
|
second constructor parameter doesn't work (see unit test)
|
|
* GtkTextBuffer
|
|
GtkTextBuffer::move_mark_by_name('selection_bound', ...) moves both the
|
|
insert and select_bound marks
|
|
(method is generated, need to test this)
|
|
* Support (array) cast for GtkTreeModelRow and possibly unset()
|
|
|
|
|
|
Extensions
|
|
~~~~~~~~~~
|
|
- Migrate Scintilla bindings to direclty use scintilla,
|
|
not GtkScintilla (which is unmaintained)
|
|
See Tom's patches
|
|
|
|
Fix
|
|
~~~
|
|
* StyleHelper does not implement handlers that ZE2 _requires_ right now. Need
|
|
to change either ZE2 or StyleHelper.
|
|
* Use phpg_gboxed_check() after receiving boxed parameters.
|
|
|
|
|
|
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
|
|
]
|
|
NTRVNRP - needs to return value not require parameter
|
|
|
|
Misc
|
|
~~~~
|
|
|