their constructor's run when used with libglade or
gtkbuilder and that constructors ar never double
constructed
Also added signal example for using TYPE_PHP_VALUE
- When creating classes dynamically, unset the abstract flag from
methods inherited from interfaces and from the class itself.
- Use explicit function entry instead of ZEND_ABSTRACT_ME() to point to
default interface method implementation.
- Implement GtkFileChooserDialog
But then I reliazed that it implemented GtkFileChooser interface so I had
to:
- Put in support for interfaces and access to object's interface
implementations.
The rest was easy:
- Register stock item constants (Gtk::STOCK_OK, etc)
that we can much more easily pinpoint which line in overrides caused
the compilation error or warning.
- Get rid of large chunks of old/unused generator code.
but turned out supporting regular properties as well. Writing to
properties is not yet implemented. Testing is appreciated. Now I damn
well deserve a beer.
top.
- Allow specification of function entry flags via overrides.
- Allow more than one constructor per class. The first constructor in
the .defs file will be considered the 'default' one and will be
generated or overriden as __construct. The rest become static methods
and are named the same as the C function without the class name at the
beginning, i.e. gtk_button_new_with_mnemonic become new_with_mnemonic.
file. If -f is not specified, the output goes to stdout.
* Move object sorting code into defs parser.
* Implement enum/flags registration. They now live inside top-level
classes, e.g. Gtk::, Atk::, etc.
* Add atk*.defs to the mix.
* Simplify building even more via implicit rules: gen_*.h is now
generated right after gen_*.c. Thus, adding 'atk' definitions was a
snap.
# Damn, it pays to learn GNU make rules.
GTK/GDK defs are in and parsing works. So does object registration, but
that's about it for now. If this compiles for you, you can do
var_dump(get_declared_classes()) and see all the Gtk classes there.
with either old or new PHP build system. It also updates copyright years
and fixes loading of rc files by test/gtk.php.
Extension writers should take notice of the changes in the build system.
descendants. Made it use typed enums only when generating ext/gtk+, enums
in other extensions are handled as simple integers. Added -c option to
generator that allows specifying what class the non-method functions should
go into (this allows merging some of them into a defined class). And a few
optimizations of course.
- Changed GtkWidget::state() method to GtkWidget->state property.
- Removed GtkWidget::get_allocation(), it is redundant with GtkWidget->allocation
property present.
- Implemented support for struct based classes (GdkRectable, GtkAllocation,
GtkRequisition, etc).
0.1 is on the horizon.