GtkSourceIter

GtkSourceIter — Improved search support in a GtkSourceBuffer

Synopsis

#include <gtksourceview/gtksourceiter.h>

enum                GtkSourceSearchFlags;
gboolean            gtk_source_iter_backward_search     (const GtkTextIter *iter,
                                                         const gchar *str,
                                                         GtkSourceSearchFlags flags,
                                                         GtkTextIter *match_start,
                                                         GtkTextIter *match_end,
                                                         const GtkTextIter *limit);
gboolean            gtk_source_iter_forward_search      (const GtkTextIter *iter,
                                                         const gchar *str,
                                                         GtkSourceSearchFlags flags,
                                                         GtkTextIter *match_start,
                                                         GtkTextIter *match_end,
                                                         const GtkTextIter *limit);

Description

Details

enum GtkSourceSearchFlags

typedef enum
{
	GTK_SOURCE_SEARCH_VISIBLE_ONLY		 = 1 << 0,
	GTK_SOURCE_SEARCH_TEXT_ONLY		 = 1 << 1,
	GTK_SOURCE_SEARCH_CASE_INSENSITIVE	 = 1 << 2
	/* Possible future plans: SEARCH_REGEXP */
} GtkSourceSearchFlags;

gtk_source_iter_backward_search ()

gboolean            gtk_source_iter_backward_search     (const GtkTextIter *iter,
                                                         const gchar *str,
                                                         GtkSourceSearchFlags flags,
                                                         GtkTextIter *match_start,
                                                         GtkTextIter *match_end,
                                                         const GtkTextIter *limit);

Same as gtk_text_iter_backward_search(), but supports case insensitive searching.

iter :

a GtkTextIter where the search begins.

str :

search string.

flags :

bitmask of flags affecting the search.

match_start :

return location for start of match, or NULL.

match_end :

return location for end of match, or NULL.

limit :

location of last possible match_start, or NULL for start of buffer.

Returns :

whether a match was found.

gtk_source_iter_forward_search ()

gboolean            gtk_source_iter_forward_search      (const GtkTextIter *iter,
                                                         const gchar *str,
                                                         GtkSourceSearchFlags flags,
                                                         GtkTextIter *match_start,
                                                         GtkTextIter *match_end,
                                                         const GtkTextIter *limit);

Searches forward for str. Any match is returned by setting match_start to the first character of the match and match_end to the first character after the match. The search will not continue past limit. Note that a search is a linear or O(n) operation, so you may wish to use limit to avoid locking up your UI on large buffers.

If the GTK_SOURCE_SEARCH_VISIBLE_ONLY flag is present, the match may have invisible text interspersed in str. i.e. str will be a possibly-noncontiguous subsequence of the matched range. similarly, if you specify GTK_SOURCE_SEARCH_TEXT_ONLY, the match may have pixbufs or child widgets mixed inside the matched range. If these flags are not given, the match must be exact; the special 0xFFFC character in str will match embedded pixbufs or child widgets. If you specify the GTK_SOURCE_SEARCH_CASE_INSENSITIVE flag, the text will be matched regardless of what case it is in.

Same as gtk_text_iter_forward_search(), but supports case insensitive searching.

iter :

start of search.

str :

a search string.

flags :

flags affecting how the search is done.

match_start :

return location for start of match, or NULL.

match_end :

return location for end of match, or NULL.

limit :

bound for the search, or NULL for the end of the buffer.

Returns :

whether a match was found.

See Also

GtkTextIter