6 (define-foreign-type unichar
()
9 (:simple-parser unichar
))
11 (defmethod translate-from-foreign (value (type unichar
))
14 (defmethod translate-to-foreign (value (type unichar
))
17 (define-g-boxed-opaque text-iter
"GtkTextIter"
18 :alloc
(gtk-text-iter-alloc))
20 (define-boxed-opaque-accessor text-iter text-iter-buffer
:reader
"gtk_text_iter_get_buffer" :type
(g-object text-buffer
))
21 (define-boxed-opaque-accessor text-iter text-iter-offset
:reader
"gtk_text_iter_get_offset" :writer
"gtk_text_iter_set_offset" :type
:int
)
22 (define-boxed-opaque-accessor text-iter text-iter-line
:reader
"gtk_text_iter_get_line" :writer
"gtk_text_iter_set_line" :type
:int
)
23 (define-boxed-opaque-accessor text-iter text-iter-line-offset
:reader
"gtk_text_iter_get_line_offset" :writer
"gtk_text_iter_set_line_offset" :type
:int
)
24 (define-boxed-opaque-accessor text-iter text-iter-visible-line-offset
:reader
"gtk_text_iter_get_visible_line_offset" :writer
"gtk_text_iter_set_visible_line_offset" :type
:int
)
25 (define-boxed-opaque-accessor text-iter text-iter-char
:reader
"gtk_text_iter_get_char" :type unichar
)
26 (define-boxed-opaque-accessor text-iter text-iter-pixbuf
:reader
"gtk_text_iter_get_pixbuf" :type
(g-object pixbuf
))
27 (define-boxed-opaque-accessor text-iter text-iter-marks
:reader
"gtk_text_iter_get_marks" :type
(gslist (g-object text-mark
) :free-from-foreign t
))
28 (define-boxed-opaque-accessor text-iter text-iter-child-anchor
:reader
"gtk_text_iter_get_child_anchor" :type
(g-object text-child-anchor
))
29 (define-boxed-opaque-accessor text-iter text-iter-tags
:reader
"gtk_text_iter_get_tags" :type
(gslist (g-object text-tag
) :free-from-foreign t
))
30 (define-boxed-opaque-accessor text-iter text-iter-chars-in-line
:reader
"gtk_text_iter_get_chars_in_line" :type
:int
)
31 (define-boxed-opaque-accessor text-iter text-iter-language
:reader
"gtk_text_iter_get_language" :type
:pointer
)
32 (define-boxed-opaque-accessor text-iter text-iter-is-end
:reader
"gtk_text_iter_is_end" :type
:boolean
)
33 (define-boxed-opaque-accessor text-iter text-iter-is-start
:reader
"gtk_text_iter_is_start" :type
:boolean
)
34 (define-boxed-opaque-accessor text-iter text-iter-can-insert
:reader
"gtk_text_iter_can_insert" :type
:boolean
)
35 (define-boxed-opaque-accessor text-iter text-iter-starts-word
:reader
"gtk_text_iter_starts_word" :type
:boolean
)
36 (define-boxed-opaque-accessor text-iter text-iter-ends-word
:reader
"gtk_text_iter_ends_word" :type
:boolean
)
37 (define-boxed-opaque-accessor text-iter text-iter-inside-word
:reader
"gtk_text_iter_inside_word" :type
:boolean
)
38 (define-boxed-opaque-accessor text-iter text-iter-starts-line
:reader
"gtk_text_iter_starts_line" :type
:boolean
)
39 (define-boxed-opaque-accessor text-iter text-iter-ends-line
:reader
"gtk_text_iter_ends_line" :type
:boolean
)
40 (define-boxed-opaque-accessor text-iter text-iter-starts-sentence
:reader
"gtk_text_iter_starts_sentence" :type
:boolean
)
41 (define-boxed-opaque-accessor text-iter text-iter-ends-sentence
:reader
"gtk_text_iter_ends_sentence" :type
:boolean
)
42 (define-boxed-opaque-accessor text-iter text-iter-inside-sentence
:reader
"gtk_text_iter_inside_sentence" :type
:boolean
)
43 (define-boxed-opaque-accessor text-iter text-iter-is-cursor-position
:reader
"gtk_text_iter_is_cursor_position" :type
:boolean
)
45 (export (boxed-related-symbols 'text-iter
))
46 (export '(text-iter-buffer text-iter-offset text-iter-line
47 text-iter-line-offset text-iter-visible-line-offset
48 text-iter-char text-iter-pixbuf text-iter-marks
49 text-iter-child-anchor text-iter-tags
50 text-iter-chars-in-line text-iter-language text-iter-is-end
51 text-iter-is-start text-iter-can-insert
52 text-iter-starts-word text-iter-ends-word
53 text-iter-inside-word text-iter-starts-line
54 text-iter-ends-line text-iter-starts-sentence
55 text-iter-ends-sentence text-iter-inside-sentence
56 text-iter-is-cursor-position
))
58 (defcstruct %text-iter
74 (defcfun gtk-text-iter-copy
:pointer
77 (defun gtk-text-iter-alloc ()
78 (with-foreign-object (iter '%text-iter
)
79 (gtk-text-iter-copy iter
)))
81 (defcfun (text-iter-slice "gtk_text_iter_get_slice") (:string
:free-from-foreign t
)
82 (start (g-boxed-foreign text-iter
))
83 (end (g-boxed-foreign text-iter
)))
85 (export 'text-iter-slice
)
87 (defcfun (text-iter-text "gtk_text_iter_get_text") (:string
:free-from-foreign t
)
88 (start (g-boxed-foreign text-iter
))
89 (end (g-boxed-foreign text-iter
)))
91 (export 'text-iter-text
)
93 (defcfun (text-iter-visible-slice "gtk_text_iter_get_visible_slice") (:string
:free-from-foreign t
)
94 (start (g-boxed-foreign text-iter
))
95 (end (g-boxed-foreign text-iter
)))
97 (export 'text-iter-visible-slice
)
99 (defcfun (text-iter-visible-text "gtk_text_iter_get_visible_text") (:string
:free-from-foreign t
)
100 (start (g-boxed-foreign text-iter
))
101 (end (g-boxed-foreign text-iter
)))
103 (export 'text-iter-visible-text
)
105 (defcfun (text-iter-toggled-tags "gtk_text_iter_get_toggled_tags") (gslist (g-object text-tag
))
106 (iter (g-boxed-foreign text-iter
))
107 (toggled-on :boolean
))
109 (export 'text-iter-toggled-tags
)
111 (defcfun (text-iter-begins-tag "gtk_text_iter_begins_tag") :boolean
112 (iter (g-boxed-foreign text-iter
))
113 (tag (g-object text-tag
)))
115 (export 'text-iter-begins-tag
)
117 (defcfun (text-iter-ends-tag "gtk_text_iter_ends_tag") :boolean
118 (iter (g-boxed-foreign text-iter
))
119 (tag (g-object text-tag
)))
121 (export 'text-iter-ends-tag
)
123 (defcfun (text-iter-toggles-tag "gtk_text_iter_toggles_tag") :boolean
124 (iter (g-boxed-foreign text-iter
))
125 (tag (g-object text-tag
)))
127 (export 'text-iter-toggles-tag
)
129 (defcfun (text-iter-has-tag "gtk_text_iter_has_tag") :boolean
130 (iter (g-boxed-foreign text-iter
))
131 (tag (g-object text-tag
)))
133 (export 'text-iter-has-tag
)
135 (defcfun (text-iter-editable "gtk_text_iter_editable") :boolean
136 (iter (g-boxed-foreign text-iter
))
139 (export 'text-iter-editable
)
141 (defcfun gtk-text-iter-get-attributes
:boolean
142 (iter (g-boxed-foreign text-iter
))
143 (values (g-object text-attributes
)))
145 (defun text-iter-attributes (iter default-attributes
)
146 (let ((changed-p (gtk-text-iter-get-attributes iter default-attributes
)))
147 (values default-attributes changed-p
)))
149 (export 'text-iter-attributes
)
151 (defcfun gtk-text-iter-forward-chars
:boolean
152 (iter (g-boxed-foreign text-iter
))
155 (defcfun gtk-text-iter-forward-lines
:boolean
156 (iter (g-boxed-foreign text-iter
))
159 (defcfun gtk-text-iter-forward-word-ends
:boolean
160 (iter (g-boxed-foreign text-iter
))
163 (defcfun gtk-text-iter-backward-word-starts
:boolean
164 (iter (g-boxed-foreign text-iter
))
167 (defcfun gtk-text-iter-forward-cursor-positions
:boolean
168 (iter (g-boxed-foreign text-iter
))
171 (defcfun gtk-text-iter-forward-sentence-ends
:boolean
172 (iter (g-boxed-foreign text-iter
))
175 (defcfun gtk-text-iter-backward-sentence-starts
:boolean
176 (iter (g-boxed-foreign text-iter
))
179 (defcfun gtk-text-iter-forward-visible-word-ends
:boolean
180 (iter (g-boxed-foreign text-iter
))
183 (defcfun gtk-text-iter-backward-visible-word-starts
:boolean
184 (iter (g-boxed-foreign text-iter
))
187 (defcfun gtk-text-iter-forward-visible-cursor-positions
:boolean
188 (iter (g-boxed-foreign text-iter
))
191 (defcfun gtk-text-iter-forward-visible-lines
:boolean
192 (iter (g-boxed-foreign text-iter
))
195 (defun text-iter-move (iter &key
(count 1) (by :char
) (direction :forward
))
196 (assert (typep by
'(member :char
:line
:word
:cursor-position
:sentence
:visible-word
:visible-line
:visible-cursor-position
)))
197 (assert (typep direction
'(member :forward
:backward
)))
198 (when (and (member by
'(:char
:ine
:cursor-position
:visible-line
:visible-cursor-position
)) (eq direction
:backward
))
199 (setf count
(- count
)))
201 (:char
(gtk-text-iter-forward-chars iter count
))
202 (:line
(gtk-text-iter-forward-lines iter count
))
203 (:word
(if (eq direction
:forward
)
204 (gtk-text-iter-forward-word-ends iter count
)
205 (gtk-text-iter-backward-word-starts iter count
)))
206 (:cursor-position
(gtk-text-iter-forward-cursor-positions iter count
))
207 (:sentence
(if (eq direction
:forward
)
208 (gtk-text-iter-forward-sentence-ends iter count
)
209 (gtk-text-iter-backward-sentence-starts iter count
)))
210 (:visible-word
(if (eq direction
:forward
)
211 (gtk-text-iter-forward-visible-word-ends iter count
)
212 (gtk-text-iter-backward-visible-word-starts iter count
)))
213 (:visible-line
(gtk-text-iter-forward-visible-lines iter count
))
214 (:visible-cursor-position
(gtk-text-iter-forward-visible-cursor-positions iter count
))))
216 (export 'text-iter-move
)
218 (defcfun (text-iter-forward-to-end "gtk_text_iter_forward_to_end") :void
219 (iter (g-boxed-foreign text-iter
)))
221 (export 'text-iter-forward-to-end
)
223 (defcfun (text-iter-forward-to-line-end "gtk_text_iter_forward_to_line_end") :boolean
224 (iter (g-boxed-foreign text-iter
)))
226 (export 'text-iter-forward-to-line-end
)
228 (defcfun (text-iter-forward-to-tag-toggle "gtk_text_iter_forward_to_tag_toggle") :boolean
229 (iter (g-boxed-foreign text-iter
))
230 (tag (g-object text-tag
)))
232 (defcfun (text-iter-backward-to-tag-toggle "gtk_text_iter_backward_to_tag_toggle") :boolean
233 (iter (g-boxed-foreign text-iter
))
234 (tag (g-object text-tag
)))
236 (export '(text-iter-forward-to-tag-toggle text-iter-backward-to-tag-toggle
))
238 (defcallback gtk-text-char-predicate
:boolean
((char unichar
) (user-data :pointer
))
239 (let ((function (get-stable-pointer-value user-data
)))
240 (funcall function char
)))
242 (defcfun gtk-text-iter-forward-find-char
:boolean
243 (iter (g-boxed-foreign text-iter
))
246 (limit (g-boxed-foreign text-iter
)))
248 (defcfun gtk-text-iter-backward-find-char
:boolean
249 (iter (g-boxed-foreign text-iter
))
252 (limit (g-boxed-foreign text-iter
)))
254 (defun text-iter-find-char (iter predicate
&key limit
(direction :forward
))
255 (assert (typep direction
'(member :forward
:backward
)))
256 (with-stable-pointer (ptr predicate
)
257 (if (eq direction
:forward
)
258 (gtk-text-iter-forward-find-char iter
(callback gtk-text-char-predicate
) ptr limit
)
259 (gtk-text-iter-backward-find-char iter
(callback gtk-text-char-predicate
) ptr limit
))))
261 (export 'text-iter-find-char
)
263 (defcfun gtk-text-iter-forward-search
:boolean
264 (iter (g-boxed-foreign text-iter
))
265 (str (:string
:free-to-foreign t
))
266 (flags text-search-flags
)
267 (match-start (g-boxed-foreign text-iter
))
268 (match-end (g-boxed-foreign text-iter
))
269 (limit (g-boxed-foreign text-iter
)))
271 (defcfun gtk-text-iter-backward-search
:boolean
272 (iter (g-boxed-foreign text-iter
))
273 (str (:string
:free-to-foreign t
))
274 (flags text-search-flags
)
275 (match-start (g-boxed-foreign text-iter
))
276 (match-end (g-boxed-foreign text-iter
))
277 (limit (g-boxed-foreign text-iter
)))
279 (defun text-iter-search (start-position string
&key flags limit
(direction :forward
))
280 (assert (typep direction
'(member :forward
:backward
)))
281 (let ((i1 (make-instance 'text-iter
))
282 (i2 (make-instance 'text-iter
)))
283 (if (if (eq direction
:forward
)
284 (gtk-text-iter-forward-search start-position string flags i1 i2 limit
)
285 (gtk-text-iter-backward-search start-position string flags i1 i2 limit
))
287 (values nil nil nil
))))
289 (export 'text-iter-search
)
291 (defcfun (text-iter-equal "gtk_text_iter_equal") :boolean
292 (iter-1 (g-boxed-foreign text-iter
))
293 (iter-2 (g-boxed-foreign text-iter
)))
295 (export 'text-iter-equal
)
297 (defcfun (text-iter-compare "gtk_text_iter_compare") :int
298 (iter-1 (g-boxed-foreign text-iter
))
299 (iter-2 (g-boxed-foreign text-iter
)))
301 (export 'text-iter-compare
)
303 (defcfun (text-iter-in-range "gtk_text_iter_in_range") :boolean
304 (iter (g-boxed-foreign text-iter
))
305 (start (g-boxed-foreign text-iter
))
306 (end (g-boxed-foreign text-iter
)))
308 (export 'text-iter-in-range
)
310 (defcfun (text-iter-order "gtk_text_iter_order") :void
311 (iter-1 (g-boxed-foreign text-iter
))
312 (iter-2 (g-boxed-foreign text-iter
)))
314 (export 'text-iter-order
)
318 (defcfun (text-mark-visible "gtk_text_mark_get_visible") :boolean
319 (mark (g-object text-mark
)))
321 (defcfun gtk-text-mark-set-visible
:void
322 (mark (g-object text-mark
))
325 (defun (setf text-mark-visible
) (new-value mark
)
326 (gtk-text-mark-set-visible mark new-value
))
328 (export 'text-mark-visible
)
330 (defcfun (text-mark-deleted "gtk_text_mark_get_deleted") :boolean
331 (mark (g-object text-mark
)))
333 (export 'text-mark-deleted
)
335 (defcfun (text-mark-buffer "gtk_text_mark_get_buffer") (g-object text-buffer
)
336 (mark (g-object text-mark
)))
338 (export 'text-mark-buffer
)
342 (defcfun (text-buffer-line-count "gtk_text_buffer_get_line_count") :int
343 (buffer (g-object text-buffer
)))
345 (export 'text-buffer-line-count
)
347 (defcfun (text-buffer-char-count "gtk_text_buffer_get_char_count") :int
348 (buffer (g-object text-buffer
)))
350 (export 'text-buffer
)
352 (defcfun gtk-text-buffer-insert
:void
353 (buffer (g-object text-buffer
))
354 (iter (g-boxed-foreign text-iter
))
355 (text (:string
:free-to-foreign t
))
358 (defcfun gtk-text-buffer-insert-at-cursor
:void
359 (buffer (g-object text-buffer
))
360 (text (:string
:free-to-foreign t
))
363 (defcfun gtk-text-buffer-insert-interactive
:boolean
364 (buffer (g-object text-buffer
))
365 (iter (g-boxed-foreign text-iter
))
366 (text (:string
:free-to-foreign t
))
368 (default-editable :boolean
))
370 (defcfun gtk-text-buffer-insert-interactive-at-cursor
:boolean
371 (buffer (g-object text-buffer
))
372 (text (:string
:free-to-foreign t
))
374 (default-editable :boolean
))
376 (defun text-buffer-insert (buffer text
&key
(position :cursor
) (interactive nil
) (default-editable t
))
377 (assert (typep position
'(or text-iter
(member :cursor
))))
379 (if (eq position
:cursor
)
380 (gtk-text-buffer-insert-interactive-at-cursor buffer text -
1 default-editable
)
381 (gtk-text-buffer-insert-interactive buffer position text -
1 default-editable
))
382 (progn (if (eq position
:cursor
)
383 (gtk-text-buffer-insert-at-cursor buffer text -
1)
384 (gtk-text-buffer-insert buffer position text -
1))
387 (export 'text-buffer-insert
)
389 (defcfun gtk-text-buffer-insert-range
:void
390 (buffer (g-object text-buffer
))
391 (iter (g-boxed-foreign text-iter
))
392 (range-start (g-boxed-foreign text-iter
))
393 (range-end (g-boxed-foreign text-iter
)))
395 (defcfun gtk-text-buffer-insert-range-interactive
:boolean
396 (buffer (g-object text-buffer
))
397 (iter (g-boxed-foreign text-iter
))
398 (range-start (g-boxed-foreign text-iter
))
399 (range-end (g-boxed-foreign text-iter
))
400 (default-editable :boolean
))
402 (defun text-buffer-insert-range (buffer position range-start range-end
&key interactive default-editable
)
404 (gtk-text-buffer-insert-range-interactive buffer position range-start range-end default-editable
)
405 (progn (gtk-text-buffer-insert-range buffer position range-start range-end
)
408 (export 'text-buffer-insert-range
)
410 (defcfun gtk-text-buffer-delete
:void
411 (buffer (g-object text-buffer
))
412 (range-start (g-boxed-foreign text-iter
))
413 (range-end (g-boxed-foreign text-iter
)))
415 (defcfun gtk-text-buffer-delete-interactive
:boolean
416 (buffer (g-object text-buffer
))
417 (range-start (g-boxed-foreign text-iter
))
418 (range-end (g-boxed-foreign text-iter
))
419 (default-editable :boolean
))
421 (defun text-buffer-delete (buffer range-start range-end
&key interactive default-editable
)
423 (gtk-text-buffer-delete-interactive buffer range-start range-end default-editable
)
424 (progn (gtk-text-buffer-delete buffer range-start range-end
)
427 (export 'text-buffer-delete
)
429 (defcfun gtk-text-buffer-backspace
:boolean
430 (buffer (g-object text-buffer
))
431 (iter (g-boxed-foreign text-iter
))
432 (interactive :boolean
)
433 (default-editable :boolean
))
435 (defun text-buffer-backspace (buffer position
&key interactive default-editable
)
436 (gtk-text-buffer-backspace buffer position interactive default-editable
))
438 (export 'text-buffer-backspace
)
440 (defcfun gtk-text-buffer-get-slice
(:string
:free-from-foreign t
)
441 (buffer (g-object text-buffer
))
442 (range-start (g-boxed-foreign text-iter
))
443 (range-end (g-boxed-foreign text-iter
))
444 (include-hidden-chars :boolean
))
446 (defun text-buffer-slice (buffer range-start range-end
&key include-hidden-chars
)
447 (gtk-text-buffer-get-slice buffer range-start range-end include-hidden-chars
))
449 (export 'text-buffer-slice
)
451 (defcfun (text-buffer-insert-pixbuf "gtk_text_buffer_insert_pixbuf") :void
452 (buffer (g-object text-buffer
))
453 (position (g-boxed-foreign text-iter
))
454 (pixbuf (g-object pixbuf
)))
456 (export 'text-buffer-insert-pixbuf
)
458 (defcfun gtk-text-buffer-insert-child-anchor
:void
459 (buffer (g-object text-buffer
))
460 (iter (g-boxed-foreign text-iter
))
461 (anchor (g-object text-child-anchor
)))
463 (defcfun gtk-text-buffer-create-child-anchor
(g-object text-child-anchor
)
464 (buffer (g-object text-buffer
))
465 (iter (g-boxed-foreign text-iter
)))
467 (defun text-buffer-insert-child-anchor (buffer position
&optional anchor
)
469 (progn (gtk-text-buffer-insert-child-anchor buffer position anchor
)
471 (gtk-text-buffer-create-child-anchor buffer position
)))
473 (export 'text-buffer-insert-child-anchor
)
475 (defcfun gtk-text-buffer-create-mark
(g-object text-mark
)
476 (buffer (g-object text-buffer
))
477 (name (:string
:free-to-foreign t
))
478 (position (g-boxed-foreign text-iter
))
479 (left-gravity :boolean
))
481 (defun text-buffer-create-mark (buffer name position
&optional
(left-gravity t
))
482 (gtk-text-buffer-create-mark buffer name position left-gravity
))
484 (export 'text-buffer-create-mark
)
486 (defcfun gtk-text-buffer-move-mark
:void
487 (buffer (g-object text-buffer
))
488 (mark (g-object text-mark
))
489 (position (g-boxed-foreign text-iter
)))
491 (defcfun gtk-text-buffer-move-mark-by-name
:void
492 (buffer (g-object text-buffer
))
493 (name (:string
:free-to-foreign t
))
494 (position (g-boxed-foreign text-iter
)))
496 (defun text-buffer-move-mark (buffer mark position
)
498 (string (gtk-text-buffer-move-mark-by-name buffer mark position
))
499 (text-mark (gtk-text-buffer-move-mark buffer mark position
))))
501 (export 'text-buffer-move-mark
)
503 (defcfun (text-buffer-add-mark "gtk_text_buffer_add_mark") :void
504 (buffer (g-object text-buffer
))
505 (mark (g-object text-mark
))
506 (position (g-boxed-foreign text-iter
)))
508 (export 'text-buffer-add-mark
)
510 (defcfun gtk-text-buffer-delete-mark
:void
511 (buffer (g-object text-buffer
))
512 (mark (g-object text-mark
)))
514 (defcfun gtk-text-buffer-delete-mark-by-name
:void
515 (buffer (g-object text-buffer
))
516 (name (:string
:free-to-foreign t
)))
518 (defun text-buffer-delete-mark (buffer mark
)
520 (string (gtk-text-buffer-delete-mark-by-name buffer mark
))
521 (text-mark (gtk-text-buffer-delete-mark buffer mark
))))
523 (export 'text-buffer-delete-mark
)
525 (defcfun (text-buffer-get-mark "gtk_text_buffer_get_mark") (g-object text-mark
)
526 (buffer (g-object text-buffer
))
527 (name (:string
:free-to-foreign t
)))
529 (export 'text-buffer-get-mark
)
531 (defcfun (text-buffer-insertion-mark "gtk_text_buffer_get_insert") (g-object text-mark
)
532 (buffer (g-object text-buffer
)))
534 (export 'text-buffer-insertion-mark
)
536 (defcfun (text-buffer-selection-bound "gtk_text_buffer_get_selection_bound") (g-object text-mark
)
537 (buffer (g-object text-buffer
))
538 (name (:string
:free-to-foreign t
)))
540 (export 'text-buffer-selection-bound
)
542 (defcfun (text-buffer-place-cursor "gtk_text_buffer_place_cursor") :void
543 (buffer (g-object text-buffer
))
544 (position (g-boxed-foreign text-iter
)))
546 (export 'text-buffer-place-cursor
)
548 (defcfun (text-buffer-select-range "gtk_text_buffer_select_range") :void
549 (buffer (g-object text-buffer
))
550 (insertion-point (g-boxed-foreign text-iter
))
551 (selection-bound (g-boxed-foreign text-iter
)))
553 (export 'text-buffer-select-range
)
555 (defcfun gtk-text-buffer-apply-tag
:void
556 (buffer (g-object text-buffer
))
557 (tag (g-object text-tag
))
558 (start (g-boxed-foreign text-iter
))
559 (end (g-boxed-foreign text-iter
)))
561 (defcfun gtk-text-buffer-apply-tag-by-name
:void
562 (buffer (g-object text-buffer
))
563 (name (:string
:free-to-foreign t
))
564 (start (g-boxed-foreign text-iter
))
565 (end (g-boxed-foreign text-iter
)))
567 (defun text-buffer-apply-tag (buffer tag start end
)
569 (string (gtk-text-buffer-apply-tag-by-name buffer tag start end
))
570 (text-tag (gtk-text-buffer-apply-tag buffer tag start end
))))
572 (export 'text-buffer-apply-tag
)
574 (defcfun gtk-text-buffer-remove-tag
:void
575 (buffer (g-object text-buffer
))
576 (tag (g-object text-tag
))
577 (start (g-boxed-foreign text-iter
))
578 (end (g-boxed-foreign text-iter
)))
580 (defcfun gtk-text-buffer-remove-tag-by-name
:void
581 (buffer (g-object text-buffer
))
582 (name (:string
:free-to-foreign t
))
583 (start (g-boxed-foreign text-iter
))
584 (end (g-boxed-foreign text-iter
)))
586 (defun text-buffer-remove-tag (buffer tag start end
)
588 (string (gtk-text-buffer-remove-tag-by-name buffer tag start end
))
589 (text-tag (gtk-text-buffer-remove-tag buffer tag start end
))))
591 (export 'text-buffer-remove-tag
)
593 (defcfun (text-buffer-remove-all-tags "gtk_text_buffer_remove_all_tags") :void
594 (buffer (g-object text-buffer
))
595 (start (g-boxed-foreign text-iter
))
596 (end (g-boxed-foreign text-iter
)))
598 (defcfun gtk-text-buffer-get-iter-at-line-offset
:void
599 (buffer (g-object text-buffer
))
600 (iter (g-boxed-foreign text-iter
))
604 (defun text-buffer-get-iter-at-line-offset (buffer line-number char-offset
)
605 (let ((iter (make-instance 'text-iter
)))
606 (gtk-text-buffer-get-iter-at-line-offset buffer iter line-number char-offset
)
609 (export 'text-buffer-get-iter-at-line-offset
)
611 (defcfun gtk-text-buffer-get-iter-at-offset
:void
612 (buffer (g-object text-buffer
))
613 (iter (g-boxed-foreign text-iter
))
616 (defun text-buffer-get-iter-at-offset (buffer offset
)
617 (let ((iter (make-instance 'text-iter
)))
618 (gtk-text-buffer-get-iter-at-offset buffer iter offset
)
621 (export 'text-buffer-get-iter-at-offset
)
623 (defcfun gtk-text-buffer-get-iter-at-line
:void
624 (buffer (g-object text-buffer
))
625 (iter (g-boxed-foreign text-iter
))
628 (defun text-buffer-get-iter-at-line (buffer line-number
)
629 (let ((iter (make-instance 'text-iter
)))
630 (gtk-text-buffer-get-iter-at-line buffer iter line-number
)
633 (export 'text-buffet-get-iter-at-line
)
635 (defcfun gtk-text-buffer-get-iter-at-mark
:void
636 (buffer (g-object text-buffer
))
637 (iter (g-boxed-foreign text-iter
))
638 (mark (g-object text-mark
)))
640 (defun text-buffer-get-iter-at-mark (buffer mark
)
642 (setf mark
(text-buffer-get-mark buffer mark
)))
643 (let ((iter (make-instance 'text-iter
)))
644 (gtk-text-buffer-get-iter-at-mark buffer iter mark
)
647 (export 'text-buffer-get-iter-at-mark
)
649 (defcfun gtk-text-buffer-get-iter-at-child-anchor
:void
650 (buffer (g-object text-buffer
))
651 (iter (g-boxed-foreign text-iter
))
652 (anchor (g-object text-child-anchor
)))
654 (defun text-buffer-get-iter-at-child-anchor (buffer anchor
)
655 (let ((iter (make-instance 'text-iter
)))
656 (gtk-text-buffer-get-iter-at-child-anchor buffer iter anchor
)
659 (export 'text-buffer-get-iter-at-child-anchor
)
661 (defcfun gtk-text-buffer-get-start-iter
:void
662 (buffer (g-object text-buffer
))
663 (iter (g-boxed-foreign text-iter
)))
665 (defun text-buffer-get-start-iter (buffer)
666 (let ((iter (make-instance 'text-iter
)))
667 (gtk-text-buffer-get-start-iter buffer iter
)
670 (export 'text-buffer-get-start-iter
)
672 (defcfun gtk-text-buffer-get-end-iter
:void
673 (buffer (g-object text-buffer
))
674 (iter (g-boxed-foreign text-iter
)))
676 (defun text-buffer-get-end-iter (buffer)
677 (let ((iter (make-instance 'text-iter
)))
678 (gtk-text-buffer-get-end-iter buffer iter
)
681 (export 'text-buffer-get-end-iter
)
683 (defcfun gtk-text-buffer-get-bounds
:void
684 (buffer (g-object text-buffer
))
685 (start (g-boxed-foreign text-iter
))
686 (end (g-boxed-foreign text-iter
)))
688 (defun text-buffer-get-bounds (buffer)
689 (let ((start (make-instance 'text-iter
))
690 (end (make-instance 'text-iter
)))
691 (gtk-text-buffer-get-bounds buffer start end
)
694 (export 'text-buffer-get-bounds
)
696 (defcfun gtk-text-buffer-delete-selection
:boolean
697 (bufer (g-object text-buffer
))
698 (interactive :boolean
)
699 (default-editable :boolean
))
701 (defun text-buffer-delete-selection (buffer &key interactive default-editable
)
702 (gtk-text-buffer-delete-selection buffer interactive default-editable
))
704 (export 'text-buffer-delete-selection
)
706 (defcfun gtk-text-buffer-paste-clipboard
:void
707 (buffer (g-object text-buffer
))
708 (clipboard (g-object clipboard
))
709 (override-location (g-boxed-foreign text-iter
))
710 (default-editable :boolean
))
712 (defun text-buffer-paste-clipboard (buffer clipboard
&key position default-editable
)
713 (gtk-text-buffer-paste-clipboard buffer clipboard position default-editable
))
715 (export 'text-buffer-paste-clipboard
)
717 (defcfun (text-buffer-copy-clipboard "gtk_text_buffer_copy_clipboard") :void
718 (buffer (g-object text-buffer
))
719 (clipboard (g-object clipboard
)))
721 (export 'text-buffer-copy-clipboard
)
723 (defcfun (text-buffer-cut-clipboard "gtk_text_buffer_cut_clipboard") :void
724 (buffer (g-object text-buffer
))
725 (clipboard (g-object clipboard
)))
727 (export 'text-buffer-cut-clipboard
)
729 (defcfun gtk-text-buffer-get-selection-bounds
:boolean
730 (buffer (g-object text-buffer
))
731 (start (g-boxed-foreign text-iter
))
732 (end (g-boxed-foreign text-iter
)))
734 (defun text-buffer-get-selection-bounds (buffer)
735 (let ((i1 (make-instance 'text-iter
))
736 (i2 (make-instance 'text-iter
)))
737 (if (gtk-text-buffer-get-selection-bounds buffer i1 i2
)
741 (export 'text-buffer-get-selection-bounds
)
743 (defcfun (text-buffer-begin-user-action "gtk_text_buffer_begin_user_action") :void
744 (buffer (g-object text-buffer
)))
746 (export 'text-buffer-begin-user-action
)
748 (defcfun (text-buffer-end-user-action "gtk_text_buffer_end_user_action") :void
749 (buffer (g-object text-buffer
)))
751 (export 'text-buffer-end-user-action
)
753 (defmacro with-text-buffer-user-action
((buffer) &body body
)
756 (text-buffer-begin-user-action ,g
)
759 (text-buffer-end-user-action ,g
)))))
761 (export 'with-text-buffer-user-action
)
763 (defcfun (text-buffer-add-selection-clipboard "gtk_text_buffer_add_selection_clipboard") :void
764 (buffer (g-object text-buffer
))
765 (clipboard (g-object clipboard
)))
767 (defcfun (text-buffer-remove-selection-clipboard "gtk_text_buffer_remove_selection_clipboard") :void
768 (buffer (g-object text-buffer
))
769 (clipboard (g-object clipboard
)))
771 (export 'text-buffer-remove-selection-clipboard
)
773 ;; enum GtkTextBufferTargetInfo;
774 ;; gboolean (*GtkTextBufferDeserializeFunc) (GtkTextBuffer *register_buffer,
775 ;; GtkTextBuffer *content_buffer,
776 ;; GtkTextIter *iter,
777 ;; const guint8 *data,
779 ;; gboolean create_tags,
780 ;; gpointer user_data,
782 ;; gboolean gtk_text_buffer_deserialize (GtkTextBuffer *register_buffer,
783 ;; GtkTextBuffer *content_buffer,
785 ;; GtkTextIter *iter,
786 ;; const guint8 *data,
789 ;; gboolean gtk_text_buffer_deserialize_get_can_create_tags
790 ;; (GtkTextBuffer *buffer,
792 ;; void gtk_text_buffer_deserialize_set_can_create_tags
793 ;; (GtkTextBuffer *buffer,
795 ;; gboolean can_create_tags);
796 ;; GtkTargetList* gtk_text_buffer_get_copy_target_list
797 ;; (GtkTextBuffer *buffer);
798 ;; GdkAtom* gtk_text_buffer_get_deserialize_formats
799 ;; (GtkTextBuffer *buffer,
801 ;; GtkTargetList* gtk_text_buffer_get_paste_target_list
802 ;; (GtkTextBuffer *buffer);
803 ;; GdkAtom* gtk_text_buffer_get_serialize_formats
804 ;; (GtkTextBuffer *buffer,
806 ;; GdkAtom gtk_text_buffer_register_deserialize_format
807 ;; (GtkTextBuffer *buffer,
808 ;; const gchar *mime_type,
809 ;; GtkTextBufferDeserializeFunc function,
810 ;; gpointer user_data,
811 ;; GDestroyNotify user_data_destroy);
812 ;; GdkAtom gtk_text_buffer_register_deserialize_tagset
813 ;; (GtkTextBuffer *buffer,
814 ;; const gchar *tagset_name);
815 ;; GdkAtom gtk_text_buffer_register_serialize_format
816 ;; (GtkTextBuffer *buffer,
817 ;; const gchar *mime_type,
818 ;; GtkTextBufferSerializeFunc function,
819 ;; gpointer user_data,
820 ;; GDestroyNotify user_data_destroy);
821 ;; GdkAtom gtk_text_buffer_register_serialize_tagset
822 ;; (GtkTextBuffer *buffer,
823 ;; const gchar *tagset_name);
824 ;; guint8* (*GtkTextBufferSerializeFunc) (GtkTextBuffer *register_buffer,
825 ;; GtkTextBuffer *content_buffer,
826 ;; const GtkTextIter *start,
827 ;; const GtkTextIter *end,
829 ;; gpointer user_data);
830 ;; guint8* gtk_text_buffer_serialize (GtkTextBuffer *register_buffer,
831 ;; GtkTextBuffer *content_buffer,
833 ;; const GtkTextIter *start,
834 ;; const GtkTextIter *end,
836 ;; void gtk_text_buffer_unregister_deserialize_format
837 ;; (GtkTextBuffer *buffer,
839 ;; void gtk_text_buffer_unregister_serialize_format
840 ;; (GtkTextBuffer *buffer,
847 (defcallback gtk-text-tag-table-foreach-function
:void
((tag (g-object text-tag
)) (data :pointer
))
848 (funcall (get-stable-pointer-value data
) tag
))
850 (defcfun (text-tag-table-add "gtk_text_tag_table_add") :void
851 (table (g-object text-tag-table
))
852 (tag (g-object text-tag
)))
854 (export 'text-tag-table-add
)
856 (defcfun (text-tag-table-remove "gtk_text_tag_table_remove") :void
857 (table (g-object text-tag-table
))
858 (tag (g-object text-tag
)))
860 (export 'text-tag-table-remove
)
862 (defcfun (text-tag-table-lookup "gtk_text_tag_table_lookup") (g-object text-tag
)
863 (table (g-object text-tag-table
))
864 (name (:string
:free-to-foreign t
)))
866 (export 'text-tag-table-lookup
)
868 (defcfun gtk-text-tag-table-foreach
:void
869 (table (g-object text-tag-table
))
873 (defun text-tag-table-foreach (table function
)
874 (with-stable-pointer (ptr function
)
875 (gtk-text-tag-table-foreach table
(callback gtk-text-tag-table-foreach-function
) ptr
)))
877 (export 'text-tag-table-foreach
)
879 (defcfun (text-tag-table-size "gtk_text_tag_table_get_size") :int
880 (table (g-object text-tag-table
)))
882 (export 'text-tag-table-size
)
886 (defcfun gtk-text-view-scroll-to-mark
:void
887 (text-view (g-object text-view
))
888 (mark (g-object text-mark
))
889 (within-margin :double
)
894 (defun text-view-scroll-to-mark (text-view mark
&key
(within-margin 0.4) (x-align 0.0 x-align-supplied
) (y-align 0.0 y-align-supplied
))
895 (gtk-text-view-scroll-to-mark text-view mark
(coerce within-margin
'double-float
) (or x-align-supplied y-align-supplied
) (coerce x-align
'double-float
) (coerce y-align
'double-float
)))
897 (export 'text-view-scroll-to-mark
)
899 (defcfun gtk-text-view-scroll-to-iter
:void
900 (text-view (g-object text-view
))
901 (iter (g-boxed-foreign text-iter
))
902 (within-margin :double
)
907 (defun text-view-scroll-to-iter (text-view iter
&key
(within-margin 0.4) (x-align 0.0 x-align-supplied
) (y-align 0.0 y-align-supplied
))
908 (gtk-text-view-scroll-to-iter text-view iter
(coerce within-margin
'double-float
) (or x-align-supplied y-align-supplied
) (coerce x-align
'double-float
) (coerce y-align
'double-float
)))
910 (export 'text-view-scroll-to-iter
)
912 (defcfun (text-view-move-mark-onscreen "gtk_text_view_move_mark_onscreen") :boolean
913 (text-view (g-object text-view
))
914 (mark (g-object text-mark
)))
916 (export 'text-view-move-mark-onscreen
)
918 (defcfun (text-view-place-cursor-onscreen "gtk_text_view_place_cursor_onscreen") :boolean
919 (text-view (g-object text-view
)))
921 (export 'text-view-place-cursor-onscreen
)
923 (defcfun gtk-text-view-get-visible-rect
:void
924 (text-view (g-object text-view
))
925 (visible-rect (g-boxed-foreign rectangle
)))
927 (defun text-view-visible-rect (text-view)
928 (let ((rect (make-rectangle :x
0 :y
0 :width
0 :height
0)))
929 (gtk-text-view-get-visible-rect text-view rect
)
932 (export 'text-view-visible-rect
)
934 (defcfun gtk-text-view-get-iter-location
:void
935 (text-view (g-object text-view
))
936 (iter (g-boxed-foreign text-iter
))
937 (location (g-boxed-foreign rectangle
)))
939 (defun text-view-iter-location (text-view iter
)
940 (let ((rect (make-rectangle :x
0 :y
0 :width
0 :height
0)))
941 (gtk-text-view-get-iter-location text-view iter rect
)
944 (export 'text-view-iter-location
)
947 ;; void gtk_text_view_get_line_at_y (GtkTextView *text_view,
948 ;; GtkTextIter *target_iter,
951 ;; void gtk_text_view_get_line_yrange (GtkTextView *text_view,
952 ;; const GtkTextIter *iter,
956 (defcfun gtk-text-view-get-iter-at-location
:void
957 (text-view (g-object text-view
))
958 (iter (g-boxed-foreign text-iter
))
962 (defun text-view-get-iter-at-location (view x y
)
963 (let ((iter (make-instance 'text-iter
)))
964 (gtk-text-view-get-iter-at-location view iter x y
)
967 (export 'text-view-get-iter-at-location
)
969 ;; void gtk_text_view_get_iter_at_position (GtkTextView *text_view,
970 ;; GtkTextIter *iter,
974 ;; void gtk_text_view_buffer_to_window_coords
975 ;; (GtkTextView *text_view,
976 ;; GtkTextWindowType win,
982 (defcfun gtk-text-view-window-to-buffer-coords
:void
983 (text-view (g-object text-view
))
984 (win text-window-type
)
990 (defun text-view-window-to-buffer-coords (text-view win window-x window-y
)
991 (with-foreign-objects ((buffer-x :int
) (buffer-y :int
))
992 (gtk-text-view-window-to-buffer-coords text-view win window-x window-y buffer-x buffer-y
)
993 (values (mem-ref buffer-x
:int
)
994 (mem-ref buffer-y
:int
))))
996 (export 'text-view-window-to-buffer-coords
)
998 (defcfun gtk-text-view-get-window
(g-object gdk
:gdk-window
)
999 (text-view (g-object text-view
))
1000 (win text-window-type
))
1002 (defun text-view-get-window (text-view win
)
1003 (gtk-text-view-get-window text-view win
))
1005 (export 'text-view-get-window
)
1007 ;; GtkTextWindowType gtk_text_view_get_window_type (GtkTextView *text_view,
1008 ;; GdkWindow *window);
1009 ;; void gtk_text_view_set_border_window_size
1010 ;; (GtkTextView *text_view,
1011 ;; GtkTextWindowType type,
1013 ;; gint gtk_text_view_get_border_window_size
1014 ;; (GtkTextView *text_view,
1015 ;; GtkTextWindowType type);
1016 ;; gboolean gtk_text_view_forward_display_line (GtkTextView *text_view,
1017 ;; GtkTextIter *iter);
1018 ;; gboolean gtk_text_view_backward_display_line (GtkTextView *text_view,
1019 ;; GtkTextIter *iter);
1020 ;; gboolean gtk_text_view_forward_display_line_end
1021 ;; (GtkTextView *text_view,
1022 ;; GtkTextIter *iter);
1023 ;; gboolean gtk_text_view_backward_display_line_start
1024 ;; (GtkTextView *text_view,
1025 ;; GtkTextIter *iter);
1026 ;; gboolean gtk_text_view_starts_display_line (GtkTextView *text_view,
1027 ;; const GtkTextIter *iter);
1028 ;; gboolean gtk_text_view_move_visually (GtkTextView *text_view,
1029 ;; GtkTextIter *iter,
1031 ;; void gtk_text_view_add_child_at_anchor (GtkTextView *text_view,
1032 ;; GtkWidget *child,
1033 ;; GtkTextChildAnchor *anchor);
1035 (defcfun (text-view-add-child-at-anchor "gtk_text_view_add_child_at_anchor") :void
1036 (text-view g-object
)
1040 (export 'text-view-add-child-at-anchor
)
1042 ;; GtkTextChildAnchor;
1043 ;; GtkTextChildAnchor* gtk_text_child_anchor_new (void);
1044 ;; GList* gtk_text_child_anchor_get_widgets (GtkTextChildAnchor *anchor);
1045 ;; gboolean gtk_text_child_anchor_get_deleted (GtkTextChildAnchor *anchor);
1046 ;; void gtk_text_view_add_child_in_window (GtkTextView *text_view,
1047 ;; GtkWidget *child,
1048 ;; GtkTextWindowType which_window,
1051 ;; void gtk_text_view_move_child (GtkTextView *text_view,
1052 ;; GtkWidget *child,