55212af1 |
1 | ;; Common Lisp bindings for GTK+ v2.x |
2 | ;; Copyright 2004-2005 Espen S. Johnsen <espen@users.sf.net> |
874fbf59 |
3 | ;; |
55212af1 |
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: |
874fbf59 |
11 | ;; |
55212af1 |
12 | ;; The above copyright notice and this permission notice shall be |
13 | ;; included in all copies or substantial portions of the Software. |
874fbf59 |
14 | ;; |
55212af1 |
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. |
874fbf59 |
22 | |
5eac9896 |
23 | ;; $Id: gtktext.lisp,v 1.9 2007/10/17 14:52:19 espen Exp $ |
874fbf59 |
24 | |
25 | |
26 | (in-package "GTK") |
27 | |
9bdb89f4 |
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 | |
f957f519 |
94 | #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0") |
9bdb89f4 |
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) |
f957f519 |
246 | (iter text-iter :in/return) |
9bdb89f4 |
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) |
f957f519 |
253 | (iter text-iter :in/return) |
9bdb89f4 |
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) |
f957f519 |
262 | (iter text-iter :in/return) |
9bdb89f4 |
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) |
f957f519 |
268 | (iter text-iter :in/return) |
9bdb89f4 |
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) |
f957f519 |
275 | (iter text-iter :in/return) |
9bdb89f4 |
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) |
f957f519 |
284 | (iter text-iter :in/return) |
9bdb89f4 |
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) |
f957f519 |
291 | (start text-iter :in/return) |
292 | (end text-iter :in/return)) |
9bdb89f4 |
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)) |
6a0046e9 |
316 | (end (make-instance 'text-iter))) boolean |
9bdb89f4 |
317 | (buffer text-buffer) |
f957f519 |
318 | (start text-iter :in/return) |
319 | (end text-iter :in/return)) |
9bdb89f4 |
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 | |
5eac9896 |
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 | |
9bdb89f4 |
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) |
f957f519 |
453 | (values text-attributes :in/return)) |
9bdb89f4 |
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 | |
a92553bd |
576 | (define-callback-marshal %text-char-predicate-callback boolean (int)) |
9bdb89f4 |
577 | |
578 | (defbinding text-iter-forward-find-char (iter predicate &optional limit) boolean |
579 | (iter text-iter) |
a92553bd |
580 | (%text-char-predicate-callback callback) |
9bdb89f4 |
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) |
a92553bd |
586 | (%text-char-predicate-callback callback) |
9bdb89f4 |
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) |
f957f519 |
596 | (match-start text-iter :in/return) |
597 | (match-end text-iter :in/return) |
9bdb89f4 |
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) |
f957f519 |
606 | (match-start text-iter :in/return) |
607 | (match-end text-iter :in/return) |
9bdb89f4 |
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 | |
ca289b50 |
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 | |
9bdb89f4 |
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 | |
a92553bd |
653 | (define-callback-marshal %text-tag-table-foreach-callback nil (text-tag)) |
9bdb89f4 |
654 | |
655 | (defbinding text-tag-table-foreach (table function) nil |
656 | (table text-tag-table) |
a92553bd |
657 | (%text-tag-table-foreach-callback callback) |
9bdb89f4 |
658 | ((register-callback-function function) unsigned-int)) |
659 | |
9bdb89f4 |
660 | |
874fbf59 |
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) |
f957f519 |
693 | (rect gdk:rectangle :in/return)) |
874fbf59 |
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) |
f957f519 |
699 | (location gdk:rectangle :in/return)) |
874fbf59 |
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) |
f957f519 |
704 | (iter text-iter :in/return) |
874fbf59 |
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) |
f957f519 |
717 | (iter text-iter :in/return) |
874fbf59 |
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)) |