com gtk/php-gtk: - Include gen_gtk.h in php_gtk+ .h - Implement GtkCombo::set_popdown_strings( ) and GdkWindow::get_pointer() (patch by Steph): ext/gtk+/gdk.overrides ext/gtk+/gtk .overrides ext/gtk+/php_gtk+.h test/bug_gtknotebook _switchpage.phpw
[email protected] (David Soria Parra) Sat, 01 Oct 2005 19:13:26 +0000
| Newsgroups | php.gtk.cvs |
|---|---|
| Message-ID | <[email protected]> |
Commit: a13a97aa112f8267680161d18f9927511cc3ba1d=0AAuthor: Andrei Zmi= evski <[email protected]> Sat, 1 Oct 2005 19:13:26 +0000=0AParents: = 28aa7c2747a16c4c13ec324c17891a29d7f1a50c=0ABranches: master=0A=0ALink: = http://git.php.net/?p=3Dgtk/php-gtk.git;a=3Dcommitdiff;h=3Da13a97aa112f8= 267680161d18f9927511cc3ba1d=0A=0ALog:=0A- Include gen_gtk.h in php_gtk+.h= =0A- Implement GtkCombo::set_popdown_strings() and GdkWindow::get_pointer()= =0A (patch by Steph)=0A=0AChanged paths:=0A M ext/gtk+/gdk.overrides=0A = M ext/gtk+/gtk.overrides=0A M ext/gtk+/php_gtk+.h=0A M test/bug_gtkno= tebook_switchpage.phpw=0A=0A=0ADiff:=0Aa13a97aa112f8267680161d18f9927511cc3= ba1d=0Adiff --git a/ext/gtk+/gdk.overrides b/ext/gtk+/gdk.overrides=0Aindex= f264920..81318a3 100644=0A--- a/ext/gtk+/gdk.overrides=0A+++ b/ext/gtk+/gd= k.overrides=0A@@ -952,6 +952,26 @@ PHP_METHOD=0A =0A %% }}}=0A =0A+%% {{{ G= dkWindow=0A+=0A+%%=0A+override gdk_window_get_pointer=0A+PHP_METHOD(GdkWind= ow, get_pointer)=0A+{=0A+ int x, y =3D 0;=0A+ GdkModifierType mask = =3D 0;=0A+=0A+ NOT_STATIC_METHOD();=0A+=0A+ if (!php_gtk_parse_args(Z= END_NUM_ARGS(), ""))=0A+ return;=0A+=0A+ gdk_window_get_pointer(G= DK_WINDOW(PHPG_GOBJECT(this_ptr)), &x, &y, &mask);=0A+ php_gtk_build_val= ue(&return_value, "(iii)", x, y, mask);=0A+}=0A+=0A+%% }}}=0A+=0A %%=0A ove= rride gdk_text_extents=0A PHP_METHOD=0A@@ -974,8 +994,6 @@ PHPG_PROP_READER= =0A {=0A #if defined(GDK_WINDOWING_X11)=0A =09RETVAL_LONG(GDK_DRAWABLE_XID(= ((GdkDrawable *)((phpg_gobject_t *)object)->obj)));=0A-#else=0A- php_err= or(E_WARNING, "xid property is not supported");=0A #endif=0A return SUC= CESS;=0A }=0Adiff --git a/ext/gtk+/gtk.overrides b/ext/gtk+/gtk.overrides= =0Aindex bed3858..403442e 100644=0A--- a/ext/gtk+/gtk.overrides=0A+++ b/ext= /gtk+/gtk.overrides=0A@@ -637,6 +637,48 @@ PHP_METHOD=0A }=0A %% }}}=0A =0A= +%% {{{ GtkCombo=0A+%%=0A+override gtk_combo_set_popdown_strings=0A+PHP_MET= HOD=0A+{=0A+ zval *php_strings, **item;=0A+ GList *strings =3D NULL;= =0A+=0A+ NOT_STATIC_METHOD();=0A+=0A+ if (!php_gtk_parse_args(ZEND_NU= M_ARGS(), "a", &php_strings)) {=0A+ return;=0A+ }=0A+=0A+ zend= _hash_internal_pointer_reset(Z_ARRVAL_P(php_strings));=0A+=0A+ while (ze= nd_hash_get_current_data(Z_ARRVAL_P(php_strings), (void **)&item) =3D=3D SU= CCESS) {=0A+=0A+ gchar *utf8 =3D NULL;=0A+ gsize utf8_len =3D= 0;=0A+ zend_bool free_utf8 =3D 0;=0A+=0A+ convert_to_string_= ex(item);=0A+ utf8 =3D phpg_to_utf8(Z_STRVAL_PP(item), Z_STRLEN_PP(i= tem), &utf8_len, &free_utf8 TSRMLS_CC);=0A+=0A+ if (utf8 && free_utf= 8) {=0A+ SEPARATE_ZVAL(item);=0A+ zval_dtor(*item);= =0A+ ZVAL_STRINGL(*item, utf8, utf8_len, 1);=0A+ g_fr= ee(utf8);=0A+ }=0A+=0A+ strings =3D g_list_append(strings, Z_= STRVAL_PP(item));=0A+ zend_hash_move_forward(Z_ARRVAL_P(php_strings)= );=0A+ }=0A+=0A+ gtk_combo_set_popdown_strings(GTK_COMBO(PHPG_GOBJECT= (this_ptr)), strings);=0A+=0A+ g_list_free(strings);=0A+}=0A+%% }}}=0A+= =0A %% include gtkcontainer.overrides=0A =0A %% {{{ GtkDialog=0Adiff --git = a/ext/gtk+/php_gtk+.h b/ext/gtk+/php_gtk+.h=0Aindex 9e17ac7..d9ca51c 100644= =0A--- a/ext/gtk+/php_gtk+.h=0A+++ b/ext/gtk+/php_gtk+.h=0A@@ -49,6 +49,8 @= @ void phpg_gtk_register_classes(void);=0A =0A void php_gtk_plus_register_t= ypes();=0A =0A+#include "gen_gtk.h"=0A+=0A #if 0=0A PHP_GTK_API extern int = le_gtk_object;=0A PHP_GTK_API extern int le_php_gtk_wrapper;=0Adiff --git a= /test/bug_gtknotebook_switchpage.phpw b/test/bug_gtknotebook_switchpage.php= w=0Aindex 5c62e4a..63c57aa 100644=0A--- a/test/bug_gtknotebook_switchpage.p= hpw=0A+++ b/test/bug_gtknotebook_switchpage.phpw=0A@@ -29,5 +29,7 @@ if (!(= $argc > 1 && $argv[1] =3D=3D 'debug')) {=0A error_reporting(E_ERROR);= =0A }=0A new Notebooktest();=0A-echo 'ok';=0A-?>=0A\ No newline at end of f= ile=0A+echo "ok\n";=0A+gtk::main();=0A+=0A+?>=0A