com gtk/php-gtk: - get_widget_prefix() - expose G ladeXML->filename property: ext/libglade/libglade.def s ext/libglade/libglade.overrides
[email protected] (David Soria Parra) Mon, 17 Oct 2005 05:13:31 +0000
| Newsgroups | php.gtk.cvs |
|---|---|
| Message-ID | <[email protected]> |
Commit: f12f742c9287388442411dd9a74bbf507b319456 Author: Steph Fox <[email protected]> Mon, 17 Oct 2005 05:13:31 +0000 Parents: 7fb0990689703fe34088249c510fe0cdf4b84a80 Branches: master Link: http://git.php.net/?p=gtk/php-gtk.git;a=commitdiff;h=f12f742c9287388442411dd9a74bbf507b319456 Log: - get_widget_prefix() - expose GladeXML->filename property Changed paths: M ext/libglade/libglade.defs M ext/libglade/libglade.overrides Diff: f12f742c9287388442411dd9a74bbf507b319456 diff --git a/ext/libglade/libglade.defs b/ext/libglade/libglade.defs index 84b4839..a0873db 100644 --- a/ext/libglade/libglade.defs +++ b/ext/libglade/libglade.defs @@ -6,6 +6,9 @@ (parent "GObject") (c-name "GladeXML") (gtype-id "GLADE_TYPE_XML") + (fields + '("gchar*" "filename") + ) ) ;; Functions, constructors, and methods ... diff --git a/ext/libglade/libglade.overrides b/ext/libglade/libglade.overrides index 2de12e1..b60e07e 100644 --- a/ext/libglade/libglade.overrides +++ b/ext/libglade/libglade.overrides @@ -9,6 +9,9 @@ ignore-glob %% ignore glade_xml_construct + glade_xml_signal_connect_data + glade_xml_signal_connect_full + glade_xml_signal_autoconnect_full %% {{{ GladeXML %% @@ -20,7 +23,7 @@ PHP_METHOD 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); + return; } wrapped_obj = (GObject *) glade_xml_new(fname, (const char *)root, (const char *)domain); @@ -34,4 +37,29 @@ PHP_METHOD phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC); } +%% +override glade_xml_get_widget_prefix +PHP_METHOD +{ + char *name; + zend_bool free_name; + GList *list, *item; + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "u", &name, &free_name)) { + return; + } + + list = glade_xml_get_widget_prefix(GLADE_XML(PHPG_GOBJECT(this_ptr)), (const char *)name); + if (free_name) g_free(name); + + array_init(return_value); + for (item = list; item; item = item->next) { + zval *php_item = NULL; + phpg_gobject_new(&php_item, G_OBJECT(item->data) TSRMLS_CC); + add_next_index_zval(return_value, php_item); + } + + g_list_free(list); +} + %% }}}