X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=gtk%2Fgtk.text.lisp;h=69c365c1888aeaf57c800e8baef5081a69b2ce27;hb=804b4c8f24b3725eb90f29d7e6910b2598b68771;hp=4d69fc8aa97cd07d86608ee3e202a7d5ecb0570e;hpb=8c4826be668f4147572d149fa245e3e6dca9bf03;p=cl-gtk2.git diff --git a/gtk/gtk.text.lisp b/gtk/gtk.text.lisp index 4d69fc8..69c365c 100644 --- a/gtk/gtk.text.lisp +++ b/gtk/gtk.text.lisp @@ -14,35 +14,47 @@ (defmethod translate-to-foreign (value (type unichar)) (char-code value)) -(define-g-boxed-ref "GtkTextIter" text-iter - (:free-function gtk-text-iter-free) - (:alloc-function gtk-text-iter-alloc) - (:slots (text-iter-buffer :reader "gtk_text_iter_get_buffer" :type (g-object text-buffer)) - (text-iter-offset :reader "gtk_text_iter_get_offset" :writer "gtk_text_iter_set_offset" :type :int) - (text-iter-line :reader "gtk_text_iter_get_line" :writer "gtk_text_iter_set_line" :type :int) - (text-iter-line-offset :reader "gtk_text_iter_get_line_offset" :writer "gtk_text_iter_set_line_offset" :type :int) - (text-iter-visible-line-offset :reader "gtk_text_iter_get_visible_line_offset" :writer "gtk_text_iter_set_visible_line_offset" :type :int) - (text-iter-char :reader "gtk_text_iter_get_char" :type unichar) - (text-iter-pixbuf :reader "gtk_text_iter_get_pixbuf" :type (g-object pixbuf)) - (text-iter-marks :reader "gtk_text_iter_get_marks" :type (gslist (g-object text-mark) :free-from-foreign t)) - (text-iter-child-anchor :reader "gtk_text_iter_get_child_anchor" :type (g-object text-child-anchor)) - (text-iter-tags :reader "gtk_text_iter_get_tags" :type (gslist (g-object text-mark) :free-from-foreign t)) - (text-iter-chars-in-line :reader "gtk_text_iter_get_chars_in_line" :type :int) - (text-iter-language :reader "gtk_text_iter_get_language" :type :pointer) - (text-iter-is-end :reader "gtk_text_iter_is_end" :type :boolean) - (text-iter-is-start :reader "gtk_text_iter_is_start" :type :boolean) - (text-iter-can-insert :reader "gtk_text_iter_can_insert" :type :boolean) - (text-iter-starts-word :reader "gtk_text_iter_starts_word" :type :boolean) - (text-iter-ends-word :reader "gtk_text_iter_ends_word" :type :boolean) - (text-iter-inside-word :reader "gtk_text_iter_inside_word" :type :boolean) - (text-iter-starts-line :reader "gtk_text_iter_starts_line" :type :boolean) - (text-iter-ends-line :reader "gtk_text_iter_ends_line" :type :boolean) - (text-iter-starts-sentence :reader "gtk_text_iter_starts_sentence" :type :boolean) - (text-iter-ends-sentence :reader "gtk_text_iter_ends_sentence" :type :boolean) - (text-iter-inside-sentence :reader "gtk_text_iter_inside_sentence" :type :boolean) - (text-iter-is-cursor-position :reader "gtk_text_iter_is_cursor_position" :type :boolean) - )) -(export '(text-iter text-iter-offset text-iter-line text-iter-line-offset text-iter-visible-line-offset text-iter-char text-iter-pixbuf text-iter-marks text-iter-toggled-tags text-iter-child-anchor text-iter-tags text-iter-chars-in-line text-iter-language)) +(at-init () (foreign-funcall "gtk_text_iter_get_type" :int)) + +(define-g-boxed-opaque text-iter "GtkTextIter" + :alloc (gtk-text-iter-alloc)) + +(define-boxed-opaque-accessor text-iter text-iter-buffer :reader "gtk_text_iter_get_buffer" :type (g-object text-buffer)) +(define-boxed-opaque-accessor text-iter text-iter-offset :reader "gtk_text_iter_get_offset" :writer "gtk_text_iter_set_offset" :type :int) +(define-boxed-opaque-accessor text-iter text-iter-line :reader "gtk_text_iter_get_line" :writer "gtk_text_iter_set_line" :type :int) +(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) +(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) +(define-boxed-opaque-accessor text-iter text-iter-char :reader "gtk_text_iter_get_char" :type unichar) +(define-boxed-opaque-accessor text-iter text-iter-pixbuf :reader "gtk_text_iter_get_pixbuf" :type (g-object pixbuf)) +(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)) +(define-boxed-opaque-accessor text-iter text-iter-child-anchor :reader "gtk_text_iter_get_child_anchor" :type (g-object text-child-anchor)) +(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)) +(define-boxed-opaque-accessor text-iter text-iter-chars-in-line :reader "gtk_text_iter_get_chars_in_line" :type :int) +(define-boxed-opaque-accessor text-iter text-iter-language :reader "gtk_text_iter_get_language" :type :pointer) +(define-boxed-opaque-accessor text-iter text-iter-is-end :reader "gtk_text_iter_is_end" :type :boolean) +(define-boxed-opaque-accessor text-iter text-iter-is-start :reader "gtk_text_iter_is_start" :type :boolean) +(define-boxed-opaque-accessor text-iter text-iter-starts-word :reader "gtk_text_iter_starts_word" :type :boolean) +(define-boxed-opaque-accessor text-iter text-iter-ends-word :reader "gtk_text_iter_ends_word" :type :boolean) +(define-boxed-opaque-accessor text-iter text-iter-inside-word :reader "gtk_text_iter_inside_word" :type :boolean) +(define-boxed-opaque-accessor text-iter text-iter-starts-line :reader "gtk_text_iter_starts_line" :type :boolean) +(define-boxed-opaque-accessor text-iter text-iter-ends-line :reader "gtk_text_iter_ends_line" :type :boolean) +(define-boxed-opaque-accessor text-iter text-iter-starts-sentence :reader "gtk_text_iter_starts_sentence" :type :boolean) +(define-boxed-opaque-accessor text-iter text-iter-ends-sentence :reader "gtk_text_iter_ends_sentence" :type :boolean) +(define-boxed-opaque-accessor text-iter text-iter-inside-sentence :reader "gtk_text_iter_inside_sentence" :type :boolean) +(define-boxed-opaque-accessor text-iter text-iter-is-cursor-position :reader "gtk_text_iter_is_cursor_position" :type :boolean) + +(export (boxed-related-symbols 'text-iter)) +(export '(text-iter-buffer text-iter-offset text-iter-line + text-iter-line-offset text-iter-visible-line-offset + text-iter-char text-iter-pixbuf text-iter-marks + text-iter-child-anchor text-iter-tags + text-iter-chars-in-line text-iter-language text-iter-is-end + text-iter-is-start text-iter-can-insert + text-iter-starts-word text-iter-ends-word + text-iter-inside-word text-iter-starts-line + text-iter-ends-line text-iter-starts-sentence + text-iter-ends-sentence text-iter-inside-sentence + text-iter-is-cursor-position )) (defcstruct %text-iter (dummy1 :pointer) @@ -63,75 +75,78 @@ (defcfun gtk-text-iter-copy :pointer (iter :pointer)) -(defcfun gtk-text-iter-free :void - (iter :pointer)) - (defun gtk-text-iter-alloc () (with-foreign-object (iter '%text-iter) (gtk-text-iter-copy iter))) -(defcfun (text-iter-slice "gtk_text_iter_get_slice") (:string :free-from-foreign t) - (start (g-boxed-ref text-iter)) - (end (g-boxed-ref text-iter))) +(defcfun (text-iter-slice "gtk_text_iter_get_slice") (g-string :free-from-foreign t) + (start (g-boxed-foreign text-iter)) + (end (g-boxed-foreign text-iter))) (export 'text-iter-slice) -(defcfun (text-iter-text "gtk_text_iter_get_text") (:string :free-from-foreign t) - (start (g-boxed-ref text-iter)) - (end (g-boxed-ref text-iter))) +(defcfun (text-iter-text "gtk_text_iter_get_text") (g-string :free-from-foreign t) + (start (g-boxed-foreign text-iter)) + (end (g-boxed-foreign text-iter))) (export 'text-iter-text) -(defcfun (text-iter-visible-slice "gtk_text_iter_get_visible_slice") (:string :free-from-foreign t) - (start (g-boxed-ref text-iter)) - (end (g-boxed-ref text-iter))) +(defcfun (text-iter-visible-slice "gtk_text_iter_get_visible_slice") (g-string :free-from-foreign t) + (start (g-boxed-foreign text-iter)) + (end (g-boxed-foreign text-iter))) (export 'text-iter-visible-slice) -(defcfun (text-iter-visible-text "gtk_text_iter_get_visible_text") (:string :free-from-foreign t) - (start (g-boxed-ref text-iter)) - (end (g-boxed-ref text-iter))) +(defcfun (text-iter-visible-text "gtk_text_iter_get_visible_text") (g-string :free-from-foreign t) + (start (g-boxed-foreign text-iter)) + (end (g-boxed-foreign text-iter))) (export 'text-iter-visible-text) (defcfun (text-iter-toggled-tags "gtk_text_iter_get_toggled_tags") (gslist (g-object text-tag)) - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (toggled-on :boolean)) (export 'text-iter-toggled-tags) (defcfun (text-iter-begins-tag "gtk_text_iter_begins_tag") :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (tag (g-object text-tag))) (export 'text-iter-begins-tag) (defcfun (text-iter-ends-tag "gtk_text_iter_ends_tag") :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (tag (g-object text-tag))) (export 'text-iter-ends-tag) (defcfun (text-iter-toggles-tag "gtk_text_iter_toggles_tag") :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (tag (g-object text-tag))) (export 'text-iter-toggles-tag) (defcfun (text-iter-has-tag "gtk_text_iter_has_tag") :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (tag (g-object text-tag))) (export 'text-iter-has-tag) (defcfun (text-iter-editable "gtk_text_iter_editable") :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (default :boolean)) (export 'text-iter-editable) +(defcfun (text-iter-can-insert "gtk_text_iter_can_insert") :boolean + (iter (g-boxed-foreign text-iter)) + (default-editable :boolean)) + +(export 'text-iter-can-insert) + (defcfun gtk-text-iter-get-attributes :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (values (g-object text-attributes))) (defun text-iter-attributes (iter default-attributes) @@ -141,47 +156,47 @@ (export 'text-iter-attributes) (defcfun gtk-text-iter-forward-chars :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (count :int)) (defcfun gtk-text-iter-forward-lines :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (count :int)) (defcfun gtk-text-iter-forward-word-ends :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (count :int)) (defcfun gtk-text-iter-backward-word-starts :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (count :int)) (defcfun gtk-text-iter-forward-cursor-positions :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (count :int)) (defcfun gtk-text-iter-forward-sentence-ends :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (count :int)) (defcfun gtk-text-iter-backward-sentence-starts :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (count :int)) (defcfun gtk-text-iter-forward-visible-word-ends :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (count :int)) (defcfun gtk-text-iter-backward-visible-word-starts :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (count :int)) (defcfun gtk-text-iter-forward-visible-cursor-positions :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (count :int)) (defcfun gtk-text-iter-forward-visible-lines :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (count :int)) (defun text-iter-move (iter &key (count 1) (by :char) (direction :forward)) @@ -208,21 +223,21 @@ (export 'text-iter-move) (defcfun (text-iter-forward-to-end "gtk_text_iter_forward_to_end") :void - (iter (g-boxed-ref text-iter))) + (iter (g-boxed-foreign text-iter))) (export 'text-iter-forward-to-end) (defcfun (text-iter-forward-to-line-end "gtk_text_iter_forward_to_line_end") :boolean - (iter (g-boxed-ref text-iter))) + (iter (g-boxed-foreign text-iter))) (export 'text-iter-forward-to-line-end) (defcfun (text-iter-forward-to-tag-toggle "gtk_text_iter_forward_to_tag_toggle") :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (tag (g-object text-tag))) (defcfun (text-iter-backward-to-tag-toggle "gtk_text_iter_backward_to_tag_toggle") :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (tag (g-object text-tag))) (export '(text-iter-forward-to-tag-toggle text-iter-backward-to-tag-toggle)) @@ -232,16 +247,16 @@ (funcall function char))) (defcfun gtk-text-iter-forward-find-char :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (pred :pointer) (user-data :pointer) - (limit (g-boxed-ref text-iter))) + (limit (g-boxed-foreign text-iter))) (defcfun gtk-text-iter-backward-find-char :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (pred :pointer) (user-data :pointer) - (limit (g-boxed-ref text-iter))) + (limit (g-boxed-foreign text-iter))) (defun text-iter-find-char (iter predicate &key limit (direction :forward)) (assert (typep direction '(member :forward :backward))) @@ -253,20 +268,20 @@ (export 'text-iter-find-char) (defcfun gtk-text-iter-forward-search :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (str (:string :free-to-foreign t)) (flags text-search-flags) - (match-start (g-boxed-ref text-iter)) - (match-end (g-boxed-ref text-iter)) - (limit (g-boxed-ref text-iter))) + (match-start (g-boxed-foreign text-iter)) + (match-end (g-boxed-foreign text-iter)) + (limit (g-boxed-foreign text-iter))) (defcfun gtk-text-iter-backward-search :boolean - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (str (:string :free-to-foreign t)) (flags text-search-flags) - (match-start (g-boxed-ref text-iter)) - (match-end (g-boxed-ref text-iter)) - (limit (g-boxed-ref text-iter))) + (match-start (g-boxed-foreign text-iter)) + (match-end (g-boxed-foreign text-iter)) + (limit (g-boxed-foreign text-iter))) (defun text-iter-search (start-position string &key flags limit (direction :forward)) (assert (typep direction '(member :forward :backward))) @@ -276,61 +291,35 @@ (gtk-text-iter-forward-search start-position string flags i1 i2 limit) (gtk-text-iter-backward-search start-position string flags i1 i2 limit)) (values t i1 i2) - (progn (release i1) - (release i2) - (values nil nil nil))))) + (values nil nil nil)))) (export 'text-iter-search) (defcfun (text-iter-equal "gtk_text_iter_equal") :boolean - (iter-1 (g-boxed-ref text-iter)) - (iter-2 (g-boxed-ref text-iter))) + (iter-1 (g-boxed-foreign text-iter)) + (iter-2 (g-boxed-foreign text-iter))) (export 'text-iter-equal) (defcfun (text-iter-compare "gtk_text_iter_compare") :int - (iter-1 (g-boxed-ref text-iter)) - (iter-2 (g-boxed-ref text-iter))) + (iter-1 (g-boxed-foreign text-iter)) + (iter-2 (g-boxed-foreign text-iter))) (export 'text-iter-compare) (defcfun (text-iter-in-range "gtk_text_iter_in_range") :boolean - (iter (g-boxed-ref text-iter)) - (start (g-boxed-ref text-iter)) - (end (g-boxed-ref text-iter))) + (iter (g-boxed-foreign text-iter)) + (start (g-boxed-foreign text-iter)) + (end (g-boxed-foreign text-iter))) (export 'text-iter-in-range) (defcfun (text-iter-order "gtk_text_iter_order") :void - (iter-1 (g-boxed-ref text-iter)) - (iter-2 (g-boxed-ref text-iter))) + (iter-1 (g-boxed-foreign text-iter)) + (iter-2 (g-boxed-foreign text-iter))) (export 'text-iter-order) -;; text mark - -(defcfun (text-mark-visible "gtk_text_mark_get_visible") :boolean - (mark (g-object text-mark))) - -(defcfun gtk-text-mark-set-visible :void - (mark (g-object text-mark)) - (visible :boolean)) - -(defun (setf text-mark-visible) (new-value mark) - (gtk-text-mark-set-visible mark new-value)) - -(export 'text-mark-visible) - -(defcfun (text-mark-deleted "gtk_text_mark_get_deleted") :boolean - (mark (g-object text-mark))) - -(export 'text-mark-deleted) - -(defcfun (text-mark-buffer "gtk_text_mark_get_buffer") (g-object text-buffer) - (mark (g-object text-mark))) - -(export 'text-mark-buffer) - ;; text buffer (defcfun (text-buffer-line-count "gtk_text_buffer_get_line_count") :int @@ -345,7 +334,7 @@ (defcfun gtk-text-buffer-insert :void (buffer (g-object text-buffer)) - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (text (:string :free-to-foreign t)) (len :int)) @@ -356,7 +345,7 @@ (defcfun gtk-text-buffer-insert-interactive :boolean (buffer (g-object text-buffer)) - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (text (:string :free-to-foreign t)) (len :int) (default-editable :boolean)) @@ -382,15 +371,15 @@ (defcfun gtk-text-buffer-insert-range :void (buffer (g-object text-buffer)) - (iter (g-boxed-ref text-iter)) - (range-start (g-boxed-ref text-iter)) - (range-end (g-boxed-ref text-iter))) + (iter (g-boxed-foreign text-iter)) + (range-start (g-boxed-foreign text-iter)) + (range-end (g-boxed-foreign text-iter))) (defcfun gtk-text-buffer-insert-range-interactive :boolean (buffer (g-object text-buffer)) - (iter (g-boxed-ref text-iter)) - (range-start (g-boxed-ref text-iter)) - (range-end (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) + (range-start (g-boxed-foreign text-iter)) + (range-end (g-boxed-foreign text-iter)) (default-editable :boolean)) (defun text-buffer-insert-range (buffer position range-start range-end &key interactive default-editable) @@ -403,13 +392,13 @@ (defcfun gtk-text-buffer-delete :void (buffer (g-object text-buffer)) - (range-start (g-boxed-ref text-iter)) - (range-end (g-boxed-ref text-iter))) + (range-start (g-boxed-foreign text-iter)) + (range-end (g-boxed-foreign text-iter))) (defcfun gtk-text-buffer-delete-interactive :boolean (buffer (g-object text-buffer)) - (range-start (g-boxed-ref text-iter)) - (range-end (g-boxed-ref text-iter)) + (range-start (g-boxed-foreign text-iter)) + (range-end (g-boxed-foreign text-iter)) (default-editable :boolean)) (defun text-buffer-delete (buffer range-start range-end &key interactive default-editable) @@ -422,7 +411,7 @@ (defcfun gtk-text-buffer-backspace :boolean (buffer (g-object text-buffer)) - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (interactive :boolean) (default-editable :boolean)) @@ -433,8 +422,8 @@ (defcfun gtk-text-buffer-get-slice (:string :free-from-foreign t) (buffer (g-object text-buffer)) - (range-start (g-boxed-ref text-iter)) - (range-end (g-boxed-ref text-iter)) + (range-start (g-boxed-foreign text-iter)) + (range-end (g-boxed-foreign text-iter)) (include-hidden-chars :boolean)) (defun text-buffer-slice (buffer range-start range-end &key include-hidden-chars) @@ -444,19 +433,19 @@ (defcfun (text-buffer-insert-pixbuf "gtk_text_buffer_insert_pixbuf") :void (buffer (g-object text-buffer)) - (position (g-boxed-ref text-iter)) + (position (g-boxed-foreign text-iter)) (pixbuf (g-object pixbuf))) (export 'text-buffer-insert-pixbuf) (defcfun gtk-text-buffer-insert-child-anchor :void (buffer (g-object text-buffer)) - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (anchor (g-object text-child-anchor))) (defcfun gtk-text-buffer-create-child-anchor (g-object text-child-anchor) (buffer (g-object text-buffer)) - (iter (g-boxed-ref text-iter))) + (iter (g-boxed-foreign text-iter))) (defun text-buffer-insert-child-anchor (buffer position &optional anchor) (if anchor @@ -469,7 +458,7 @@ (defcfun gtk-text-buffer-create-mark (g-object text-mark) (buffer (g-object text-buffer)) (name (:string :free-to-foreign t)) - (position (g-boxed-ref text-iter)) + (position (g-boxed-foreign text-iter)) (left-gravity :boolean)) (defun text-buffer-create-mark (buffer name position &optional (left-gravity t)) @@ -480,12 +469,12 @@ (defcfun gtk-text-buffer-move-mark :void (buffer (g-object text-buffer)) (mark (g-object text-mark)) - (position (g-boxed-ref text-iter))) + (position (g-boxed-foreign text-iter))) (defcfun gtk-text-buffer-move-mark-by-name :void (buffer (g-object text-buffer)) (name (:string :free-to-foreign t)) - (position (g-boxed-ref text-iter))) + (position (g-boxed-foreign text-iter))) (defun text-buffer-move-mark (buffer mark position) (etypecase mark @@ -497,7 +486,7 @@ (defcfun (text-buffer-add-mark "gtk_text_buffer_add_mark") :void (buffer (g-object text-buffer)) (mark (g-object text-mark)) - (position (g-boxed-ref text-iter))) + (position (g-boxed-foreign text-iter))) (export 'text-buffer-add-mark) @@ -528,35 +517,34 @@ (export 'text-buffer-insertion-mark) (defcfun (text-buffer-selection-bound "gtk_text_buffer_get_selection_bound") (g-object text-mark) - (buffer (g-object text-buffer)) - (name (:string :free-to-foreign t))) + (buffer (g-object text-buffer))) (export 'text-buffer-selection-bound) (defcfun (text-buffer-place-cursor "gtk_text_buffer_place_cursor") :void (buffer (g-object text-buffer)) - (position (g-boxed-ref text-iter))) + (position (g-boxed-foreign text-iter))) (export 'text-buffer-place-cursor) (defcfun (text-buffer-select-range "gtk_text_buffer_select_range") :void (buffer (g-object text-buffer)) - (insertion-point (g-boxed-ref text-iter)) - (selection-bound (g-boxed-ref text-iter))) + (insertion-point (g-boxed-foreign text-iter)) + (selection-bound (g-boxed-foreign text-iter))) (export 'text-buffer-select-range) (defcfun gtk-text-buffer-apply-tag :void (buffer (g-object text-buffer)) (tag (g-object text-tag)) - (start (g-boxed-ref text-iter)) - (end (g-boxed-ref text-iter))) + (start (g-boxed-foreign text-iter)) + (end (g-boxed-foreign text-iter))) (defcfun gtk-text-buffer-apply-tag-by-name :void (buffer (g-object text-buffer)) (name (:string :free-to-foreign t)) - (start (g-boxed-ref text-iter)) - (end (g-boxed-ref text-iter))) + (start (g-boxed-foreign text-iter)) + (end (g-boxed-foreign text-iter))) (defun text-buffer-apply-tag (buffer tag start end) (etypecase tag @@ -568,14 +556,14 @@ (defcfun gtk-text-buffer-remove-tag :void (buffer (g-object text-buffer)) (tag (g-object text-tag)) - (start (g-boxed-ref text-iter)) - (end (g-boxed-ref text-iter))) + (start (g-boxed-foreign text-iter)) + (end (g-boxed-foreign text-iter))) (defcfun gtk-text-buffer-remove-tag-by-name :void (buffer (g-object text-buffer)) (name (:string :free-to-foreign t)) - (start (g-boxed-ref text-iter)) - (end (g-boxed-ref text-iter))) + (start (g-boxed-foreign text-iter)) + (end (g-boxed-foreign text-iter))) (defun text-buffer-remove-tag (buffer tag start end) (etypecase tag @@ -586,12 +574,12 @@ (defcfun (text-buffer-remove-all-tags "gtk_text_buffer_remove_all_tags") :void (buffer (g-object text-buffer)) - (start (g-boxed-ref text-iter)) - (end (g-boxed-ref text-iter))) + (start (g-boxed-foreign text-iter)) + (end (g-boxed-foreign text-iter))) (defcfun gtk-text-buffer-get-iter-at-line-offset :void (buffer (g-object text-buffer)) - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (line-number :int) (char-offset :int)) @@ -604,7 +592,7 @@ (defcfun gtk-text-buffer-get-iter-at-offset :void (buffer (g-object text-buffer)) - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (char-offset :int)) (defun text-buffer-get-iter-at-offset (buffer offset) @@ -616,7 +604,7 @@ (defcfun gtk-text-buffer-get-iter-at-line :void (buffer (g-object text-buffer)) - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (line-number :int)) (defun text-buffer-get-iter-at-line (buffer line-number) @@ -628,7 +616,7 @@ (defcfun gtk-text-buffer-get-iter-at-mark :void (buffer (g-object text-buffer)) - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (mark (g-object text-mark))) (defun text-buffer-get-iter-at-mark (buffer mark) @@ -642,7 +630,7 @@ (defcfun gtk-text-buffer-get-iter-at-child-anchor :void (buffer (g-object text-buffer)) - (iter (g-boxed-ref text-iter)) + (iter (g-boxed-foreign text-iter)) (anchor (g-object text-child-anchor))) (defun text-buffer-get-iter-at-child-anchor (buffer anchor) @@ -654,7 +642,7 @@ (defcfun gtk-text-buffer-get-start-iter :void (buffer (g-object text-buffer)) - (iter (g-boxed-ref text-iter))) + (iter (g-boxed-foreign text-iter))) (defun text-buffer-get-start-iter (buffer) (let ((iter (make-instance 'text-iter))) @@ -665,7 +653,7 @@ (defcfun gtk-text-buffer-get-end-iter :void (buffer (g-object text-buffer)) - (iter (g-boxed-ref text-iter))) + (iter (g-boxed-foreign text-iter))) (defun text-buffer-get-end-iter (buffer) (let ((iter (make-instance 'text-iter))) @@ -676,8 +664,8 @@ (defcfun gtk-text-buffer-get-bounds :void (buffer (g-object text-buffer)) - (start (g-boxed-ref text-iter)) - (end (g-boxed-ref text-iter))) + (start (g-boxed-foreign text-iter)) + (end (g-boxed-foreign text-iter))) (defun text-buffer-get-bounds (buffer) (let ((start (make-instance 'text-iter)) @@ -700,7 +688,7 @@ (defcfun gtk-text-buffer-paste-clipboard :void (buffer (g-object text-buffer)) (clipboard (g-object clipboard)) - (override-location (g-boxed-ref text-iter)) + (override-location (g-boxed-foreign text-iter)) (default-editable :boolean)) (defun text-buffer-paste-clipboard (buffer clipboard &key position default-editable) @@ -716,23 +704,22 @@ (defcfun (text-buffer-cut-clipboard "gtk_text_buffer_cut_clipboard") :void (buffer (g-object text-buffer)) - (clipboard (g-object clipboard))) + (clipboard (g-object clipboard)) + (default-editable :boolean)) (export 'text-buffer-cut-clipboard) (defcfun gtk-text-buffer-get-selection-bounds :boolean (buffer (g-object text-buffer)) - (start (g-boxed-ref text-iter)) - (end (g-boxed-ref text-iter))) + (start (g-boxed-foreign text-iter)) + (end (g-boxed-foreign text-iter))) (defun text-buffer-get-selection-bounds (buffer) (let ((i1 (make-instance 'text-iter)) (i2 (make-instance 'text-iter))) (if (gtk-text-buffer-get-selection-bounds buffer i1 i2) (values i1 i2) - (progn (release i1) - (release i2) - (values nil nil))))) + (values nil nil)))) (export 'text-buffer-get-selection-bounds) @@ -766,75 +753,178 @@ (export 'text-buffer-remove-selection-clipboard) -;; enum GtkTextBufferTargetInfo; -;; gboolean (*GtkTextBufferDeserializeFunc) (GtkTextBuffer *register_buffer, -;; GtkTextBuffer *content_buffer, -;; GtkTextIter *iter, -;; const guint8 *data, -;; gsize length, -;; gboolean create_tags, -;; gpointer user_data, -;; GError **error); -;; gboolean gtk_text_buffer_deserialize (GtkTextBuffer *register_buffer, -;; GtkTextBuffer *content_buffer, -;; GdkAtom format, -;; GtkTextIter *iter, -;; const guint8 *data, -;; gsize length, -;; GError **error); -;; gboolean gtk_text_buffer_deserialize_get_can_create_tags -;; (GtkTextBuffer *buffer, -;; GdkAtom format); -;; void gtk_text_buffer_deserialize_set_can_create_tags -;; (GtkTextBuffer *buffer, -;; GdkAtom format, -;; gboolean can_create_tags); -;; GtkTargetList* gtk_text_buffer_get_copy_target_list -;; (GtkTextBuffer *buffer); -;; GdkAtom* gtk_text_buffer_get_deserialize_formats -;; (GtkTextBuffer *buffer, -;; gint *n_formats); -;; GtkTargetList* gtk_text_buffer_get_paste_target_list -;; (GtkTextBuffer *buffer); -;; GdkAtom* gtk_text_buffer_get_serialize_formats -;; (GtkTextBuffer *buffer, -;; gint *n_formats); -;; GdkAtom gtk_text_buffer_register_deserialize_format -;; (GtkTextBuffer *buffer, -;; const gchar *mime_type, -;; GtkTextBufferDeserializeFunc function, -;; gpointer user_data, -;; GDestroyNotify user_data_destroy); -;; GdkAtom gtk_text_buffer_register_deserialize_tagset -;; (GtkTextBuffer *buffer, -;; const gchar *tagset_name); -;; GdkAtom gtk_text_buffer_register_serialize_format -;; (GtkTextBuffer *buffer, -;; const gchar *mime_type, -;; GtkTextBufferSerializeFunc function, -;; gpointer user_data, -;; GDestroyNotify user_data_destroy); -;; GdkAtom gtk_text_buffer_register_serialize_tagset -;; (GtkTextBuffer *buffer, -;; const gchar *tagset_name); -;; guint8* (*GtkTextBufferSerializeFunc) (GtkTextBuffer *register_buffer, -;; GtkTextBuffer *content_buffer, -;; const GtkTextIter *start, -;; const GtkTextIter *end, -;; gsize *length, -;; gpointer user_data); -;; guint8* gtk_text_buffer_serialize (GtkTextBuffer *register_buffer, -;; GtkTextBuffer *content_buffer, -;; GdkAtom format, -;; const GtkTextIter *start, -;; const GtkTextIter *end, -;; gsize *length); -;; void gtk_text_buffer_unregister_deserialize_format -;; (GtkTextBuffer *buffer, -;; GdkAtom format); -;; void gtk_text_buffer_unregister_serialize_format -;; (GtkTextBuffer *buffer, -;; GdkAtom format); +(defcfun gtk-text-buffer-deserialize :boolean + (register-buffer (g-object text-buffer)) + (content-buffer (g-object text-buffer)) + (format gdk-atom-as-string) + (iter (g-boxed-foreign text-iter)) + (data :pointer) + (length gsize) + (error :pointer)) + +(defun text-buffer-deserialize (register-buffer content-buffer format iter data) + (let ((bytes (foreign-alloc :uint8 :count (length data)))) + (iter (for i from 0 below (length data)) + (setf (mem-aref bytes :uint8 i) (aref data i))) + (unwind-protect + (with-g-error (err) + (gtk-text-buffer-deserialize register-buffer content-buffer + format iter bytes (length data) err)) + (foreign-free bytes)))) + +(export 'text-buffer-deserialize) + +(defcfun (text-buffer-deserialize-can-create-tags "gtk_text_buffer_deserialize_get_can_create_tags") :boolean + (buffer (g-object text-buffer)) + (format gdk-atom-as-string)) + +(defcfun gtk-text-buffer-deserialize-set-can-create-tags :void + (buffer (g-object text-buffer)) + (format gdk-atom-as-string) + (can-create-tags :boolean)) + +(defun (setf text-buffer-deserialize-can-create-tags) (new-value buffer format) + (gtk-text-buffer-deserialize-set-can-create-tags buffer format new-value)) + +(export 'text-buffer-deserialize-can-create-tags) + +(defcfun gtk-text-buffer-get-deserialize-formats (:pointer gdk-atom-as-string) + (text-buffer (g-object text-buffer)) + (n-formats (:pointer :int))) + +(defun text-buffer-get-deserialize-formats (text-buffer) + (with-foreign-object (n-formats :int) + (let ((atoms-ptr (gtk-text-buffer-get-deserialize-formats text-buffer n-formats))) + (iter (for i from 0 below (mem-ref n-formats :int)) + (for atom = (mem-aref atoms-ptr 'gdk-atom-as-string i)) + (collect atom))))) + +(export 'text-buffer-get-deserialize-formats) + +(defcfun gtk-text-buffer-get-serialize-formats (:pointer gdk-atom-as-string) + (text-buffer (g-object text-buffer)) + (n-formats (:pointer :int))) + +(defun text-buffer-get-serialize-formats (text-buffer) + (with-foreign-object (n-formats :int) + (let ((atoms-ptr (gtk-text-buffer-get-serialize-formats text-buffer n-formats))) + (iter (for i from 0 below (mem-ref n-formats :int)) + (for atom = (mem-aref atoms-ptr 'gdk-atom-as-string i)) + (collect atom))))) + +(export 'text-buffer-get-serialize-formats) + +(defcallback gtk-text-buffer-deserialize-cb :boolean + ((register-buffer (g-object text-buffer)) + (content-buffer (g-object text-buffer)) + (iter (g-boxed-foreign text-iter)) + (data :pointer) + (length gsize) + (create-tags :boolean) + (user-data :pointer) + (error :pointer)) + (with-catching-to-g-error (error) + (let ((fn (stable-pointer-value user-data))) + (restart-case + (let ((bytes (iter (with bytes = (make-array length :element-type '(unsigned-byte 8))) + (for i from 0 below length) + (setf (aref bytes i) (mem-ref data :uint8 i)) + (finally (return bytes))))) + (progn (funcall fn register-buffer content-buffer iter bytes create-tags) t)) + (return-from-text-buffer-deserialize-cb () + (error 'g-error-condition + :domain "cl-gtk2" + :code 0 + :message "'return-from-text-buffer-deserialize-cb' restart was called")))))) + +(defcfun gtk-text-buffer-register-deserialize-format gdk-atom-as-string + (buffer (g-object text-buffer)) + (mime-type :string) + (function :pointer) + (user-data :pointer) + (destroy-notify :pointer)) + +(defun text-buffer-register-deserialize-format (buffer mime-type function) + (gtk-text-buffer-register-deserialize-format buffer mime-type + (callback gtk-text-buffer-deserialize-cb) + (allocate-stable-pointer function) + (callback stable-pointer-free-destroy-notify-callback))) + +(export 'text-buffer-register-deserialize-format) + +(defcfun (text-buffer-register-deserialize-tagset "gtk_text_buffer_register_deserialize_tagset") gdk-atom-as-string + (buffer (g-object text-buffer)) + (tagset-name :string)) + +(export 'text-buffer-register-deserialize-tagset) + +(defcallback gtk-text-buffer-serialize-cb :pointer + ((register-buffer (g-object text-buffer)) + (content-buffer (g-object text-buffer)) + (start-iter (g-boxed-foreign text-iter)) + (end-iter (g-boxed-foreign text-iter)) + (length (:pointer gsize)) + (user-data :pointer)) + (let ((fn (stable-pointer-value user-data))) + (restart-case + (let* ((bytes (funcall fn register-buffer content-buffer start-iter end-iter)) + (bytes-ptr (g-malloc (length bytes)))) + (setf (mem-ref length 'gsize) (length bytes)) + (iter (for i from 0 below (length bytes)) + (setf (mem-aref bytes-ptr :uint8 i) (aref bytes i))) + bytes-ptr) + (return-from-text-buffer-serialize-cb () nil)))) + +(defcfun gtk-text-buffer-register-serialize-format gdk-atom-as-string + (buffer (g-object text-buffer)) + (mime-type :string) + (function :pointer) + (user-data :pointer) + (destroy-notify :pointer)) + +(defun text-buffer-register-serialize-format (buffer mime-type function) + (gtk-text-buffer-register-serialize-format buffer mime-type + (callback gtk-text-buffer-serialize-cb) + (allocate-stable-pointer function) + (callback stable-pointer-free-destroy-notify-callback))) + +(export 'text-buffer-register-serialize-format) + +(defcfun (text-buffer-register-serialize-tagset "gtk_text_buffer_register_serialize_tagset") gdk-atom-as-string + (buffer (g-object text-buffer)) + (tagset-name :string)) + +(export 'text-buffer-register-serialize-tagset) + +(defcfun gtk-text-buffer-serialize :pointer + (register-buffer (g-object text-buffer)) + (content-buffer (g-object text-buffer)) + (format gdk-atom-as-string) + (start (g-boxed-foreign text-iter)) + (end (g-boxed-foreign text-iter)) + (length (:pointer gsize))) + +(defun text-buffer-serialize (register-buffer content-buffer format start end) + (with-foreign-object (length 'gsize) + (let ((bytes (gtk-text-buffer-serialize register-buffer content-buffer format start end length))) + (iter (for i from 0 to (mem-ref length 'gsize)) + (for byte = (mem-aref bytes :uint8 i)) + (collect byte result-type vector) + (finally (g-free bytes)))))) + +(export 'text-buffer-serialize) + +(defcfun (text-buffer-unregister-deserialize-format "gtk_text_buffer_unregister_deserialize_format") :void + (buffer (g-object text-buffer)) + (format gdk-atom-as-string)) + +(export 'text-buffer-unregister-deserialize-format) + +(defcfun (text-buffer-unregister-serialize-format "gtk_text_buffer_unregister_serialize_format") :void + (buffer (g-object text-buffer)) + (format gdk-atom-as-string)) + +(export 'text-buffer-unregister-serialize-format) ;; text tag @@ -888,23 +978,29 @@ (y-align :double)) (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)) - (gtk-text-view-scroll-to-mark text-view mark within-margin (or x-align-supplied y-align-supplied) (coerce x-align 'double-float) (coerce y-align 'double-float))) + (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))) (export 'text-view-scroll-to-mark) (defcfun gtk-text-view-scroll-to-iter :void (text-view (g-object text-view)) - (iter (g-object text-iter)) + (iter (g-boxed-foreign text-iter)) (within-margin :double) (use-align :boolean) (x-align :double) (y-align :double)) (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)) - (gtk-text-view-scroll-to-iter text-view iter within-margin (or x-align-supplied y-align-supplied) (coerce x-align 'double-float) (coerce y-align 'double-float))) + (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))) (export 'text-view-scroll-to-iter) +(defcfun (text-view-scroll-mark-onscreen "gtk_text_view_scroll_mark_onscreen") :void + (text-view (g-object text-view)) + (mark (g-object text-mark))) + +(export 'text-view-scroll-mark-onscreen) + (defcfun (text-view-move-mark-onscreen "gtk_text_view_move_mark_onscreen") :boolean (text-view (g-object text-view)) (mark (g-object text-mark))) @@ -918,7 +1014,7 @@ (defcfun gtk-text-view-get-visible-rect :void (text-view (g-object text-view)) - (visible-rect (g-boxed-ptr rectangle :in-out))) + (visible-rect (g-boxed-foreign rectangle))) (defun text-view-visible-rect (text-view) (let ((rect (make-rectangle :x 0 :y 0 :width 0 :height 0))) @@ -929,8 +1025,8 @@ (defcfun gtk-text-view-get-iter-location :void (text-view (g-object text-view)) - (iter (g-boxed-ref text-iter)) - (location (g-boxed-ptr rectangle :in-out))) + (iter (g-boxed-foreign text-iter)) + (location (g-boxed-foreign rectangle))) (defun text-view-iter-location (text-view iter) (let ((rect (make-rectangle :x 0 :y 0 :width 0 :height 0))) @@ -939,67 +1035,158 @@ (export 'text-view-iter-location) +(defcfun gtk-text-view-get-line-at-y :void + (text-view (g-object text-view)) + (target-iter (g-boxed-foreign text-iter)) + (y :int) + (line-top (:pointer :int))) + +(defun text-view-get-line-at-y (text-view y) + (let ((iter (make-instance 'text-iter))) + (with-foreign-object (line-top :int) + (gtk-text-view-get-line-at-y text-view iter y line-top) + (values iter (mem-ref line-top :int))))) + +(export 'text-view-get-line-at-y) + +(defcfun gtk-text-view-get-line-yrange :void + (text-view (g-object text-view)) + (iter (g-boxed-foreign text-iter)) + (y (:pointer :int)) + (height (:pointer :int))) + +(defun text-view-get-line-yrange (text-view iter) + (with-foreign-objects ((y :int) (height :int)) + (gtk-text-view-get-line-yrange text-view iter y height) + (values (mem-ref y :int) (mem-ref height :int)))) + +(export 'text-view-get-line-yrange) + +(defcfun gtk-text-view-get-iter-at-location :void + (text-view (g-object text-view)) + (iter (g-boxed-foreign text-iter)) + (x :int) + (y :int)) + +(defun text-view-get-iter-at-location (view x y) + (let ((iter (make-instance 'text-iter))) + (gtk-text-view-get-iter-at-location view iter x y) + iter)) + +(export 'text-view-get-iter-at-location) + +(defcfun gtk-text-view-get-iter-at-position :void + (text-view (g-object text-view)) + (iter (g-boxed-foreign text-iter)) + (trailing (:pointer :int)) + (x :int) + (y :int)) + +(defun text-view-get-iter-at-position (text-view x y) + (with-foreign-object (trailing :int) + (let ((iter (make-instance 'text-iter))) + (gtk-text-view-get-iter-at-position text-view iter trailing x y) + (values iter (mem-ref trailing :int))))) + +(export 'text-view-get-iter-at-position) + +(defcfun gtk-text-view-buffer-to-window-coords :void + (text-view (g-object text-view)) + (win text-window-type) + (buffer-x :int) + (buffer-y :int) + (window-x (:pointer :int)) + (window-y (:pointer :int))) + +(defun text-view-buffer-to-window-coords (text-view window-type buffer-x buffer-y) + (with-foreign-objects ((window-x :int) (window-y :int)) + (gtk-text-view-buffer-to-window-coords text-view window-type buffer-x buffer-y window-x window-y) + (values (mem-ref window-x :int) (mem-ref window-y :int)))) + +(export 'text-view-buffer-to-window-coords) + +(defcfun gtk-text-view-window-to-buffer-coords :void + (text-view (g-object text-view)) + (win text-window-type) + (window-x :int) + (window-y :int) + (buffer-x :pointer) + (buffer-y :pointer)) + +(defun text-view-window-to-buffer-coords (text-view win window-x window-y) + (with-foreign-objects ((buffer-x :int) (buffer-y :int)) + (gtk-text-view-window-to-buffer-coords text-view win window-x window-y buffer-x buffer-y) + (values (mem-ref buffer-x :int) + (mem-ref buffer-y :int)))) + +(export 'text-view-window-to-buffer-coords) + +(defcfun gtk-text-view-get-window (g-object gdk:gdk-window) + (text-view (g-object text-view)) + (win text-window-type)) + +(defun text-view-get-window (text-view win) + (gtk-text-view-get-window text-view win)) + +(export 'text-view-get-window) + +(defcfun (text-view-get-window-type "gtk_text_view_get_window_type") text-window-type + (text-view (g-object text-view)) + (window (g-object gdk-window))) + +(export 'text-view-get-window-type) + +(defcfun gtk-text-view-set-border-window-size :void + (text-view (g-object text-view)) + (window-type text-window-type) + (size :int)) -;; void gtk_text_view_get_line_at_y (GtkTextView *text_view, -;; GtkTextIter *target_iter, -;; gint y, -;; gint *line_top); -;; void gtk_text_view_get_line_yrange (GtkTextView *text_view, -;; const GtkTextIter *iter, -;; gint *y, -;; gint *height); -;; void gtk_text_view_get_iter_at_location (GtkTextView *text_view, -;; GtkTextIter *iter, -;; gint x, -;; gint y); -;; void gtk_text_view_get_iter_at_position (GtkTextView *text_view, -;; GtkTextIter *iter, -;; gint *trailing, -;; gint x, -;; gint y); -;; void gtk_text_view_buffer_to_window_coords -;; (GtkTextView *text_view, -;; GtkTextWindowType win, -;; gint buffer_x, -;; gint buffer_y, -;; gint *window_x, -;; gint *window_y); -;; void gtk_text_view_window_to_buffer_coords -;; (GtkTextView *text_view, -;; GtkTextWindowType win, -;; gint window_x, -;; gint window_y, -;; gint *buffer_x, -;; gint *buffer_y); -;; GdkWindow* gtk_text_view_get_window (GtkTextView *text_view, -;; GtkTextWindowType win); -;; GtkTextWindowType gtk_text_view_get_window_type (GtkTextView *text_view, -;; GdkWindow *window); -;; void gtk_text_view_set_border_window_size -;; (GtkTextView *text_view, -;; GtkTextWindowType type, -;; gint size); -;; gint gtk_text_view_get_border_window_size -;; (GtkTextView *text_view, -;; GtkTextWindowType type); -;; gboolean gtk_text_view_forward_display_line (GtkTextView *text_view, -;; GtkTextIter *iter); -;; gboolean gtk_text_view_backward_display_line (GtkTextView *text_view, -;; GtkTextIter *iter); -;; gboolean gtk_text_view_forward_display_line_end -;; (GtkTextView *text_view, -;; GtkTextIter *iter); -;; gboolean gtk_text_view_backward_display_line_start -;; (GtkTextView *text_view, -;; GtkTextIter *iter); -;; gboolean gtk_text_view_starts_display_line (GtkTextView *text_view, -;; const GtkTextIter *iter); -;; gboolean gtk_text_view_move_visually (GtkTextView *text_view, -;; GtkTextIter *iter, -;; gint count); -;; void gtk_text_view_add_child_at_anchor (GtkTextView *text_view, -;; GtkWidget *child, -;; GtkTextChildAnchor *anchor); +(defcfun (text-view-border-window-size "gtk_text_view_get_border_window_size") :int + (text-view (g-object text-view)) + (window-type text-window-type)) + +(defun (setf text-view-border-window-size) (new-value text-view window-type) + (gtk-text-view-set-border-window-size text-view window-type new-value) + new-value) + +(export 'text-view-border-window-size) + +(defcfun (text-view-forward-display-line "gtk_text_view_forward_display_line") :boolean + (text-view (g-object text-view)) + (iter (g-boxed-foreign text-iter))) + +(export 'text-view-forward-display-line) + +(defcfun (text-view-backward-display-line "gtk_text_view_backward_display_line") :boolean + (text-view (g-object text-view)) + (iter (g-boxed-foreign text-iter))) + +(export 'text-view-backward-display-line) + +(defcfun (text-view-forward-display-line-end "gtk_text_view_forward_display_line_end") :boolean + (text-view (g-object text-view)) + (iter (g-boxed-foreign text-iter))) + +(export 'text-view-forward-display-line-end) + +(defcfun (text-view-backward-display-line-start "gtk_text_view_backward_display_line_start") :boolean + (text-view (g-object text-view)) + (iter (g-boxed-foreign text-iter))) + +(export 'text-view-backward-display-line-start) + +(defcfun (text-view-starts-display-line "gtk_text_view_starts_display_line") :boolean + (text-view (g-object text-view)) + (iter (g-boxed-foreign text-iter))) + +(export 'text-view-starts-display-line) + +(defcfun (text-view-move-visually "gtk_text_view_move_visually") :boolean + (text-view (g-object text-view)) + (iter (g-boxed-foreign text-iter)) + (count :int)) + +(export 'text-view-move-visually) (defcfun (text-view-add-child-at-anchor "gtk_text_view_add_child_at_anchor") :void (text-view g-object) @@ -1008,16 +1195,24 @@ (export 'text-view-add-child-at-anchor) -;; GtkTextChildAnchor; -;; GtkTextChildAnchor* gtk_text_child_anchor_new (void); -;; GList* gtk_text_child_anchor_get_widgets (GtkTextChildAnchor *anchor); -;; gboolean gtk_text_child_anchor_get_deleted (GtkTextChildAnchor *anchor); -;; void gtk_text_view_add_child_in_window (GtkTextView *text_view, -;; GtkWidget *child, -;; GtkTextWindowType which_window, -;; gint xpos, -;; gint ypos); -;; void gtk_text_view_move_child (GtkTextView *text_view, -;; GtkWidget *child, -;; gint xpos, -;; gint ypos); +(defcfun (text-child-anchor-widgets "gtk_text_child_anchor_get_widgets") (glist (g-object widget) :free-from-foreign t) + (anchor (g-object text-child-anchor))) + +(export 'text-child-anchor-widgets) + +(defcfun (text-view-add-child-in-window "gtk_text_view_add_child_in_window") :void + (text-view (g-object text-view)) + (child (g-object widget)) + (which-window text-window-type) + (x-pos :int) + (y-pos :int)) + +(export 'text-view-add-child-in-window) + +(defcfun (text-view-move-child "gtk_text_view_move_child") :void + (text-view (g-object text-view)) + (child (g-object widget)) + (x-pos :int) + (y-pos :int)) + +(export 'text-view-move-child)