Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
gtktextview.h
Go to the documentation of this file.
1/* GTK - The GIMP Toolkit
2 * gtktextview.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/gtkwidget.h>
32#include <gtk/gtkimcontext.h>
33#include <gtk/gtktextbuffer.h>
34
36
37#define GTK_TYPE_TEXT_VIEW (gtk_text_view_get_type ())
38#define GTK_TEXT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TEXT_VIEW, GtkTextView))
39#define GTK_TEXT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEXT_VIEW, GtkTextViewClass))
40#define GTK_IS_TEXT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TEXT_VIEW))
41#define GTK_IS_TEXT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_VIEW))
42#define GTK_TEXT_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TEXT_VIEW, GtkTextViewClass))
43
44/**
45 * GtkTextWindowType:
46 * @GTK_TEXT_WINDOW_WIDGET: Window that floats over scrolling areas.
47 * @GTK_TEXT_WINDOW_TEXT: Scrollable text window.
48 * @GTK_TEXT_WINDOW_LEFT: Left side border window.
49 * @GTK_TEXT_WINDOW_RIGHT: Right side border window.
50 * @GTK_TEXT_WINDOW_TOP: Top border window.
51 * @GTK_TEXT_WINDOW_BOTTOM: Bottom border window.
52 *
53 * Used to reference the parts of `GtkTextView`.
54 */
64
65/**
66 * GtkTextViewLayer:
67 * @GTK_TEXT_VIEW_LAYER_BELOW_TEXT: The layer rendered below the text (but above the background).
68 * @GTK_TEXT_VIEW_LAYER_ABOVE_TEXT: The layer rendered above the text.
69 *
70 * Used to reference the layers of `GtkTextView` for the purpose of customized
71 * drawing with the ::snapshot_layer vfunc.
72 */
78
79/**
80 * GtkTextExtendSelection:
81 * @GTK_TEXT_EXTEND_SELECTION_WORD: Selects the current word. It is triggered by
82 * a double-click for example.
83 * @GTK_TEXT_EXTEND_SELECTION_LINE: Selects the current line. It is triggered by
84 * a triple-click for example.
85 *
86 * Granularity types that extend the text selection. Use the
87 * `GtkTextView::extend-selection` signal to customize the selection.
88 */
94
95/**
96 * GTK_TEXT_VIEW_PRIORITY_VALIDATE: (value 125)
97 *
98 * The priority at which the text view validates onscreen lines
99 * in an idle job in the background.
100 */
101#define GTK_TEXT_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5)
102
104typedef struct _GtkTextViewPrivate GtkTextViewPrivate;
106
108{
110
111 /*< private >*/
112
114};
115
116/**
117 * GtkTextViewClass:
118 * @parent_class: The object class structure needs to be the first
119 * @move_cursor: The class handler for the `GtkTextView::move-cursor`
120 * keybinding signal.
121 * @set_anchor: The class handler for the `GtkTextView::set-anchor`
122 * keybinding signal.
123 * @insert_at_cursor: The class handler for the `GtkTextView::insert-at-cursor`
124 * keybinding signal.
125 * @delete_from_cursor: The class handler for the `GtkTextView::delete-from-cursor`
126 * keybinding signal.
127 * @backspace: The class handler for the `GtkTextView::backspace`
128 * keybinding signal.
129 * @cut_clipboard: The class handler for the `GtkTextView::cut-clipboard`
130 * keybinding signal
131 * @copy_clipboard: The class handler for the `GtkTextView::copy-clipboard`
132 * keybinding signal.
133 * @paste_clipboard: The class handler for the `GtkTextView::paste-clipboard`
134 * keybinding signal.
135 * @toggle_overwrite: The class handler for the `GtkTextView::toggle-overwrite`
136 * keybinding signal.
137 * @create_buffer: The create_buffer vfunc is called to create a `GtkTextBuffer`
138 * for the text view. The default implementation is to just call
139 * gtk_text_buffer_new().
140 * @snapshot_layer: The snapshot_layer vfunc is called before and after the text
141 * view is drawing its own text. Applications can override this vfunc
142 * in a subclass to draw customized content underneath or above the
143 * text. In the %GTK_TEXT_VIEW_LAYER_BELOW_TEXT and %GTK_TEXT_VIEW_LAYER_ABOVE_TEXT
144 * layers the drawing is done in the buffer coordinate space.
145 * @extend_selection: The class handler for the `GtkTextView::extend-selection` signal.
146 * @insert_emoji: The class handler for the `GtkTextView::insert-emoji` signal.
147 */
149{
151
152 /*< public >*/
153
154 void (* move_cursor) (GtkTextView *text_view,
155 GtkMovementStep step,
156 int count,
158 void (* set_anchor) (GtkTextView *text_view);
159 void (* insert_at_cursor) (GtkTextView *text_view,
160 const char *str);
161 void (* delete_from_cursor) (GtkTextView *text_view,
162 GtkDeleteType type,
163 int count);
164 void (* backspace) (GtkTextView *text_view);
165 void (* cut_clipboard) (GtkTextView *text_view);
166 void (* copy_clipboard) (GtkTextView *text_view);
167 void (* paste_clipboard) (GtkTextView *text_view);
168 void (* toggle_overwrite) (GtkTextView *text_view);
169 GtkTextBuffer * (* create_buffer) (GtkTextView *text_view);
170 void (* snapshot_layer) (GtkTextView *text_view,
171 GtkTextViewLayer layer,
172 GtkSnapshot *snapshot);
174 GtkTextExtendSelection granularity,
175 const GtkTextIter *location,
176 GtkTextIter *start,
177 GtkTextIter *end);
178 void (* insert_emoji) (GtkTextView *text_view);
179
180 /*< private >*/
181
183};
184
193 GtkTextBuffer *buffer);
198 GtkTextIter *iter,
199 double within_margin,
200 gboolean use_align,
201 double xalign,
202 double yalign);
205 GtkTextMark *mark,
206 double within_margin,
207 gboolean use_align,
208 double xalign,
209 double yalign);
212 GtkTextMark *mark);
215 GtkTextMark *mark);
218
221 GdkRectangle *visible_rect);
224 gboolean setting);
227
230
233 const GtkTextIter *iter,
234 GdkRectangle *strong,
235 GdkRectangle *weak);
238 const GtkTextIter *iter,
239 GdkRectangle *location);
242 GtkTextIter *iter,
243 int x,
244 int y);
247 GtkTextIter *iter,
248 int *trailing,
249 int x,
250 int y);
253 const GtkTextIter *iter,
254 int *y,
255 int *height);
256
259 GtkTextIter *target_iter,
260 int y,
261 int *line_top);
262
266 int buffer_x,
267 int buffer_y,
268 int *window_x,
269 int *window_y);
273 int window_x,
274 int window_y,
275 int *buffer_x,
276 int *buffer_y);
277
280 GtkTextIter *iter);
283 GtkTextIter *iter);
286 GtkTextIter *iter);
289 GtkTextIter *iter);
292 const GtkTextIter *iter);
295 GtkTextIter *iter,
296 int count);
297
300 GdkEvent *event);
303
304/* Adding child widgets */
311 GtkWidget *widget);
314 GtkWidget *child,
315 GtkTextChildAnchor *anchor);
316
319 GtkWidget *child,
320 int xpos,
321 int ypos);
322
325 GtkWidget *child,
326 int xpos,
327 int ypos);
328
331 GtkWidget *child);
332
333/* Default style settings (fallbacks if no tag affects the property) */
334
337 GtkWrapMode wrap_mode);
342 gboolean setting);
347 gboolean overwrite);
352 gboolean accepts_tab);
357 int pixels_above_lines);
362 int pixels_below_lines);
367 int pixels_inside_wrap);
372 GtkJustification justification);
377 int left_margin);
382 int right_margin);
387 int top_margin);
392 int bottom_margin);
397 int indent);
402 PangoTabArray *tabs);
405
408 GtkInputPurpose purpose);
411
414 GtkInputHints hints);
417
420 gboolean monospace);
423
426 GMenuModel *model);
433
435
437
#define GDK_AVAILABLE_IN_ALL
struct _GdkEvent GdkEvent
Definition gdkevents.h:101
#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
GOBJECT_AVAILABLE_IN_ALL void g_object_unref(gpointer object)
GtkInputPurpose
Definition gtkenums.h:955
GtkDeleteType
Definition gtkenums.h:184
GtkWrapMode
Definition gtkenums.h:578
GtkJustification
Definition gtkenums.h:283
GtkMovementStep
Definition gtkenums.h:369
GtkInputHints
Definition gtkenums.h:1002
typedefG_BEGIN_DECLS struct _GtkTextChildAnchor GtkTextChildAnchor
typedefG_BEGIN_DECLS struct _GtkTextMark GtkTextMark
Definition gtktextmark.h:58
typedefG_BEGIN_DECLS struct _GtkTextIter GtkTextIter
Definition gtktexttag.h:63
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_get_cursor_visible(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL GtkWidget * gtk_text_view_new(void)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_forward_display_line(GtkTextView *text_view, GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_forward_display_line_end(GtkTextView *text_view, GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_overwrite(GtkTextView *text_view, gboolean overwrite)
GDK_AVAILABLE_IN_ALL GtkJustification gtk_text_view_get_justification(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL int gtk_text_view_get_pixels_below_lines(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_pixels_above_lines(GtkTextView *text_view, int pixels_above_lines)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_justification(GtkTextView *text_view, GtkJustification justification)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_backward_display_line_start(GtkTextView *text_view, GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_tabs(GtkTextView *text_view, PangoTabArray *tabs)
GDK_AVAILABLE_IN_ALL GtkWrapMode gtk_text_view_get_wrap_mode(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL int gtk_text_view_get_right_margin(GtkTextView *text_view)
GtkTextExtendSelection
Definition gtktextview.h:90
@ GTK_TEXT_EXTEND_SELECTION_WORD
Definition gtktextview.h:91
@ GTK_TEXT_EXTEND_SELECTION_LINE
Definition gtktextview.h:92
GDK_AVAILABLE_IN_ALL GMenuModel * gtk_text_view_get_extra_menu(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL void gtk_text_view_move_overlay(GtkTextView *text_view, GtkWidget *child, int xpos, int ypos)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_wrap_mode(GtkTextView *text_view, GtkWrapMode wrap_mode)
GDK_AVAILABLE_IN_ALL void gtk_text_view_window_to_buffer_coords(GtkTextView *text_view, GtkTextWindowType win, int window_x, int window_y, int *buffer_x, int *buffer_y)
GDK_AVAILABLE_IN_ALL void gtk_text_view_reset_cursor_blink(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_monospace(GtkTextView *text_view, gboolean monospace)
GDK_AVAILABLE_IN_ALL GtkInputPurpose gtk_text_view_get_input_purpose(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL void gtk_text_view_add_overlay(GtkTextView *text_view, GtkWidget *child, int xpos, int ypos)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_top_margin(GtkTextView *text_view, int top_margin)
GDK_AVAILABLE_IN_ALL void gtk_text_view_scroll_mark_onscreen(GtkTextView *text_view, GtkTextMark *mark)
GtkTextViewLayer
Definition gtktextview.h:74
@ GTK_TEXT_VIEW_LAYER_BELOW_TEXT
Definition gtktextview.h:75
@ GTK_TEXT_VIEW_LAYER_ABOVE_TEXT
Definition gtktextview.h:76
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_indent(GtkTextView *text_view, int indent)
GDK_AVAILABLE_IN_ALL void gtk_text_view_get_line_at_y(GtkTextView *text_view, GtkTextIter *target_iter, int y, int *line_top)
GDK_AVAILABLE_IN_ALL GtkWidget * gtk_text_view_new_with_buffer(GtkTextBuffer *buffer)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_move_mark_onscreen(GtkTextView *text_view, GtkTextMark *mark)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_get_iter_at_position(GtkTextView *text_view, GtkTextIter *iter, int *trailing, int x, int y)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_input_hints(GtkTextView *text_view, GtkInputHints hints)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_buffer(GtkTextView *text_view, GtkTextBuffer *buffer)
GDK_AVAILABLE_IN_ALL int gtk_text_view_get_pixels_above_lines(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_get_overwrite(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL PangoContext * gtk_text_view_get_rtl_context(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL int gtk_text_view_get_left_margin(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL GtkWidget * gtk_text_view_get_gutter(GtkTextView *text_view, GtkTextWindowType win)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_input_purpose(GtkTextView *text_view, GtkInputPurpose purpose)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_move_visually(GtkTextView *text_view, GtkTextIter *iter, int count)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_left_margin(GtkTextView *text_view, int left_margin)
GDK_AVAILABLE_IN_ALL void gtk_text_view_add_child_at_anchor(GtkTextView *text_view, GtkWidget *child, GtkTextChildAnchor *anchor)
GDK_AVAILABLE_IN_ALL void gtk_text_view_remove(GtkTextView *text_view, GtkWidget *child)
GDK_AVAILABLE_IN_ALL void gtk_text_view_get_line_yrange(GtkTextView *text_view, const GtkTextIter *iter, int *y, int *height)
GDK_AVAILABLE_IN_ALL void gtk_text_view_scroll_to_mark(GtkTextView *text_view, GtkTextMark *mark, double within_margin, gboolean use_align, double xalign, double yalign)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_pixels_inside_wrap(GtkTextView *text_view, int pixels_inside_wrap)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_accepts_tab(GtkTextView *text_view, gboolean accepts_tab)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_im_context_filter_keypress(GtkTextView *text_view, GdkEvent *event)
GDK_AVAILABLE_IN_ALL void gtk_text_view_get_visible_rect(GtkTextView *text_view, GdkRectangle *visible_rect)
GDK_AVAILABLE_IN_ALL PangoTabArray * gtk_text_view_get_tabs(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL GtkInputHints gtk_text_view_get_input_hints(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_pixels_below_lines(GtkTextView *text_view, int pixels_below_lines)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_get_accepts_tab(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_bottom_margin(GtkTextView *text_view, int bottom_margin)
GDK_AVAILABLE_IN_ALL int gtk_text_view_get_pixels_inside_wrap(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL int gtk_text_view_get_bottom_margin(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_gutter(GtkTextView *text_view, GtkTextWindowType win, GtkWidget *widget)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_scroll_to_iter(GtkTextView *text_view, GtkTextIter *iter, double within_margin, gboolean use_align, double xalign, double yalign)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_extra_menu(GtkTextView *text_view, GMenuModel *model)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_backward_display_line(GtkTextView *text_view, GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL void gtk_text_view_get_iter_location(GtkTextView *text_view, const GtkTextIter *iter, GdkRectangle *location)
GDK_AVAILABLE_IN_ALL void gtk_text_view_buffer_to_window_coords(GtkTextView *text_view, GtkTextWindowType win, int buffer_x, int buffer_y, int *window_x, int *window_y)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_get_monospace(GtkTextView *text_view)
GtkTextWindowType
Definition gtktextview.h:56
@ GTK_TEXT_WINDOW_BOTTOM
Definition gtktextview.h:62
@ GTK_TEXT_WINDOW_RIGHT
Definition gtktextview.h:60
@ GTK_TEXT_WINDOW_TOP
Definition gtktextview.h:61
@ GTK_TEXT_WINDOW_TEXT
Definition gtktextview.h:58
@ GTK_TEXT_WINDOW_WIDGET
Definition gtktextview.h:57
@ GTK_TEXT_WINDOW_LEFT
Definition gtktextview.h:59
struct _GtkTextViewPrivate GtkTextViewPrivate
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_get_iter_at_location(GtkTextView *text_view, GtkTextIter *iter, int x, int y)
GDK_AVAILABLE_IN_ALL void gtk_text_view_reset_im_context(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_get_editable(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL void gtk_text_view_get_cursor_locations(GtkTextView *text_view, const GtkTextIter *iter, GdkRectangle *strong, GdkRectangle *weak)
GDK_AVAILABLE_IN_ALL PangoContext * gtk_text_view_get_ltr_context(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_starts_display_line(GtkTextView *text_view, const GtkTextIter *iter)
GDK_AVAILABLE_IN_ALL gboolean gtk_text_view_place_cursor_onscreen(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL int gtk_text_view_get_top_margin(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL int gtk_text_view_get_indent(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL GtkTextBuffer * gtk_text_view_get_buffer(GtkTextView *text_view)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_right_margin(GtkTextView *text_view, int right_margin)
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_editable(GtkTextView *text_view, gboolean setting)
GDK_AVAILABLE_IN_ALL GType gtk_text_view_get_type(void) G_GNUC_CONST
GDK_AVAILABLE_IN_ALL void gtk_text_view_set_cursor_visible(GtkTextView *text_view, gboolean setting)
GdkSnapshot GtkSnapshot
Definition gtktypes.h:60
gsize GType
Definition gtype.h:427
gint gboolean
Definition gtypes.h:56
void * gpointer
Definition gtypes.h:109
typedefG_BEGIN_DECLS struct _PangoTabArray PangoTabArray
Definition pango-tabs.h:29
struct _PangoContext PangoContext
Definition pango-types.h:44
GtkWidgetClass parent_class
void(* move_cursor)(GtkTextView *text_view, GtkMovementStep step, int count, gboolean extend_selection)
void(* copy_clipboard)(GtkTextView *text_view)
void(* paste_clipboard)(GtkTextView *text_view)
void(* insert_emoji)(GtkTextView *text_view)
void(* snapshot_layer)(GtkTextView *text_view, GtkTextViewLayer layer, GtkSnapshot *snapshot)
void(* toggle_overwrite)(GtkTextView *text_view)
void(* backspace)(GtkTextView *text_view)
void(* set_anchor)(GtkTextView *text_view)
gpointer padding[8]
void(* insert_at_cursor)(GtkTextView *text_view, const char *str)
void(* cut_clipboard)(GtkTextView *text_view)
gboolean(* extend_selection)(GtkTextView *text_view, GtkTextExtendSelection granularity, const GtkTextIter *location, GtkTextIter *start, GtkTextIter *end)
void(* delete_from_cursor)(GtkTextView *text_view, GtkDeleteType type, int count)
GtkTextViewPrivate * priv
GtkWidget parent_instance