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