chiark / gitweb /
Added functions to copy paths
[clg] / gtk / gtktext.lisp
1 ;; Common Lisp bindings for GTK+ v2.x
2 ;; Copyright 2004-2005 Espen S. Johnsen <espen@users.sf.net>
3 ;;
4 ;; Permission is hereby granted, free of charge, to any person obtaining
5 ;; a copy of this software and associated documentation files (the
6 ;; "Software"), to deal in the Software without restriction, including
7 ;; without limitation the rights to use, copy, modify, merge, publish,
8 ;; distribute, sublicense, and/or sell copies of the Software, and to
9 ;; permit persons to whom the Software is furnished to do so, subject to
10 ;; the following conditions:
11 ;;
12 ;; The above copyright notice and this permission notice shall be
13 ;; included in all copies or substantial portions of the Software.
14 ;;
15 ;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 ;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 ;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18 ;; IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19 ;; CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20 ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21 ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
23 ;; $Id: gtktext.lisp,v 1.9 2007-10-17 14:52:19 espen Exp $
24
25
26 (in-package "GTK")
27
28 ;;; Text Buffer
29
30 (defbinding %text-buffer-insert () nil
31   (buffer text-buffer)
32   (iter text-iter)
33   (text string)
34   (-1 int))
35
36 (defun text-buffer-insert (buffer iter text &rest tags)
37   (if tags
38       (let ((start-offset (text-iter-offset iter)))
39         (%text-buffer-insert buffer iter text)
40         (let ((start (text-buffer-get-iter-at-offset buffer start-offset)))
41           (loop
42            for tag in tags
43            do (text-buffer-apply-tag buffer tag start iter))))
44     (%text-buffer-insert buffer iter text)))
45
46 (defbinding %text-buffer-insert-at-cursor () nil
47   (buffer text-buffer)
48   (text string)
49   (-1 int))
50
51 (defun text-buffer-insert-at-cursor (buffer text &rest tags)
52   (if tags
53       (apply #'text-buffer-insert buffer 
54        (text-buffer-get-iter-at-insert buffer) text tags)
55     (%text-buffer-insert-at-cursor buffer text)))
56   
57 (defbinding text-buffer-insert-interactive () boolean
58   (buffer text-buffer)
59   (iter text-iter)
60   (text string)
61   (-1 int)
62   (default-editable boolean))
63
64 (defbinding text-buffer-insert-interactive-at-cursor () boolean
65   (buffer text-buffer)
66   (text string)
67   (-1 int)
68   (default-editable boolean))
69
70 (defbinding text-buffer-insert-range () nil
71   (buffer text-buffer)
72   (iter text-iter)
73   (start text-iter)
74   (end text-iter))
75
76 (defbinding text-buffer-insert-range-interactive () nil
77   (buffer text-buffer)
78   (iter text-iter)
79   (start text-iter)
80   (end text-iter)
81   (default-editable boolean))
82
83 (defbinding text-buffer-delete () nil
84   (buffer text-buffer)
85   (start text-iter)
86   (end text-iter))
87
88 (defbinding text-buffer-delete-interactive () boolean
89   (buffer text-buffer)
90   (start text-iter)
91   (end text-iter)
92   (default-editable boolean))
93
94 #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0")
95 (defbinding text-buffer-backspace () boolean
96   (buffer text-buffer)
97   (iter text-iter)
98   (interactive boolean)
99   (default-editable boolean))
100
101 (defbinding text-buffer-set-text () nil
102   (buffer text-buffer)
103   (text string)
104   (-1 int))
105
106 (defbinding text-buffer-get-text () string
107   (buffer text-buffer)
108   (start text-iter)
109   (end text-iter)
110   (include-hidden-char boolean))
111
112 (defbinding text-buffer-get-slice () string
113   (buffer text-buffer)
114   (start text-iter)
115   (end text-iter)
116   (include-hidden-char boolean))
117
118 (defbinding text-buffer-insert-pixbuf () nil
119   (buffer text-buffer)
120   (iter text-iter)
121   (pixbuf gdk:pixbuf))
122
123 (defbinding text-buffer-insert-child-anchor () nil
124   (buffer text-buffer)
125   (iter text-iter)
126   (anchor text-child-anchor))
127
128 (defbinding text-buffer-create-child-anchor () text-child-anchor
129   (buffer text-buffer)
130   (iter text-iter))
131
132 (defbinding text-buffer-create-mark () text-mark
133   (buffer text-buffer)
134   (mark-name (or null string))
135   (where text-iter)
136   (left-gravity boolean))
137
138 (defbinding %text-buffer-move-mark () nil
139   (buffer text-buffer)
140   (mark text-mark)
141   (where text-iter))
142
143 (defbinding %text-buffer-move-mark-by-name () nil
144   (buffer text-buffer)
145   (mark-name string)
146   (where text-iter))
147
148 (defgeneric text-buffer-move-mark (buffer mark where))
149
150 (defmethod text-buffer-move-mark ((buffer text-buffer) (mark text-mark) where)
151   (%text-buffer-move-mark buffer mark where))
152
153 (defmethod text-buffer-move-mark ((buffer text-buffer) (name string) where)
154   (%text-buffer-move-mark-by-name buffer name where))
155
156 (defbinding %text-buffer-delete-mark () nil
157   (buffer text-buffer)
158   (mark text-mark))
159
160 (defbinding %text-buffer-delete-mark-by-name () nil
161   (buffer text-buffer)
162   (mark-name string))
163
164 (defgeneric text-buffer-delete-mark (buffer mark))
165
166 (defmethod text-buffer-delete-mark ((buffer text-buffer) (mark text-mark))
167   (%text-buffer-delete-mark buffer mark))
168
169 (defmethod text-buffer-delete-mark ((buffer text-buffer) (mark-name string))
170   (%text-buffer-delete-mark-by-name buffer mark-name))
171
172 (defbinding text-buffer-get-mark () text-mark
173   (buffer text-buffer)
174   (mark-name string))
175
176 (defbinding text-buffer-get-insert () text-mark
177   (buffer text-buffer))
178
179 (defbinding text-buffer-get-selection-bound () text-mark
180   (buffer text-buffer))
181
182 (defbinding text-buffer-place-cursor () nil
183   (buffer text-buffer)
184   (where text-iter))
185
186 (defbinding text-buffer-select-range () nil
187   (buffer text-buffer)
188   (insert text-iter)
189   (bound text-iter))
190
191 (defbinding %text-buffer-apply-tag () nil
192   (buffer text-buffer)
193   (tag text-tag)
194   (start text-iter)
195   (end text-iter))
196
197 (defbinding %text-buffer-remove-tag () nil
198   (buffer text-buffer)
199   (tag text-tag)
200   (start text-iter)
201   (end text-iter))
202
203 (defbinding %text-buffer-apply-tag-by-name () nil
204   (buffer text-buffer)
205   (tag-name string)
206   (start text-iter)
207   (end text-iter))
208
209 (defbinding %text-buffer-remove-tag-by-name () nil
210   (buffer text-buffer)
211   (tag-name string)
212   (start text-iter)
213   (end text-iter))
214
215 (defgeneric text-buffer-apply-tag (buffer tag start end))
216
217 (defmethod text-buffer-apply-tag ((buffer text-buffer) (tag text-tag) start end)
218   (%text-buffer-apply-tag buffer tag start end))
219
220 (defmethod text-buffer-apply-tag ((buffer text-buffer) (name string) start end)
221   (%text-buffer-apply-tag-by-name buffer name start end))
222
223 (defgeneric text-buffer-remove-tag (buffer tag start end))
224
225 (defmethod text-buffer-remove-tag ((buffer text-buffer) (tag text-tag) start end)
226   (%text-buffer-remove-tag buffer tag start end))
227
228 (defmethod text-buffer-remove-tag ((buffer text-buffer) (name string) start end)
229   (%text-buffer-remove-tag-by-name buffer name start end))
230
231 (defbinding text-buffer-remove-all-tags () nil
232   (buffer text-buffer)
233   (start text-iter)
234   (end text-iter))
235
236 (defun text-buffer-create-tag (buffer name &rest initargs)
237   (text-tag-table-add 
238    (text-buffer-tag-table buffer)
239    (if name
240        (apply #'make-instance 'text-tag :name name initargs)
241      (apply #'make-instance 'text-tag initargs))))
242
243 (defbinding text-buffer-get-iter-at-line-offset 
244     (buffer line offset &optional (iter (make-instance 'text-iter))) nil
245   (buffer text-buffer)
246   (iter text-iter :in/return)
247   (line int)
248   (offset int))
249
250 (defbinding text-buffer-get-iter-at-offset 
251     (buffer offset &optional (iter (make-instance 'text-iter))) nil
252   (buffer text-buffer)
253   (iter text-iter :in/return)
254   ((case offset
255      (:start 0)
256      (:end -1)
257      (t offset)) int))
258
259 (defbinding text-buffer-get-iter-at-line 
260     (buffer line &optional (iter (make-instance 'text-iter))) nil
261   (buffer text-buffer)
262   (iter text-iter :in/return)
263   (line int))
264
265 (defbinding text-buffer-get-iter-at-line-index 
266     (buffer line index &optional (iter (make-instance 'text-iter))) nil
267   (buffer text-buffer)
268   (iter text-iter :in/return)
269   (line int)
270   (index int))
271
272 (defbinding text-buffer-get-iter-at-mark 
273     (buffer mark &optional (iter (make-instance 'text-iter))) nil
274   (buffer text-buffer)
275   (iter text-iter :in/return)
276   (mark text-mark))
277
278 (defun text-buffer-get-iter-at-insert (buffer &optional (iter (make-instance 'text-iter)))
279   (text-buffer-get-iter-at-mark buffer (text-buffer-get-insert buffer) iter))
280
281 (defbinding text-buffer-get-iter-at-child-anchor 
282     (buffer anchor &optional (iter (make-instance 'text-iter))) nil
283   (buffer text-buffer)
284   (iter text-iter :in/return)
285   (anchor text-child-anchor))
286
287 (defbinding text-buffer-get-bounds 
288     (buffer &optional (start (make-instance 'text-iter))
289      (end (make-instance 'text-iter))) nil
290   (buffer text-buffer)
291   (start text-iter :in/return)
292   (end text-iter :in/return))
293
294 (defbinding text-buffer-delete-selection () boolean
295   (buffer text-buffer)
296   (interactive boolean)
297   (default-editable boolean))
298
299 (defbinding text-buffer-paste-clipboard () nil
300   (buffer text-buffer)
301   (clipboard clipboard)
302   (override-location (or null text-iter))
303   (default-editable boolean))
304
305 (defbinding text-buffer-copy-clipboard () nil
306   (buffer text-buffer)
307   (clipboard clipboard))
308
309 (defbinding text-buffer-cut-clipboard () nil
310   (buffer text-buffer)
311   (clipboard clipboard)
312   (default-editable boolean))
313
314 (defbinding text-buffer-get-selection-bounds 
315     (buffer &optional (start (make-instance 'text-iter))
316      (end (make-instance 'text-iter))) boolean
317   (buffer text-buffer)
318   (start text-iter :in/return)
319   (end text-iter :in/return))
320
321 (defbinding text-buffer-begin-user-action () nil
322   (buffer text-buffer))
323
324 (defbinding text-buffer-end-user-action () nil
325   (buffer text-buffer))
326
327 (defmacro text-buffer-with-user-action ((buffer) &body body)
328   (let ((bufvar (make-symbol "BUFFER")))
329     `(let ((,bufvar ,buffer))
330        (text-buffer-begin-user-action ,bufvar)
331        (unwind-protect
332            (progn ,@body)
333          (text-buffer-end-user-action ,bufvar)))))
334
335 (defbinding text-buffer-add-selection-clipboard () nil
336   (buffer text-buffer)
337   (clipboard clipboard))
338
339 (defbinding text-buffer-remove-selection-clipboard () nil
340   (buffer text-buffer)
341   (clipboard clipboard))
342
343
344 ;;; Text Iter
345
346 (defmethod allocate-foreign ((text-iter text-iter) &rest initargs)
347   (declare (ignore initargs))
348   (let ((size (foreign-size (class-of text-iter))))
349     (slice-alloc size)))
350
351 (defbinding text-iter-get-char () int
352   (iter text-iter))
353
354 (defbinding text-iter-get-slice () string
355   (start text-iter)
356   (end text-iter))
357
358 (defbinding text-iter-get-text () string
359   (start text-iter)
360   (end text-iter))
361
362 (defbinding text-iter-get-visible-slice () string
363   (start text-iter)
364   (end text-iter))
365
366 (defbinding text-iter-get-visible-text () string
367   (start text-iter)
368   (end text-iter))
369
370 (defbinding text-iter-get-pixbuf () string
371   (iter text-iter))
372
373 (defbinding text-iter-get-marks () (gslist text-mark)
374   (iter text-iter))
375
376 (defbinding text-iter-get-toggled-tags () (gslist text-tag)
377   (iter text-iter)
378   (toggoled-on boolean))
379
380 (defbinding text-iter-get-child-anchor () text-child-anchor
381   (iter text-iter))
382
383 (defun %ensure-tag (tag iter)
384   (etypecase tag
385     (text-tag tag)
386     (string 
387      (text-tag-table-lookup 
388       (text-buffer-tag-table (text-iter-buffer iter)) tag))))
389
390 (defbinding text-iter-begins-tag-p (iter tag) boolean
391   (iter text-iter)
392   ((%ensure-tag tag iter) text-tag))
393
394 (defbinding text-iter-ends-tag-p (iter tag) boolean
395   (iter text-iter)
396   ((%ensure-tag tag iter) text-tag))
397
398 (defbinding text-iter-toggles-tag-p (iter tag) boolean
399   (iter text-iter)
400   ((%ensure-tag tag iter) text-tag))
401
402 (defbinding text-iter-has-tag-p (iter tag) boolean
403   (iter text-iter)
404   ((%ensure-tag tag iter) text-tag))
405
406 (defbinding text-iter-get-tags () (gslist text-tag)
407   (iter text-iter))
408
409 (defbinding text-iter-editable-p () boolean
410   (iter text-iter)
411   (default-setting boolean))
412
413 (defbinding text-iter-can-insert-p () boolean
414   (iter text-iter)
415   (default-editability boolean))
416
417 (defbinding text-iter-starts-word-p () boolean
418   (iter text-iter))
419
420 (defbinding text-iter-ends-word-p () boolean
421   (iter text-iter))
422
423 (defbinding text-iter-inside-word-p () boolean
424   (iter text-iter))
425
426 (defbinding text-iter-starts-line-p () boolean
427   (iter text-iter))
428
429 (defbinding text-iter-ends-line-p () boolean
430   (iter text-iter))
431
432 (defbinding text-iter-starts-sentence-p () boolean
433   (iter text-iter))
434
435 (defbinding text-iter-ends-sentence-p () boolean
436   (iter text-iter))
437
438 (defbinding text-iter-inside-sentence-p () boolean
439   (iter text-iter))
440
441 (defbinding text-iter-is-cursor-position-p () boolean
442   (iter text-iter))
443
444 (defbinding text-iter-get-chars-in-line () int
445   (iter text-iter))
446
447 (defbinding text-iter-get-bytes-in-line () int
448   (iter text-iter))
449
450 (defbinding text-iter-get-attributes 
451     (iter &optional (values (make-instance 'text-attributes))) boolean
452   (iter text-iter)
453   (values text-attributes :in/return))
454
455 (defbinding text-iter-get-language () pango:language
456   (iter text-iter))
457
458 (defbinding text-iter-is-end-p () boolean
459   (iter text-iter))
460
461 (defbinding text-iter-is-start-p () boolean
462   (iter text-iter))
463
464 (defbinding text-iter-forward-char () boolean
465   (iter text-iter))
466
467 (defbinding text-iter-backward-char () boolean
468   (iter text-iter))
469
470 (defbinding text-iter-forward-chars () boolean
471   (iter text-iter)
472   (count int))
473
474 (defbinding text-iter-backward-chars () boolean
475   (iter text-iter)
476   (count int))
477
478 (defbinding text-iter-forward-line () boolean
479   (iter text-iter))
480
481 (defbinding text-iter-backward-line () boolean
482   (iter text-iter))
483
484 (defbinding text-iter-forward-lines () boolean
485   (iter text-iter)
486   (count int))
487
488 (defbinding text-iter-backward-lines () boolean
489   (iter text-iter)
490   (count int))
491
492 (defbinding text-iter-forward-word-ends () boolean
493   (iter text-iter)
494   (count int))
495
496 (defbinding text-iter-backward-word-starts () boolean
497   (iter text-iter)
498   (count int))
499
500 (defbinding text-iter-forward-word-end () boolean
501   (iter text-iter))
502
503 (defbinding text-iter-backward-word-start () boolean
504   (iter text-iter))
505
506 (defbinding text-iter-forward-cursor-position () boolean
507   (iter text-iter))
508
509 (defbinding text-iter-backward-cursor-position () boolean
510   (iter text-iter))
511
512 (defbinding text-iter-forward-cursor-positions () boolean
513   (iter text-iter)
514   (count int))
515
516 (defbinding text-iter-backward-cursor-positions () boolean
517   (iter text-iter)
518   (count int))
519
520 (defbinding text-iter-backward-sentence-start () boolean
521   (iter text-iter))
522
523 (defbinding text-iter-backward-sentence-starts () boolean
524   (iter text-iter)
525   (count int))
526
527 (defbinding text-iter-forward-sentence-end () boolean
528   (iter text-iter))
529
530 (defbinding text-iter-forward-sentence-ends () boolean
531   (iter text-iter)
532   (count int))
533
534 (defbinding text-iter-forward-visible-word-ends () boolean
535   (iter text-iter)
536   (count int))
537
538 (defbinding text-iter-backward-visible-word-starts () boolean
539   (iter text-iter)
540   (count int))
541
542 (defbinding text-iter-forward-visible-word-end () boolean
543   (iter text-iter))
544
545 (defbinding text-iter-backward-visible-word-start () boolean
546   (iter text-iter))
547
548 (defbinding text-iter-forward-visible-cursor-position () boolean
549   (iter text-iter))
550
551 (defbinding text-iter-backward-visible-cursor-position () boolean
552   (iter text-iter))
553
554 (defbinding text-iter-forward-visible-cursor-positions () boolean
555   (iter text-iter)
556   (count int))
557
558 (defbinding text-iter-backward-visible-cursor-positions () boolean
559   (iter text-iter)
560   (count int))
561
562 (defbinding text-iter-forward-to-end () nil
563   (iter text-iter))
564
565 (defbinding text-iter-forward-to-line-end () boolean
566   (iter text-iter))
567
568 (defbinding text-iter-forward-to-tag-toggle (iter tag) boolean
569   (iter text-iter)
570   ((%ensure-tag tag iter) text-tag))
571
572 (defbinding text-iter-backward-to-tag-toggle (iter tag) boolean
573   (iter text-iter)
574   ((%ensure-tag tag iter) text-tag))
575
576 (define-callback-marshal %text-char-predicate-callback boolean (int))
577
578 (defbinding text-iter-forward-find-char (iter predicate &optional limit) boolean
579   (iter text-iter)
580   (%text-char-predicate-callback callback)
581   ((register-callback-function predicate) unsigned-int)
582   (limit (or null text-iter)))
583
584 (defbinding text-iter-backward-find-char (iter predicate &optional limit) boolean
585   (iter text-iter)
586   (%text-char-predicate-callback callback)
587   ((register-callback-function predicate) unsigned-int)
588   (limit (or null text-iter)))
589
590 (defbinding text-iter-forward-search 
591     (iter text &optional flags limit (match-start (make-instance 'text-iter))
592      (match-end (make-instance 'text-iter))) boolean
593   (iter text-iter)
594   (text string)
595   (flags text-search-flags)
596   (match-start text-iter :in/return)
597   (match-end text-iter :in/return)
598   (limit (or null text-iter)))
599
600 (defbinding text-iter-backward-search 
601     (iter text &optional flags limit (match-start (make-instance 'text-iter))
602      (match-end (make-instance 'text-iter))) boolean
603   (iter text-iter)
604   (text string)
605   (flags text-search-flags)
606   (match-start text-iter :in/return)
607   (match-end text-iter :in/return)
608   (limit (or null text-iter)))
609
610 (defbinding text-iter-equal-p () boolean
611   (lhs text-iter)
612   (rhs text-iter))
613
614 (defbinding text-iter-compare () int
615   (lhs text-iter)
616   (rhs text-iter))
617
618 (defbinding text-iter-in-range-p () boolean
619   (iter text-iter)
620   (start text-iter)
621   (end text-iter))
622
623 (defbinding text-iter-order () nil
624   (first text-iter)
625   (second text-iter))
626
627
628
629 ;;; Text Tag
630
631 (defbinding text-tag-event () boolean
632   (tag text-tag)
633   (event-object gobject)
634   (event gdk:event)
635   (iter text-iter))
636
637
638
639 ;;; Text Tag Table
640
641 (defbinding text-tag-table-add () nil
642   (table text-tag-table)
643   (tag text-tag))
644
645 (defbinding text-tag-table-remove () nil
646   (table text-tag-table)
647   (tag text-tag))
648
649 (defbinding text-tag-table-lookup () text-tag
650   (table text-tag-table)
651   (name string))
652
653 (define-callback-marshal %text-tag-table-foreach-callback nil (text-tag))
654
655 (defbinding text-tag-table-foreach (table function) nil
656   (table text-tag-table)
657   (%text-tag-table-foreach-callback callback)
658   ((register-callback-function function) unsigned-int))
659
660
661 ;;; Text View
662
663 (defbinding text-view-scroll-to-mark () nil
664   (text-view text-view)
665   (mark text-mark)
666   (within-margin boolean)
667   (use-align boolean)
668   (xalign double-float)
669   (yalign double-float))
670
671 (defbinding text-view-scroll-to-iter () nil
672   (text-view text-view)
673   (iter text-iter)
674   (within-margin boolean)
675   (use-align boolean)
676   (xalign double-float)
677   (yalign double-float))
678
679 (defbinding text-view-scroll-mark-onscreen () nil
680   (text-view text-view)
681   (mark text-mark))
682
683 (defbinding text-view-move-mark-onscreen () nil
684   (text-view text-view)
685   (mark text-mark))
686
687 (defbinding text-view-place-cursor-onscreen () nil
688   (text-view text-view))
689
690 (defbinding text-view-get-visible-rect 
691     (text-view &optional (rect (make-instance 'gdk:rectangle))) nil
692   (text-view text-view)
693   (rect gdk:rectangle :in/return))
694
695 (defbinding text-view-get-iter-location 
696     (text-view iter &optional (location (make-instance 'gdk:rectangle))) nil
697   (text-view text-view)
698   (iter text-iter)
699   (location gdk:rectangle :in/return))
700
701 (defbinding text-view-get-line-at-y 
702     (text-view y &optional (iter (make-instance 'text-iter))) nil
703   (text-view text-view)
704   (iter text-iter :in/return)
705   (y int)
706   (line-top int :out))
707
708 (defbinding text-view-get-line-yrange () nil
709   (text-view text-view)
710   (iter text-iter)
711   (y int :out)
712   (height int :out))
713
714 (defbinding text-view-get-iter-at-location 
715     (text-view x y &optional (iter (make-instance 'text-iter))) nil
716   (text-view text-view)
717   (iter text-iter :in/return)
718   (x int)
719   (y int))
720
721 (defbinding text-view-buffer-to-window-coords () nil
722   (text-view text-view)
723   (win text-window-type)
724   (buffer-x int) 
725   (buffer-y int)
726   (window-x int :out)
727   (window-y int :out))
728
729 (defbinding text-view-window-to-buffer-coords () nil
730   (text-view text-view)
731   (win text-window-type)
732   (window-x int)
733   (window-y int)
734   (buffer-x int :out) 
735   (buffer-y int :out))
736
737 (defbinding text-view-get-window () gdk:window
738   (text-view text-view)
739   (win text-window-type))
740
741 (defbinding text-view-get-window-type () text-window-type
742   (text-view text-view)
743   (window gdk:window))
744
745 (defbinding %text-view-set-border-window-size () nil
746   (text-view text-view)
747   (win text-window-type)
748   (size int))
749
750 (defun (setf text-view-border-window-size) (size text-view win)
751   (%text-view-set-border-window-size text-view win size)
752   size)
753
754 (defbinding (text-view-border-window-size 
755              "gtk_text_view_get_border_window_size") () int
756   (text-view text-view)
757   (win text-window-type))
758
759 (defbinding text-view-forward-display-line () boolean
760   (text-view text-view)
761   (iter text-iter))
762
763 (defbinding text-view-backward-display-line () boolean
764   (text-view text-view)
765   (iter text-iter))
766
767 (defbinding text-view-forward-display-line-end () boolean
768   (text-view text-view)
769   (iter text-iter))
770
771 (defbinding text-view-backward-display-line-start () boolean
772   (text-view text-view)
773   (iter text-iter))
774
775 (defbinding (text-view-starts-display-line-p 
776              "gtk_text_view_starts_display_line") () boolean
777   (text-view text-view)
778   (iter text-iter))
779
780 (defbinding text-view-move-visually () boolean
781   (text-view text-view)
782   (iter text-iter)
783   (count int))
784
785 (defbinding text-view-add-child-at-anchor () nil
786   (text-view text-view)
787   (child widget)
788   (anchor text-child-anchor))
789
790 (defbinding text-view-add-child-in-window () nil
791   (text-view text-view)
792   (child widget)
793   (win text-window-type)
794   (x int)
795   (y int))
796
797 (defbinding text-view-move-child () nil
798   (text-view text-view)
799   (child widget)
800   (x int)
801   (y int))
802
803
804 ;; Text Child Anchor
805
806 (defbinding (text-view-child-anchor-deleted-p
807              "gtk_text_child_anchor_get_deleted") () boolean
808   (anchor text-child-anchor))