cvs: php-gtk /ext/scintilla scintilla.overrides

From: Date: Sat, 09 Dec 2006 22:57:42 +0000
Subject: cvs: php-gtk /ext/scintilla scintilla.overrides
Groups: php.gtk.cvs 
Request: Send a blank email to php-gtk-cvs+get-2579@lists.php.net to get a copy of this message
anant Sat Dec 9 22:57:42 2006 UTC Modified files: /php-gtk/ext/scintilla scintilla.overrides Log: get_cur_line, get_sel_text overrides; thanks to Pablo! http://cvs.php.net/viewvc.cgi/php-gtk/ext/scintilla/scintilla.overrides?r1=1.15&r2=1.16&diff_format=u Index: php-gtk/ext/scintilla/scintilla.overrides diff -u php-gtk/ext/scintilla/scintilla.overrides:1.15 php-gtk/ext/scintilla/scintilla.overrides:1.16 --- php-gtk/ext/scintilla/scintilla.overrides:1.15 Wed Jul 5 04:02:10 2006 +++ php-gtk/ext/scintilla/scintilla.overrides Sat Dec 9 22:57:42 2006 @@ -63,3 +63,66 @@ g_free(text); } } + +%% +override gtk_scintilla_get_cur_line +PHP_METHOD +{ + gint length; + gchar *text, *utf; + gsize tlen; + zend_bool free_result = FALSE; + + NOT_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "")) + return; + + GtkScintilla *scintilla = GTK_SCINTILLA(PHPG_GOBJECT(this_ptr)); + + length = gtk_scintilla_line_length(scintilla, + gtk_scintilla_line_from_position(scintilla, + gtk_scintilla_get_current_pos(scintilla))) + 1; + utf = safe_emalloc(length, sizeof(gchar), 0); + gtk_scintilla_get_cur_line(scintilla, length, utf); + text = phpg_from_utf8(utf, strlen(utf), &tlen, &free_result TSRMLS_CC); + + if (text) { + RETVAL_STRINGL((char *)text, tlen, 1); + } else { + php_error(E_WARNING, + "%s::%s(): could not convert return value from UTF-8", + get_active_class_name(NULL TSRMLS_CC), + get_active_function_name(TSRMLS_C)); + } + + if (free_result) + g_free(text); +} + +%% +override gtk_scintilla_get_sel_text +PHP_METHOD +{ + gint length; + gchar *text; + zend_bool free_text = FALSE; + + NOT_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "")) + return; + + GtkScintilla *scintilla = GTK_SCINTILLA(PHPG_GOBJECT(this_ptr)); + + length = gtk_scintilla_get_selection_end(scintilla) - + gtk_scintilla_get_selection_start(scintilla) + 1; + text = safe_emalloc(length, sizeof(gchar), 0); + text[length-1] = 0; + gtk_scintilla_get_sel_text(scintilla, text); + + RETVAL_STRINGL(text, length-1, 0); + + if (free_text) + g_free(text); +}

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