Files
php-gtk-src/TODO2
Steph Fox e116ff3b47 Remove two items from TODO:
1. There is no gtk_label_get_pattern() in the GTK 2 source to wrap (don't shoot the messenger!)
2. The reported bug stems from a user-side coding error
2005-09-07 16:38:45 +00:00

89 lines
3.2 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
* Fix Boxed_Arg to require explicit CE in php_gtk_parse_args().
Base Functionality
~~~~~~~~~~~~~~~~~~
+ Support signal connection and closures
+ Custom boxed types
+ Make error messages display Class::Method() instead of just method name
+ Support automatic UTF-8 <-> codepage conversion where necessary
+ Fix crash when doing var_dump() on GtkStyle due to GtkStyleHelper not
implementing get_properties and get_class_entry
* 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
* Provide access to GTK version number.
Classes and Functions
~~~~~~~~~~~~~~~~~~~~~
* GtkListStore
* GtkTreeModel
* GtkTreeStore
Some iterator functions as get_iter() are expecting a GBoxed parameter.
* GtkTreeView
* GtkCellRenderer
* GtkImageMenuItem
should accept a stock-id as first parameter and the accel
group as the second one
* GtkCombo
Call to undefined method GtkCombo::set_popdown_strings()
* GtkMenu
Call to undefined method GtkMenu::popup()
* 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 can't use switch-page signal as GPointer isn't implemented
* GtkNotebook->get_nth_page() crashes
* GtkEntries can't be var_dumped, probably something missing
* GtkTextBuffer->set_text's 2nd parameter should be optional
* GtkTreeModelFilter constructor doesn't take a model / does it have a constructor?? didn't see one in gtk.defs
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
]