com gtk/php-gtk: - Add '#' modifier to 'u' specifier so that the utf8 length can be obtained. - Make GtkTextBuffer::set_text () work. Note that PHP-GTK version has only one parameter: text itself. - Make Gt kTextView constructor be generated.: ext/gtk+/gtk .overrides ext/gtk+/gtktextview.overrides main/php_gt k_util.c
[email protected] (David Soria Parra) Sat, 01 Oct 2005 18:31:01 +0000
| Newsgroups | php.gtk.cvs |
|---|---|
| Message-ID | <[email protected]> |
Commit: 28aa7c2747a16c4c13ec324c17891a29d7f1a50c=0AAuthor: Andrei Zmi= evski <[email protected]> Sat, 1 Oct 2005 18:31:01 +0000=0AParents: = 03c1c7cafdb0a395039aedd33fbf497cf2bbb447=0ABranches: master=0A=0ALink: = http://git.php.net/?p=3Dgtk/php-gtk.git;a=3Dcommitdiff;h=3D28aa7c2747a16= c4c13ec324c17891a29d7f1a50c=0A=0ALog:=0A- Add '#' modifier to 'u' specifier= so that the utf8 length can be=0A obtained.=0A- Make GtkTextBuffer::set_t= ext() work. Note that PHP-GTK version has=0A only one parameter: text itse= lf.=0A- Make GtkTextView constructor be generated.=0A=0AChanged paths:=0A = M ext/gtk+/gtk.overrides=0A M ext/gtk+/gtktextview.overrides=0A M main= /php_gtk_util.c=0A=0A=0ADiff:=0A28aa7c2747a16c4c13ec324c17891a29d7f1a50c=0A= diff --git a/ext/gtk+/gtk.overrides b/ext/gtk+/gtk.overrides=0Aindex 20bed6= e..bed3858 100644=0A--- a/ext/gtk+/gtk.overrides=0A+++ b/ext/gtk+/gtk.overr= ides=0A@@ -160,7 +160,6 @@ ignore=0A gtk_signal_n_emissions_by_name=0A = gtk_signal_query=0A gtk_signal_set_funcs=0A- gtk_text_view_new_w= ith_buffer=0A gtk_tooltips_data_get=0A gtk_trace_referencing=0A = gtk_type_check_class_cast=0A@@ -976,7 +975,7 @@ static void php_gtk_menu_p= osition(GtkMenu *menu, int *x, int *y, int *push_in, g=0A TSRMLS_FETCH(= );=0A =0A if (!zend_is_callable(cbd->callback, 0, &callback_name)) {=0A= - php_error(E_WARNING, "unable to call menu position callback '%s' s= pecified in %s on line %d", callback_name, cbd->src_filename, cbd->src_line= no);=0A+ php_error(E_WARNING, "unable to call menu position callback= '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->= src_lineno);=0A efree(callback_name);=0A return;=0A }= =0Adiff --git a/ext/gtk+/gtktextview.overrides b/ext/gtk+/gtktextview.overr= ides=0Aindex b1f9f70..e2ab4ee 100644=0A--- a/ext/gtk+/gtktextview.overrides= =0A+++ b/ext/gtk+/gtktextview.overrides=0A@@ -1,5 +1,11 @@=0A /* vim: set f= t=3Dcpp fdm=3Dmarker et: */=0A =0A+%% {{{ ignores=0A+%%=0A+ignore=0A+ gt= k_text_view_new=0A+%% }}}=0A+=0A %% {{{ GtkTextBuffer=0A =0A %%=0A@@ -120,4= +126,30 @@ PHP_METHOD=0A phpg_gboxed_new(&return_value, GTK_TYPE_TEXT_= ITER, &iter, TRUE, TRUE TSRMLS_CC);=0A }=0A =0A+%%=0A+add-arginfo GtkTextBu= ffer set_text=0A+static=0A+ZEND_BEGIN_ARG_INFO(ARGINFO_NAME, 0)=0A+ ZEND= _ARG_INFO(0, text)=0A+ ZEND_ARG_INFO(0, length)=0A+ZEND_END_ARG_INFO();= =0A+=0A+%%=0A+override gtk_text_buffer_set_text=0A+PHP_METHOD=0A+{=0A+ c= har *text;=0A+ int text_len;=0A+ zend_bool free_text;=0A+=0A+ NOT_= STATIC_METHOD();=0A+=0A+ if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "u#", = &text, &text_len, &free_text))=0A+ return;=0A+=0A+ gtk_text_buffe= r_set_text(GTK_TEXT_BUFFER(PHPG_GOBJECT(this_ptr)), text, text_len);=0A+=0A= + if (free_text) g_free(text);=0A+}=0A+=0A %% }}}=0Adiff --git a/main/ph= p_gtk_util.c b/main/php_gtk_util.c=0Aindex 761f412..20bf787 100644=0A--- a/= main/php_gtk_util.c=0A+++ b/main/php_gtk_util.c=0A@@ -205,6 +205,10 @@ stat= ic char *parse_arg_impl(zval **arg, va_list *va, char **spec, char *buf, in= t=0A =09=09=09=09=09=09utf8 =3D phpg_to_utf8(Z_STRVAL_PP(arg), Z_STRLEN_PP(= arg), &utf8_len, &free_utf8 TSRMLS_CC);=0A =09=09=09=09=09=09if (utf8) {=0A= =09=09=09=09=09=09=09*va_arg(*va, char **) =3D utf8;=0A+=09=09=09=09=09=09= =09if (*spec_walk =3D=3D '#') {=0A+=09=09=09=09=09=09=09=09*va_arg(*va, int= *) =3D utf8_len;=0A+=09=09=09=09=09=09=09=09spec_walk++;=0A+=09=09=09=09= =09=09=09}=0A =09=09=09=09=09=09=09*va_arg(*va, zend_bool *) =3D free_utf8;= =0A =09=09=09=09=09=09} else {=0A =09=09=09=09=09=09=09return "string in su= pported encoding";=0A