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.
- Fixed a problem where extensions other than gtk+ would not have properly
registered base classes.
- Added initial support for GtkScintilla text editing widget.
- 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.
system and is necessary in order to keep adding support for GtkObject
based extensions such as GtkHtml, Bonobo, GtkScintilla and others.
The only currently implemented extensions are Gtk+ and libglade. Each
extension (except for Gtk+, obviously) can be enabled or disabled
from the 'configure' command-line.
The new build process for CVS versions of PHP-GTK is such:
./buildconf
./configure
make
trying to handle byref args automatically.
* Started working on having only one object wrapper for each boxed type
pointer. Obviously broke stuff, but will fix soon.
* Implemented GtkObject::set_data(), GtkObject::get_data(),
GtkObject::connect_after(), GtkObject::connect_object_after().
* Started on GtkCTree example, which incidentally shows a bunch of other
GTK+ stuff.
* removed all static content into templates
* everything is now generated just from defs, overrides, and prefix
* removed byref parsing, since it will be transformed into something new
* added ability to specify defs files to register types from
* split out gdk part of overrides into gdk.overrides
Basically, all the generation is based on a concept of a module. For each
module there is .defs file and .overrides file. The generated file is
php_gtk_<module>.c. There are a couple more generated files that get
included by the main source in order to declare class entries, and
register classes and constants.
Also, made Gdk::input_add() work with PHP file resources.
* Added helper GtkBoxChild class.
* Added properties for GtkMisc, GtkArrow, GtkBox, and GtkCalendar classes.
* Modified GtkCalendar::get_date() to return an array of the results.
* Added Gtk::true() and Gtk::false(). Yes, these are just what they look
like - functions that return true and false. Handy for certain callbacks.
* Fixed connect_object() semantics, it only requires two arguments now.
* Standardized all callback marshallers - callbacks are now smoother than
Jennifer Alba's bottom and they all take user supplied extra arguments.
* Moved callback validation right up to the call time, so that callbacks
included from other files could be used as well.
* This necessitated better error messages - so now if it the callback is
not valid, the filename and line number where it was specified are shown.
* Updated gtk.php and list.php to use connect_object() as an example.
* Implemented get_type() methods for every Gtk* class.
* Enhanced overrides parsing to allow setting functions as class methods
or moving methods from one class to another.
* Renamed php_gtk_check_callable() to php_gtk_is_callable().
* Added an extra parameter to php_gtk_is_callable() that is filled in
with the name of the callable. Now just need to use it everywhere.
* Added php_gtk_parse_args_hash() internal function.
* Fixed enum/flags code generation properly
* Fixed a bug that would not recognize default value of 0
* Added GtkList::append_items method
* Added a couple of example scripts
* made it possible to override PHP visible function name from gtk.overrides
* if parsing enum/flags value fails in the constructor, the object is
invalidated