cvs: php-gtk /ext/sourceview sourceview.defs sourceview.overrides

From: Date: Mon, 21 Jan 2008 22:58:16 +0000
Subject: cvs: php-gtk /ext/sourceview sourceview.defs sourceview.overrides
Groups: php.gtk.cvs 
Request: Send a blank email to php-gtk-cvs+get-2809@lists.php.net to get a copy of this message
bmajdak Mon Jan 21 22:58:16 2008 UTC Modified files: /php-gtk/ext/sourceview sourceview.defs sourceview.overrides Log: commiting patch adding GtkSourceView search methods and flags. http://www.nabble.com/-patch--GtkSourceView-Searching-td14988080.html http://cvs.php.net/viewvc.cgi/php-gtk/ext/sourceview/sourceview.defs?r1=1.6&r2=1.7&diff_format=u Index: php-gtk/ext/sourceview/sourceview.defs diff -u php-gtk/ext/sourceview/sourceview.defs:1.6 php-gtk/ext/sourceview/sourceview.defs:1.7 --- php-gtk/ext/sourceview/sourceview.defs:1.6 Mon Oct 30 15:30:48 2006 +++ php-gtk/ext/sourceview/sourceview.defs Mon Jan 21 22:58:15 2008 @@ -73,6 +73,17 @@ ;; Enumerations and flags ... +(define-flags SourceSearchFlags + (in-module "Gtk") + (c-name "GtkSourceSearchFlags") + (gtype-id "GTK_TYPE_SOURCE_SEARCH_FLAGS") + (values + '("visible-only" "GTK_SOURCE_SEARCH_VISIBLE_ONLY") + '("text-only" "GTK_SOURCE_SEARCH_TEXT_ONLY") + '("case-insensitive" "GTK_SOURCE_SEARCH_CASE_INSENSITIVE") + ) +) + ;; From /usr/include/gtksourceview-1.0/gtksourceview/gtksourcebuffer.h (define-function gtk_source_buffer_get_type @@ -309,29 +320,33 @@ ;; From /usr/include/gtksourceview-1.0/gtksourceview/gtksourceiter.h -(define-function gtk_source_iter_forward_search +;; these look weird as there is no real gtype for them. + +(define-method forward_search + (of-object "GtkSourceView") (c-name "gtk_source_iter_forward_search") (return-type "gboolean") (parameters - '("const-GtkTextIter*" "iter") + '("GtkTextIter*" "iter") '("const-gchar*" "str") - '("GtkSourceSearchFlags" "flags") - '("GtkTextIter*" "match_start") - '("GtkTextIter*" "match_end") - '("const-GtkTextIter*" "limit") + '("GtkTextSearchFlags" "flags") + '("GtkTextIter*" "start") + '("GtkTextIter*" "stop") + '("GtkTextIter*" "limit") ) ) -(define-function gtk_source_iter_backward_search +(define-method backward_search + (of-object "GtkSourceView") (c-name "gtk_source_iter_backward_search") (return-type "gboolean") (parameters - '("const-GtkTextIter*" "iter") + '("GtkTextIter*" "iter") '("const-gchar*" "str") '("GtkSourceSearchFlags" "flags") - '("GtkTextIter*" "match_start") - '("GtkTextIter*" "match_end") - '("const-GtkTextIter*" "limit") + '("GtkTextIter*" "start") + '("GtkTextIter*" "stop") + '("GtkTextIter*" "limit") ) ) http://cvs.php.net/viewvc.cgi/php-gtk/ext/sourceview/sourceview.overrides?r1=1.10&r2=1.11&diff_format=u Index: php-gtk/ext/sourceview/sourceview.overrides diff -u php-gtk/ext/sourceview/sourceview.overrides:1.10 php-gtk/ext/sourceview/sourceview.overrides:1.11 --- php-gtk/ext/sourceview/sourceview.overrides:1.10 Wed Feb 28 18:03:25 2007 +++ php-gtk/ext/sourceview/sourceview.overrides Mon Jan 21 22:58:15 2008 @@ -286,3 +286,99 @@ } %%}}} + +%% {{{ GtkSourceView + +%% +override gtk_source_iter_forward_search +PHP_METHOD +{ + zval *php_iter = NULL, *php_limit = NULL; + zval *php_start = NULL, *php_stop = NULL; + gchar *str = NULL; + gint flags; + GtkTextIter start, stop, *limit; + gboolean found; + + TSRMLS_FETCH(); + + if(!php_gtk_parse_args(ZEND_NUM_ARGS(),"Osi|N", + &php_iter, gboxed_ce, + &str, + &flags, + &php_limit, gboxed_ce)) { + + return; + } + + if(php_limit) { + limit = (GtkTextIter *)PHPG_GBOXED(php_limit); + } else { + limit = NULL; + } + + found = gtk_source_iter_forward_search( + (GtkTextIter *)PHPG_GBOXED(php_iter), + str, + flags, + &start, + &stop, + limit + ); + + if(found) { + phpg_gboxed_new(&php_start, GTK_TYPE_TEXT_ITER, &start, TRUE, TRUE TSRMLS_CC); + phpg_gboxed_new(&php_stop, GTK_TYPE_TEXT_ITER, &stop, TRUE, TRUE TSRMLS_CC); + php_gtk_build_value(&return_value,"(NN)",php_start,php_stop); + } else { + php_gtk_build_value(&return_value,"b",FALSE); + } +} + +%% +override gtk_source_iter_backward_search +PHP_METHOD +{ + zval *php_iter = NULL, *php_limit = NULL; + zval *php_start = NULL, *php_stop = NULL; + gchar *str = NULL; + gint flags; + GtkTextIter start, stop, *limit; + gboolean found; + + TSRMLS_FETCH(); + + if(!php_gtk_parse_args(ZEND_NUM_ARGS(),"Osi|N", + &php_iter, gboxed_ce, + &str, + &flags, + &php_limit, gboxed_ce)) { + + return; + } + + if(php_limit) { + limit = (GtkTextIter *)PHPG_GBOXED(php_limit); + } else { + limit = NULL; + } + + found = gtk_source_iter_backward_search( + (GtkTextIter *)PHPG_GBOXED(php_iter), + str, + flags, + &start, + &stop, + limit + ); + + if(found) { + phpg_gboxed_new(&php_start, GTK_TYPE_TEXT_ITER, &start, TRUE, TRUE TSRMLS_CC); + phpg_gboxed_new(&php_stop, GTK_TYPE_TEXT_ITER, &stop, TRUE, TRUE TSRMLS_CC); + php_gtk_build_value(&return_value,"(NN)",php_start,php_stop); + } else { + php_gtk_build_value(&return_value,"b",FALSE); + } +} + +%%}}}

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