Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
gtktextiter.h
Go to the documentation of this file.
1/* GTK - The GIMP Toolkit
2 * gtktextiter.h Copyright (C) 2000 Red Hat, Inc.
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18/*
19 * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
20 * file for a list of people on the GTK+ Team. See the ChangeLog
21 * files for a list of changes. These files are distributed with
22 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
23 */
24
25#pragma once
26
27#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
28#error "Only <gtk/gtk.h> can be included directly."
29#endif
30
31#include <gtk/gtktextchild.h>
32#include <gtk/gtktexttag.h>
33
35
36/**
37 * GtkTextSearchFlags:
38 * @GTK_TEXT_SEARCH_VISIBLE_ONLY: Search only visible data. A search match may
39 * have invisible text interspersed.
40 * @GTK_TEXT_SEARCH_TEXT_ONLY: Search only text. A match may have paintables or
41 * child widgets mixed inside the matched range.
42 * @GTK_TEXT_SEARCH_CASE_INSENSITIVE: The text will be matched regardless of
43 * what case it is in.
44 *
45 * Flags affecting how a search is done.
46 *
47 * If neither %GTK_TEXT_SEARCH_VISIBLE_ONLY nor %GTK_TEXT_SEARCH_TEXT_ONLY are
48 * enabled, the match must be exact; the special 0xFFFC character will match
49 * embedded paintables or child widgets.
50 */
51typedef enum {
55 /* Possible future plans: SEARCH_REGEXP */
57
58/*
59 * Iter: represents a location in the text. Becomes invalid if the
60 * characters/pixmaps/widgets (indexable objects) in the text buffer
61 * are changed.
62 */
63
65
66#define GTK_TYPE_TEXT_ITER (gtk_text_iter_get_type ())
67
69 /* GtkTextIter is an opaque datatype; ignore all these fields.
70 * Initialize the iter with gtk_text_buffer_get_iter_*
71 * functions
72 */
73 /*< private >*/
76 int dummy3;
77 int dummy4;
78 int dummy5;
79 int dummy6;
80 int dummy7;
81 int dummy8;
86 /* padding */
89};
90
91
92/* This is primarily intended for language bindings that want to avoid
93 a "buffer" argument to text insertions, deletions, etc. */
96
97/*
98 * Life cycle
99 */
100
107 const GtkTextIter *other);
108
111
112/*
113 * Convert to different kinds of index
114 */
115
124
129
130
131/*
132 * “Dereference” operators
133 */
136
137/* includes the 0xFFFC char for pixmaps/widgets, so char offsets
138 * into the returned string map properly into buffer char offsets
139 */
142 const GtkTextIter *end);
143
144/* includes only text, no 0xFFFC */
147 const GtkTextIter *end);
148/* exclude invisible chars */
151 const GtkTextIter *end);
154 const GtkTextIter *end);
155
157GdkPaintable *gtk_text_iter_get_paintable (const GtkTextIter *iter);
160
163
164/* Return list of tags toggled at this point (toggled_on determines
165 * whether the list is of on-toggles or off-toggles)
166 */
169 gboolean toggled_on);
170
173 GtkTextTag *tag);
174
177 GtkTextTag *tag);
178
181 GtkTextTag *tag);
182
185 GtkTextTag *tag);
188
191 gboolean default_setting);
194 gboolean default_editability);
195
214
219
226
227/*
228 * Moving around the buffer
229 */
230
237 int count);
240 int count);
247 int count);
250 int count);
257 int count);
260 int count);
261
268 int count);
271 int count);
272
279 int count);
282 int count);
283
290 int count);
293 int count);
294/* cursor positions are almost equivalent to chars, but not quite;
295 * in some languages, you can’t put the cursor between certain
296 * chars. Also, you can’t put the cursor between \r\n at the end
297 * of a line.
298 */
305 int count);
308 int count);
309
316 int count);
319 int count);
320
323 int char_offset);
326 int line_number);
329 int char_on_line);
332 int byte_on_line);
337
340 int char_on_line);
343 int byte_on_line);
344
345/* returns TRUE if a toggle was found; NULL for the tag pointer
346 * means “any tag toggle”, otherwise the next toggle of the
347 * specified tag is located.
348 */
351 GtkTextTag *tag);
352
355 GtkTextTag *tag);
356
357/**
358 * GtkTextCharPredicate:
359 * @ch: a Unicode code point
360 * @user_data: data passed to the callback
361 *
362 * The predicate function used by gtk_text_iter_forward_find_char() and
363 * gtk_text_iter_backward_find_char().
364 *
365 * Returns: %TRUE if the predicate is satisfied, and the iteration should
366 * stop, and %FALSE otherwise
367 */
368typedef gboolean (* GtkTextCharPredicate) (gunichar ch, gpointer user_data);
369
373 gpointer user_data,
374 const GtkTextIter *limit);
378 gpointer user_data,
379 const GtkTextIter *limit);
380
383 const char *str,
384 GtkTextSearchFlags flags,
385 GtkTextIter *match_start,
386 GtkTextIter *match_end,
387 const GtkTextIter *limit);
388
391 const char *str,
392 GtkTextSearchFlags flags,
393 GtkTextIter *match_start,
394 GtkTextIter *match_end,
395 const GtkTextIter *limit);
396
397/*
398 * Comparisons
399 */
402 const GtkTextIter *rhs);
405 const GtkTextIter *rhs);
408 const GtkTextIter *start,
409 const GtkTextIter *end);
410
411/* Put these two in ascending order */
414 GtkTextIter *second);
415
417
419
#define GDK_AVAILABLE_IN_ALL
#define G_END_DECLS
Definition gmacros.h:910
#define G_BEGIN_DECLS
Definition gmacros.h:909
#define G_GNUC_CONST
Definition gmacros.h:637
#define G_DEFINE_AUTOPTR_CLEANUP_FUNC(TypeName, func)
Definition gmacros.h:1400
typedefG_BEGIN_DECLS struct _GSList GSList
Definition gslist.h:39
typedefG_BEGIN_DECLS struct _GtkTextChildAnchor GtkTextChildAnchor
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_sentence_end(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL char * gtk_text_iter_get_visible_slice(const GtkTextIter *start, const GtkTextIter *end)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_visible_cursor_positions(GtkTextIter *iter, int count)
gboolean(* GtkTextCharPredicate)(gunichar ch, gpointer user_data)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_visible_word_start(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL void gtk_text_iter_assign(GtkTextIter *iter, const GtkTextIter *other)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_chars(GtkTextIter *iter, int count)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_ends_sentence(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_cursor_position(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_char(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_search(const GtkTextIter *iter, const char *str, GtkTextSearchFlags flags, GtkTextIter *match_start, GtkTextIter *match_end, const GtkTextIter *limit)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_cursor_positions(GtkTextIter *iter, int count)
GDK_AVAILABLE_IN_ALL int gtk_text_iter_get_line_offset(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_to_line_end(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL GtkTextIter * gtk_text_iter_copy(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL char * gtk_text_iter_get_text(const GtkTextIter *start, const GtkTextIter *end)
GDK_AVAILABLE_IN_ALL void gtk_text_iter_order(GtkTextIter *first, GtkTextIter *second)
GDK_AVAILABLE_IN_ALL GtkTextChildAnchor * gtk_text_iter_get_child_anchor(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_word_start(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_chars(GtkTextIter *iter, int count)
GDK_AVAILABLE_IN_ALL void gtk_text_iter_set_line_index(GtkTextIter *iter, int byte_on_line)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_to_tag_toggle(GtkTextIter *iter, GtkTextTag *tag)
GDK_AVAILABLE_IN_ALL int gtk_text_iter_get_chars_in_line(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_visible_word_ends(GtkTextIter *iter, int count)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_equal(const GtkTextIter *lhs, const GtkTextIter *rhs)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_starts_word(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL int gtk_text_iter_get_offset(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL void gtk_text_iter_forward_to_end(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_ends_word(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_starts_line(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_char(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL void gtk_text_iter_set_line(GtkTextIter *iter, int line_number)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_can_insert(const GtkTextIter *iter, gboolean default_editability)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_in_range(const GtkTextIter *iter, const GtkTextIter *start, const GtkTextIter *end)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_cursor_positions(GtkTextIter *iter, int count)
GDK_AVAILABLE_IN_ALL int gtk_text_iter_get_visible_line_offset(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_word_ends(GtkTextIter *iter, int count)
GDK_AVAILABLE_IN_ALL GdkPaintable * gtk_text_iter_get_paintable(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL GtkTextBuffer * gtk_text_iter_get_buffer(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_lines(GtkTextIter *iter, int count)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_find_char(GtkTextIter *iter, GtkTextCharPredicate pred, gpointer user_data, const GtkTextIter *limit)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_lines(GtkTextIter *iter, int count)
GDK_AVAILABLE_IN_ALL void gtk_text_iter_free(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL void gtk_text_iter_set_visible_line_index(GtkTextIter *iter, int byte_on_line)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_find_char(GtkTextIter *iter, GtkTextCharPredicate pred, gpointer user_data, const GtkTextIter *limit)
GDK_AVAILABLE_IN_ALL PangoLanguage * gtk_text_iter_get_language(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_ends_tag(const GtkTextIter *iter, GtkTextTag *tag)
GDK_AVAILABLE_IN_ALL gunichar gtk_text_iter_get_char(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_visible_lines(GtkTextIter *iter, int count)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_line(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_to_tag_toggle(GtkTextIter *iter, GtkTextTag *tag)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_visible_cursor_positions(GtkTextIter *iter, int count)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_visible_line(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_visible_lines(GtkTextIter *iter, int count)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_is_cursor_position(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_sentence_start(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_visible_word_starts(GtkTextIter *iter, int count)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_sentence_starts(GtkTextIter *iter, int count)
GDK_AVAILABLE_IN_ALL int gtk_text_iter_get_line_index(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_word_end(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_search(const GtkTextIter *iter, const char *str, GtkTextSearchFlags flags, GtkTextIter *match_start, GtkTextIter *match_end, const GtkTextIter *limit)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_starts_sentence(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL void gtk_text_iter_set_offset(GtkTextIter *iter, int char_offset)
GDK_AVAILABLE_IN_ALL GType gtk_text_iter_get_type(void) G_GNUC_CONST
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_is_start(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL GSList * gtk_text_iter_get_toggled_tags(const GtkTextIter *iter, gboolean toggled_on)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_visible_word_end(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_sentence_ends(GtkTextIter *iter, int count)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_visible_line(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL char * gtk_text_iter_get_slice(const GtkTextIter *start, const GtkTextIter *end)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_cursor_position(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL GSList * gtk_text_iter_get_marks(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_has_tag(const GtkTextIter *iter, GtkTextTag *tag)
GDK_AVAILABLE_IN_ALL GSList * gtk_text_iter_get_tags(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL int gtk_text_iter_compare(const GtkTextIter *lhs, const GtkTextIter *rhs)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_ends_line(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL void gtk_text_iter_set_line_offset(GtkTextIter *iter, int char_on_line)
GtkTextSearchFlags
Definition gtktextiter.h:51
@ GTK_TEXT_SEARCH_TEXT_ONLY
Definition gtktextiter.h:53
@ GTK_TEXT_SEARCH_CASE_INSENSITIVE
Definition gtktextiter.h:54
@ GTK_TEXT_SEARCH_VISIBLE_ONLY
Definition gtktextiter.h:52
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_toggles_tag(const GtkTextIter *iter, GtkTextTag *tag)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_inside_word(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_is_end(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_line(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL char * gtk_text_iter_get_visible_text(const GtkTextIter *start, const GtkTextIter *end)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_inside_sentence(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_starts_tag(const GtkTextIter *iter, GtkTextTag *tag)
GDK_AVAILABLE_IN_ALL int gtk_text_iter_get_visible_line_index(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_editable(const GtkTextIter *iter, gboolean default_setting)
GDK_AVAILABLE_IN_ALL int gtk_text_iter_get_bytes_in_line(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL int gtk_text_iter_get_line(const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_word_starts(GtkTextIter *iter, int count)
GDK_AVAILABLE_IN_ALL void gtk_text_iter_set_visible_line_offset(GtkTextIter *iter, int char_on_line)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_forward_visible_cursor_position(GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_iter_backward_visible_cursor_position(GtkTextIter *iter)
typedefG_BEGIN_DECLS struct _GtkTextIter GtkTextIter
Definition gtktexttag.h:63
gsize GType
Definition gtype.h:427
gint gboolean
Definition gtypes.h:56
void * gpointer
Definition gtypes.h:109
G_BEGIN_DECLS typedef guint32 gunichar
Definition gunicode.h:61
struct _PangoLanguage PangoLanguage
Definition pango-types.h:46
gpointer dummy9
Definition gtktextiter.h:82
gpointer dummy1
Definition gtktextiter.h:74
gpointer dummy2
Definition gtktextiter.h:75
gpointer dummy10
Definition gtktextiter.h:83
gpointer dummy14
Definition gtktextiter.h:88