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

From: Date: Sat, 01 Oct 2005 18:31:01 +0000
Subject: 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
Groups: php.gtk.cvs 
Request: Send a blank email to php-gtk-cvs+get-4797@lists.php.net to get a copy of this message
Commit: 28aa7c2747a16c4c13ec324c17891a29d7f1a50c Author: Andrei Zmievski <andrei@php.net> Sat, 1 Oct 2005 18:31:01 +0000 Parents: 03c1c7cafdb0a395039aedd33fbf497cf2bbb447 Branches: master Link: http://git.php.net/?p=gtk/php-gtk.git;a=commitdiff;h=28aa7c2747a16c4c13ec324c17891a29d7f1a50c Log: - 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 GtkTextView constructor be generated. Changed paths: M ext/gtk+/gtk.overrides M ext/gtk+/gtktextview.overrides M main/php_gtk_util.c Diff: 28aa7c2747a16c4c13ec324c17891a29d7f1a50c diff --git a/ext/gtk+/gtk.overrides b/ext/gtk+/gtk.overrides index 20bed6e..bed3858 100644 --- a/ext/gtk+/gtk.overrides +++ b/ext/gtk+/gtk.overrides @@ -160,7 +160,6 @@ ignore gtk_signal_n_emissions_by_name gtk_signal_query gtk_signal_set_funcs - gtk_text_view_new_with_buffer gtk_tooltips_data_get gtk_trace_referencing gtk_type_check_class_cast @@ -976,7 +975,7 @@ static void php_gtk_menu_position(GtkMenu *menu, int *x, int *y, int *push_in, g TSRMLS_FETCH(); if (!zend_is_callable(cbd->callback, 0, &callback_name)) { - php_error(E_WARNING, "unable to call menu position callback '%s' specified in %s on line %d", callback_name, cbd->src_filename, cbd->src_lineno); + 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); efree(callback_name); return; } diff --git a/ext/gtk+/gtktextview.overrides b/ext/gtk+/gtktextview.overrides index b1f9f70..e2ab4ee 100644 --- a/ext/gtk+/gtktextview.overrides +++ b/ext/gtk+/gtktextview.overrides @@ -1,5 +1,11 @@ /* vim: set ft=cpp fdm=marker et: */ +%% {{{ ignores +%% +ignore + gtk_text_view_new +%% }}} + %% {{{ GtkTextBuffer %% @@ -120,4 +126,30 @@ PHP_METHOD phpg_gboxed_new(&return_value, GTK_TYPE_TEXT_ITER, &iter, TRUE, TRUE TSRMLS_CC); } +%% +add-arginfo GtkTextBuffer set_text +static +ZEND_BEGIN_ARG_INFO(ARGINFO_NAME, 0) + ZEND_ARG_INFO(0, text) + ZEND_ARG_INFO(0, length) +ZEND_END_ARG_INFO(); + +%% +override gtk_text_buffer_set_text +PHP_METHOD +{ + char *text; + int text_len; + zend_bool free_text; + + NOT_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "u#", &text, &text_len, &free_text)) + return; + + gtk_text_buffer_set_text(GTK_TEXT_BUFFER(PHPG_GOBJECT(this_ptr)), text, text_len); + + if (free_text) g_free(text); +} + %% }}} diff --git a/main/php_gtk_util.c b/main/php_gtk_util.c index 761f412..20bf787 100644 --- a/main/php_gtk_util.c +++ b/main/php_gtk_util.c @@ -205,6 +205,10 @@ static char *parse_arg_impl(zval **arg, va_list *va, char **spec, char *buf, int utf8 = phpg_to_utf8(Z_STRVAL_PP(arg), Z_STRLEN_PP(arg), &utf8_len, &free_utf8 TSRMLS_CC); if (utf8) { *va_arg(*va, char **) = utf8; + if (*spec_walk == '#') { + *va_arg(*va, int *) = utf8_len; + spec_walk++; + } *va_arg(*va, zend_bool *) = free_utf8; } else { return "string in supported encoding";

« previous php.gtk.cvs (#4797) next »