cvs: php-gtk /ext/sourceview sourceview.defs sourceview.overrides
| From: | Bob Majdak Jr | 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);
+ }
+}
+
+%%}}}