cvs: php-gtk /ext/libglade libglade.overrides
| From: | Steph | Date: | Sun, 16 Oct 2005 21:03:06 +0000 |
| Subject: | cvs: php-gtk /ext/libglade libglade.overrides | ||
| Groups: | php.gtk.cvs | ||
| Request: | Send a blank email to php-gtk-cvs+get-1911@lists.php.net to get a copy of this message | ||
sfox Sun Oct 16 17:03:06 2005 EDT
Modified files:
/php-gtk/ext/libglade libglade.overrides
Log:
Make libglade constructor work out of the box in most cases.
http://cvs.php.net/diff.php/php-gtk/ext/libglade/libglade.overrides?r1=1.14&r2=1.15&ty=u
Index: php-gtk/ext/libglade/libglade.overrides
diff -u php-gtk/ext/libglade/libglade.overrides:1.14 php-gtk/ext/libglade/libglade.overrides:1.15
--- php-gtk/ext/libglade/libglade.overrides:1.14 Thu Oct 6 16:35:18 2005
+++ php-gtk/ext/libglade/libglade.overrides Sun Oct 16 17:03:02 2005
@@ -8,8 +8,33 @@
*_get_type
%%
ignore
- glade_xml_new
- glade_xml_signal_connect_full
- glade_xml_signal_connect_data
- glade_xml_signal_autoconnect_full
+ glade_xml_construct
+%% {{{ GladeXML
+%%
+override glade_xml_new
+PHP_METHOD
+{
+ char *fname, *root = NULL, *domain = NULL;
+ zend_bool free_fname, free_root, free_domain;
+ GObject *wrapped_obj;
+
+ if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "u|uu", &fname, &free_fname,
&root, &free_root, &domain, &free_domain)) {
+ PHPG_THROW_CONSTRUCT_EXCEPTION(GladeXML);
+ }
+
+ /* Glade's default name for the toplevel window is hard-coded - but there may be a better
way */
+ if (!root) root = (char *)"window1";
+
+ wrapped_obj = (GObject *) glade_xml_new(fname, root, domain);
+ if (free_fname) g_free(fname);
+ if (free_root) g_free(root);
+ if (free_domain) g_free(domain);
+
+ if (!wrapped_obj) {
+ PHPG_THROW_CONSTRUCT_EXCEPTION(GladeXML);
+ }
+ phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC);
+}
+
+%% }}}