mirror of
https://github.com/php/php-gtk-src.git
synced 2026-03-25 09:42:18 +01:00
90 lines
3.0 KiB
Plaintext
90 lines
3.0 KiB
Plaintext
Generator
|
|
~~~~~~~~~
|
|
+ Support boxed types
|
|
+ Expose GTK properties
|
|
+ Implement '#line' pragma directives for debugging
|
|
+ Support for some custom arg types like GdkRectangle*
|
|
+ Allow for templatization of PHP_METHOD() declarations in overrides
|
|
+ Interfaces
|
|
* Pointers
|
|
* Write handlers for properties
|
|
* Make property-based constructors use pre-code generated by arg types
|
|
* gunichar arg type
|
|
|
|
Base Functionality
|
|
~~~~~~~~~~~~~~~~~~
|
|
+ Support signal connection and closures
|
|
+ Custom boxed types
|
|
+ Make error messages display Class::Method() instead of just method name
|
|
* Some classes need to be coded in C entirely, see gtk-types.c
|
|
* Interfaces
|
|
* Pointers
|
|
* 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
|
|
+ Support automatic UTF-8 <-> codepage conversion where necessary
|
|
* Provide access to GTK version number.
|
|
* Fix crash when doing var_dump() on GtkStyle due to GtkStyleHelper not
|
|
implementing get_properties and get_class_entry
|
|
|
|
Classes and Functions
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
* GtkListStore
|
|
append() should accept a list of ordered column values
|
|
* GtkTreeModel
|
|
* GtkTreeStore
|
|
* GtkTreeView
|
|
* GtkCellRenderer
|
|
* Implement write prop handler for GdkColor, test cascaded overloads, i.e.
|
|
$style->base[GTK_STATE_NORMAL]->red = 55555.
|
|
|
|
* CheckMenuItem
|
|
should accept a label as first parameter and a boolean as
|
|
second (use or not underline)
|
|
* GtkImageMenuItem
|
|
should accept a stock-id as first parameter and the accell
|
|
group as the second one
|
|
* GtkRadioMenuItem
|
|
GtkRadioMenuItem cannot be instantiated directly
|
|
* GtkCombo
|
|
Call to undefined method GtkCombo::set_popdown_strings()
|
|
* GtkMenu
|
|
Call to undefined method GtkMenu::popup()
|
|
* GtkTextBuffer
|
|
* GtkClipboard
|
|
* GtkWindow constructor should accept title text as parameter
|
|
|
|
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
|
|
+ done
|
|
]
|
|
|
|
|