com gtk/php-gtk: Test script for gladexml::signal_autocon nect($obj): test/bug_glade_signal_autoconnect .phpw

[email protected] (David Soria Parra) Tue, 25 Oct 2005 06:22:08 +0000
Newsgroups php.gtk.cvs
Message-ID <[email protected]>
Commit:    b7eb013f607484dc751e9cce49ee01290646fb21
Author:    Christian Weiske <[email protected]>         Tue, 25 Oct 2005 06:22:08 +0000
Parents:   236aee787eda18f9bed2e38ded0e4751b2df53d1
Branches:  master

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

Log:
Test script for gladexml::signal_autoconnect($obj)

Changed paths:
  A  test/bug_glade_signal_autoconnect.phpw


Diff:
b7eb013f607484dc751e9cce49ee01290646fb21
diff --git a/test/bug_glade_signal_autoconnect.phpw b/test/bug_glade_signal_autoconnect.phpw
new file mode 100644
index 0000000..08a79f5
--- /dev/null
+++ b/test/bug_glade_signal_autoconnect.phpw
@@ -0,0 +1,93 @@
+<?php
+/**
+*   To test if GladeXML's signal_autoconnect($obj) method
+*   works correctly
+*/
+$XML = <<<EOX
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+<glade-interface>
+
+<widget class="GtkWindow" id="dlgAutoconnectTest">
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">Signal autoconnection test</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+
+  <child>
+    <widget class="GtkVBox" id="vbox1">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child>
+	<widget class="GtkButton" id="btnSelf">
+	  <property name="visible">True</property>
+	  <property name="can_focus">True</property>
+	  <property name="label" translatable="yes">self::clickMe</property>
+	  <property name="use_underline">True</property>
+	  <property name="relief">GTK_RELIEF_NORMAL</property>
+	  <property name="focus_on_click">True</property>
+	  <signal name="clicked" handler="self::clickMe" last_modification_time="Tue, 25 Oct 2005 06:09:29 GMT"/>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkButton" id="btnClassName">
+	  <property name="visible">True</property>
+	  <property name="can_focus">True</property>
+	  <property name="label" translatable="yes">MyApp::clickMe</property>
+	  <property name="use_underline">True</property>
+	  <property name="relief">GTK_RELIEF_NORMAL</property>
+	  <property name="focus_on_click">True</property>
+	  <signal name="clicked" handler="MyApp::clickMe" last_modification_time="Tue, 25 Oct 2005 06:10:37 GMT"/>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+</glade-interface>
+EOX;
+
+class MyApp
+{
+    function __construct()
+    {
+//        $glade = new GladeXML(dirname(__FILE__) . '/bug_glade_signal_autoconnect.glade');
+        $glade = GladeXML::new_from_buffer($GLOBALS['XML'], 0, null, null);
+        $glade->signal_autoconnect($this);
+        $glade->get_widget('dlgAutoconnectTest')->connect_simple('destroy', array('gtk', 'main_quit'));
+    }
+
+    function clickMe($obj)
+    {
+        echo 'clickMe';
+        if (!isset($this)) {
+            echo ' static';
+        }
+        echo "\r\n";
+    }
+}
+new MyApp();
+Gtk::main();
+?>
\ No newline at end of file