chiark / gitweb /
C callbacks cleaned up and ported to new API
[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.7 2006-02-19 19:31:15 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 #+gtk2.6
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 :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 :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 :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 :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 :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 :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 :return)
292   (end text-iter :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 :return)
319   (end text-iter :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 (defbinding text-iter-get-char () int
347   (iter text-iter))
348
349 (defbinding text-iter-get-slice () string
350   (start text-iter)
351   (end text-iter))
352
353 (defbinding text-iter-get-text () string
354   (start text-iter)
355   (end text-iter))
356
357 (defbinding text-iter-get-visible-slice () string
358   (start text-iter)
359   (end text-iter))
360
361 (defbinding text-iter-get-visible-text () string
362   (start text-iter)
363   (end text-iter))
364
365 (defbinding text-iter-get-pixbuf () string
366   (iter text-iter))
367
368 (defbinding text-iter-get-marks () (gslist text-mark)
369   (iter text-iter))
370
371 (defbinding text-iter-get-toggled-tags () (gslist text-tag)
372   (iter text-iter)
373   (toggoled-on boolean))
374
375 (defbinding text-iter-get-child-anchor () text-child-anchor
376   (iter text-iter))
377
378 (defun %ensure-tag (tag iter)
379   (etypecase tag
380     (text-tag tag)
381     (string 
382      (text-tag-table-lookup 
383       (text-buffer-tag-table (text-iter-buffer iter)) tag))))
384
385 (defbinding text-iter-begins-tag-p (iter tag) boolean
386   (iter text-iter)
387   ((%ensure-tag tag iter) text-tag))
388
389 (defbinding text-iter-ends-tag-p (iter tag) boolean
390   (iter text-iter)
391   ((%ensure-tag tag iter) text-tag))
392
393 (defbinding text-iter-toggles-tag-p (iter tag) boolean
394   (iter text-iter)
395   ((%ensure-tag tag iter) text-tag))
396
397 (defbinding text-iter-has-tag-p (iter tag) boolean
398   (iter text-iter)
399   ((%ensure-tag tag iter) text-tag))
400
401 (defbinding text-iter-get-tags () (gslist text-tag)
402   (iter text-iter))
403
404 (defbinding text-iter-editable-p () boolean
405   (iter text-iter)
406   (default-setting boolean))
407
408 (defbinding text-iter-can-insert-p () boolean
409   (iter text-iter)
410   (default-editability boolean))
411
412 (defbinding text-iter-starts-word-p () boolean
413   (iter text-iter))
414
415 (defbinding text-iter-ends-word-p () boolean
416   (iter text-iter))
417
418 (defbinding text-iter-inside-word-p () boolean
419   (iter text-iter))
420
421 (defbinding text-iter-starts-line-p () boolean
422   (iter text-iter))
423
424 (defbinding text-iter-ends-line-p () boolean
425   (iter text-iter))
426
427 (defbinding text-iter-starts-sentence-p () boolean
428   (iter text-iter))
429
430 (defbinding text-iter-ends-sentence-p () boolean
431   (iter text-iter))
432
433 (defbinding text-iter-inside-sentence-p () boolean
434   (iter text-iter))
435
436 (defbinding text-iter-is-cursor-position-p () boolean
437   (iter text-iter))
438
439 (defbinding text-iter-get-chars-in-line () int
440   (iter text-iter))
441
442 (defbinding text-iter-get-bytes-in-line () int
443   (iter text-iter))
444
445 (defbinding text-iter-get-attributes 
446     (iter &optional (values (make-instance 'text-attributes))) boolean
447   (iter text-iter)
448   (values text-attributes :return))
449
450 (defbinding text-iter-get-language () pango:language
451   (iter text-iter))
452
453 (defbinding text-iter-is-end-p () boolean
454   (iter text-iter))
455
456 (defbinding text-iter-is-start-p () boolean
457   (iter text-iter))
458
459 (defbinding text-iter-forward-char () boolean
460   (iter text-iter))
461
462 (defbinding text-iter-backward-char () boolean
463   (iter text-iter))
464
465 (defbinding text-iter-forward-chars () boolean
466   (iter text-iter)
467   (count int))
468
469 (defbinding text-iter-backward-chars () boolean
470   (iter text-iter)
471   (count int))
472
473 (defbinding text-iter-forward-line () boolean
474   (iter text-iter))
475
476 (defbinding text-iter-backward-line () boolean
477   (iter text-iter))
478
479 (defbinding text-iter-forward-lines () boolean
480   (iter text-iter)
481   (count int))
482
483 (defbinding text-iter-backward-lines () boolean
484   (iter text-iter)
485   (count int))
486
487 (defbinding text-iter-forward-word-ends () boolean
488   (iter text-iter)
489   (count int))
490
491 (defbinding text-iter-backward-word-starts () boolean
492   (iter text-iter)
493   (count int))
494
495 (defbinding text-iter-forward-word-end () boolean
496   (iter text-iter))
497
498 (defbinding text-iter-backward-word-start () boolean
499   (iter text-iter))
500
501 (defbinding text-iter-forward-cursor-position () boolean
502   (iter text-iter))
503
504 (defbinding text-iter-backward-cursor-position () boolean
505   (iter text-iter))
506
507 (defbinding text-iter-forward-cursor-positions () boolean
508   (iter text-iter)
509   (count int))
510
511 (defbinding text-iter-backward-cursor-positions () boolean
512   (iter text-iter)
513   (count int))
514
515 (defbinding text-iter-backward-sentence-start () boolean
516   (iter text-iter))
517
518 (defbinding text-iter-backward-sentence-starts () boolean
519   (iter text-iter)
520   (count int))
521
522 (defbinding text-iter-forward-sentence-end () boolean
523   (iter text-iter))
524
525 (defbinding text-iter-forward-sentence-ends () boolean
526   (iter text-iter)
527   (count int))
528
529 (defbinding text-iter-forward-visible-word-ends () boolean
530   (iter text-iter)
531   (count int))
532
533 (defbinding text-iter-backward-visible-word-starts () boolean
534   (iter text-iter)
535   (count int))
536
537 (defbinding text-iter-forward-visible-word-end () boolean
538   (iter text-iter))
539
540 (defbinding text-iter-backward-visible-word-start () boolean
541   (iter text-iter))
542
543 (defbinding text-iter-forward-visible-cursor-position () boolean
544   (iter text-iter))
545
546 (defbinding text-iter-backward-visible-cursor-position () boolean
547   (iter text-iter))
548
549 (defbinding text-iter-forward-visible-cursor-positions () boolean
550   (iter text-iter)
551   (count int))
552
553 (defbinding text-iter-backward-visible-cursor-positions () boolean
554   (iter text-iter)
555   (count int))
556
557 (defbinding text-iter-forward-to-end () nil
558   (iter text-iter))
559
560 (defbinding text-iter-forward-to-line-end () boolean
561   (iter text-iter))
562
563 (defbinding text-iter-forward-to-tag-toggle (iter tag) boolean
564   (iter text-iter)
565   ((%ensure-tag tag iter) text-tag))
566
567 (defbinding text-iter-backward-to-tag-toggle (iter tag) boolean
568   (iter text-iter)
569   ((%ensure-tag tag iter) text-tag))
570
571 (define-callback-marshal %text-char-predicate-callback boolean (int))
572
573 (defbinding text-iter-forward-find-char (iter predicate &optional limit) boolean
574   (iter text-iter)
575   (%text-char-predicate-callback callback)
576   ((register-callback-function predicate) unsigned-int)
577   (limit (or null text-iter)))
578
579 (defbinding text-iter-backward-find-char (iter predicate &optional limit) boolean
580   (iter text-iter)
581   (%text-char-predicate-callback callback)
582   ((register-callback-function predicate) unsigned-int)
583   (limit (or null text-iter)))
584
585 (defbinding text-iter-forward-search 
586     (iter text &optional flags limit (match-start (make-instance 'text-iter))
587      (match-end (make-instance 'text-iter))) boolean
588   (iter text-iter)
589   (text string)
590   (flags text-search-flags)
591   (match-start text-iter :return)
592   (match-end text-iter :return)
593   (limit (or null text-iter)))
594
595 (defbinding text-iter-backward-search 
596     (iter text &optional flags limit (match-start (make-instance 'text-iter))
597      (match-end (make-instance 'text-iter))) boolean
598   (iter text-iter)
599   (text string)
600   (flags text-search-flags)
601   (match-start text-iter :return)
602   (match-end text-iter :return)
603   (limit (or null text-iter)))
604
605 (defbinding text-iter-equal-p () boolean
606   (lhs text-iter)
607   (rhs text-iter))
608
609 (defbinding text-iter-compare () int
610   (lhs text-iter)
611   (rhs text-iter))
612
613 (defbinding text-iter-in-range-p () boolean
614   (iter text-iter)
615   (start text-iter)
616   (end text-iter))
617
618 (defbinding text-iter-order () nil
619   (first text-iter)
620   (second text-iter))
621
622
623
624 ;;; Text Tag
625
626 (defbinding text-tag-event () boolean
627   (tag text-tag)
628   (event-object gobject)
629   (event gdk:event)
630   (iter text-iter))
631
632
633
634 ;;; Text Tag Table
635
636 (defbinding text-tag-table-add () nil
637   (table text-tag-table)
638   (tag text-tag))
639
640 (defbinding text-tag-table-remove () nil
641   (table text-tag-table)
642   (tag text-tag))
643
644 (defbinding text-tag-table-lookup () text-tag
645   (table text-tag-table)
646   (name string))
647
648 (define-callback-marshal %text-tag-table-foreach-callback nil (text-tag))
649
650 (defbinding text-tag-table-foreach (table function) nil
651   (table text-tag-table)
652   (%text-tag-table-foreach-callback callback)
653   ((register-callback-function function) unsigned-int))
654
655
656 ;;; Text View
657
658 (defbinding text-view-scroll-to-mark () nil
659   (text-view text-view)
660   (mark text-mark)
661   (within-margin boolean)
662   (use-align boolean)
663   (xalign double-float)
664   (yalign double-float))
665
666 (defbinding text-view-scroll-to-iter () nil
667   (text-view text-view)
668   (iter text-iter)
669   (within-margin boolean)
670   (use-align boolean)
671   (xalign double-float)
672   (yalign double-float))
673
674 (defbinding text-view-scroll-mark-onscreen () nil
675   (text-view text-view)
676   (mark text-mark))
677
678 (defbinding text-view-move-mark-onscreen () nil
679   (text-view text-view)
680   (mark text-mark))
681
682 (defbinding text-view-place-cursor-onscreen () nil
683   (text-view text-view))
684
685 (defbinding text-view-get-visible-rect 
686     (text-view &optional (rect (make-instance 'gdk:rectangle))) nil
687   (text-view text-view)
688   (rect gdk:rectangle :return))
689
690 (defbinding text-view-get-iter-location 
691     (text-view iter &optional (location (make-instance 'gdk:rectangle))) nil
692   (text-view text-view)
693   (iter text-iter)
694   (location gdk:rectangle :return))
695
696 (defbinding text-view-get-line-at-y 
697     (text-view y &optional (iter (make-instance 'text-iter))) nil
698   (text-view text-view)
699   (iter text-iter :return)
700   (y int)
701   (line-top int :out))
702
703 (defbinding text-view-get-line-yrange () nil
704   (text-view text-view)
705   (iter text-iter)
706   (y int :out)
707   (height int :out))
708
709 (defbinding text-view-get-iter-at-location 
710     (text-view x y &optional (iter (make-instance 'text-iter))) nil
711   (text-view text-view)
712   (iter text-iter :return)
713   (x int)
714   (y int))
715
716 (defbinding text-view-buffer-to-window-coords () nil
717   (text-view text-view)
718   (win text-window-type)
719   (buffer-x int) 
720   (buffer-y int)
721   (window-x int :out)
722   (window-y int :out))
723
724 (defbinding text-view-window-to-buffer-coords () nil
725   (text-view text-view)
726   (win text-window-type)
727   (window-x int)
728   (window-y int)
729   (buffer-x int :out) 
730   (buffer-y int :out))
731
732 (defbinding text-view-get-window () gdk:window
733   (text-view text-view)
734   (win text-window-type))
735
736 (defbinding text-view-get-window-type () text-window-type
737   (text-view text-view)
738   (window gdk:window))
739
740 (defbinding %text-view-set-border-window-size () nil
741   (text-view text-view)
742   (win text-window-type)
743   (size int))
744
745 (defun (setf text-view-border-window-size) (size text-view win)
746   (%text-view-set-border-window-size text-view win size)
747   size)
748
749 (defbinding (text-view-border-window-size 
750              "gtk_text_view_get_border_window_size") () int
751   (text-view text-view)
752   (win text-window-type))
753
754 (defbinding text-view-forward-display-line () boolean
755   (text-view text-view)
756   (iter text-iter))
757
758 (defbinding text-view-backward-display-line () boolean
759   (text-view text-view)
760   (iter text-iter))
761
762 (defbinding text-view-forward-display-line-end () boolean
763   (text-view text-view)
764   (iter text-iter))
765
766 (defbinding text-view-backward-display-line-start () boolean
767   (text-view text-view)
768   (iter text-iter))
769
770 (defbinding (text-view-starts-display-line-p 
771              "gtk_text_view_starts_display_line") () boolean
772   (text-view text-view)
773   (iter text-iter))
774
775 (defbinding text-view-move-visually () boolean
776   (text-view text-view)
777   (iter text-iter)
778   (count int))
779
780 (defbinding text-view-add-child-at-anchor () nil
781   (text-view text-view)
782   (child widget)
783   (anchor text-child-anchor))
784
785 (defbinding text-view-add-child-in-window () nil
786   (text-view text-view)
787   (child widget)
788   (win text-window-type)
789   (x int)
790   (y int))
791
792 (defbinding text-view-move-child () nil
793   (text-view text-view)
794   (child widget)
795   (x int)
796   (y int))
797
798
799 ;; Text Child Anchor
800
801 (defbinding (text-view-child-anchor-deleted-p
802              "gtk_text_child_anchor_get_deleted") () boolean
803   (anchor text-child-anchor))