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