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