com gtk/php-gtk: Add GtkWidget::set_visible() metho d, which is not in Gtk+. (patch by ScottM , fixed by Andrei): ext/gtk+/gtk.overrides

[email protected] (David Soria Parra) Thu, 06 Apr 2006 04:32:18 +0000
Newsgroups php.gtk.cvs
Message-ID <[email protected]>
Commit:    b13b6625988424df3dd118e6e2927e28e63f48f9
Author:    Andrei Zmievski <[email protected]>         Thu, 6 Apr 2006 04:32:18 +0000
Parents:   3c023319bc3981bb0c9e63504564c16afb117a77
Branches:  master

Link:       http://git.php.net/?p=gtk/php-gtk.git;a=commitdiff;h=b13b6625988424df3dd118e6e2927e28e63f48f9

Log:
Add GtkWidget::set_visible() method, which is not in Gtk+. (patch by
ScottM, fixed by Andrei)

Changed paths:
  M  ext/gtk+/gtk.overrides


Diff:
b13b6625988424df3dd118e6e2927e28e63f48f9
diff --git a/ext/gtk+/gtk.overrides b/ext/gtk+/gtk.overrides
index fcaa2c1..1bfd30c 100644
--- a/ext/gtk+/gtk.overrides
+++ b/ext/gtk+/gtk.overrides
@@ -2916,6 +2916,35 @@ PHP_METHOD
     }
 }
 
+%%
+add GtkWidget set_visible
+PHP_METHOD
+{
+    zend_bool visible, all = TRUE;
+
+    NOT_STATIC_METHOD();
+
+    if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "b|b", &visible, &all)) {
+        return;
+    }
+
+    if (visible) {
+        if (all) {
+            gtk_widget_show_all(GTK_WIDGET(PHPG_GOBJECT(this_ptr)));
+        } else {
+            gtk_widget_show(GTK_WIDGET(PHPG_GOBJECT(this_ptr)));
+        }
+    } else {
+        if (all) {
+            gtk_widget_hide_all(GTK_WIDGET(PHPG_GOBJECT(this_ptr)));
+        } else {
+            gtk_widget_hide(GTK_WIDGET(PHPG_GOBJECT(this_ptr)));
+        }
+    }
+
+    php_gtk_build_value(&return_value, "b", visible);
+}
+
 %% }}}
 
 %% {{{ GtkWindow