Generated documentation for gobject.type-info
[cl-gtk2.git] / gtk / gtk.text.lisp
index 10a994a..2f98d5b 100644 (file)
@@ -26,7 +26,7 @@
           (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-tags :reader "gtk_text_iter_get_tags" :type (gslist (g-object text-tag) :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)
 
 (export 'text-buffer)
 
-(defcfun (text-buffer-tag-table "gtk_text_buffer_get_tag_table") (g-object text-tag-table)
-  (buffer (g-object text-buffer)))
-
-(export 'text-buffer-tag-table)
-
 (defcfun gtk-text-buffer-insert :void
   (buffer (g-object text-buffer))
   (iter (g-boxed-ref text-iter))
   (assert (typep position '(or text-iter (member :cursor))))
   (if interactive
       (if (eq position :cursor)
-          (gtk-text-buffer-insert-interactive-at-cursor buffer text (length text) default-editable)
-          (gtk-text-buffer-insert-interactive buffer position text (length text) default-editable))
+          (gtk-text-buffer-insert-interactive-at-cursor buffer text -1 default-editable)
+          (gtk-text-buffer-insert-interactive buffer position text -1 default-editable))
       (progn (if (eq position :cursor)
-                 (gtk-text-buffer-insert-at-cursor buffer text (length text))
-                 (gtk-text-buffer-insert buffer position text (length text)))
+                 (gtk-text-buffer-insert-at-cursor buffer text -1)
+                 (gtk-text-buffer-insert buffer position text -1))
              t)))
 
 (export 'text-buffer-insert)
   (char-offset :int))
 
 (defun text-buffer-get-iter-at-line-offset (buffer line-number char-offset)
-  (aprog1 (make-instance 'text-iter)
-    (gtk-text-buffer-get-iter-at-line-offset buffer it line-number char-offset)))
+  (let ((iter (make-instance 'text-iter)))
+    (gtk-text-buffer-get-iter-at-line-offset buffer iter line-number char-offset)
+    iter))
 
 (export 'text-buffer-get-iter-at-line-offset)
 
   (char-offset :int))
 
 (defun text-buffer-get-iter-at-offset (buffer offset)
-  (aprog1 (make-instance 'text-iter)
-    (gtk-text-buffer-get-iter-at-offset buffer it offset)))
+  (let ((iter (make-instance 'text-iter)))
+    (gtk-text-buffer-get-iter-at-offset buffer iter offset)
+    iter))
 
 (export 'text-buffer-get-iter-at-offset)
 
   (line-number :int))
 
 (defun text-buffer-get-iter-at-line (buffer line-number)
-  (aprog1 (make-instance 'text-iter)
-    (gtk-text-buffer-get-iter-at-line buffer it line-number)))
+  (let ((iter (make-instance 'text-iter)))
+    (gtk-text-buffer-get-iter-at-line buffer iter line-number)
+    iter))
 
 (export 'text-buffet-get-iter-at-line)
 
 (defun text-buffer-get-iter-at-mark (buffer mark)
   (when (stringp mark)
     (setf mark (text-buffer-get-mark buffer mark)))
-  (aprog1 (make-instance 'text-iter)
-    (gtk-text-buffer-get-iter-at-mark buffer it mark)))
+  (let ((iter (make-instance 'text-iter)))
+    (gtk-text-buffer-get-iter-at-mark buffer iter mark)
+    iter))
 
 (export 'text-buffer-get-iter-at-mark)
 
   (anchor (g-object text-child-anchor)))
 
 (defun text-buffer-get-iter-at-child-anchor (buffer anchor)
-  (aprog1 (make-instance 'text-iter)
-    (gtk-text-buffer-get-iter-at-child-anchor buffer it anchor)))
+  (let ((iter (make-instance 'text-iter)))
+    (gtk-text-buffer-get-iter-at-child-anchor buffer iter anchor)
+    iter))
 
 (export 'text-buffer-get-iter-at-child-anchor)
 
   (iter (g-boxed-ref text-iter)))
 
 (defun text-buffer-get-start-iter (buffer)
-  (aprog1 (make-instance 'text-iter)
-    (gtk-text-buffer-get-start-iter buffer it)))
+  (let ((iter (make-instance 'text-iter)))
+    (gtk-text-buffer-get-start-iter buffer iter)
+    iter))
 
 (export 'text-buffer-get-start-iter)
 
   (iter (g-boxed-ref text-iter)))
 
 (defun text-buffer-get-end-iter (buffer)
-  (aprog1 (make-instance 'text-iter)
-    (gtk-text-buffer-get-end-iter buffer it)))
+  (let ((iter (make-instance 'text-iter)))
+    (gtk-text-buffer-get-end-iter buffer iter)
+    iter))
 
 (export 'text-buffer-get-end-iter)
 
 (defun text-buffer-get-bounds (buffer)
   (let ((start (make-instance 'text-iter))
         (end (make-instance 'text-iter)))
-    (gtk-text-buffer-get-bounds buffer start end)))
+    (gtk-text-buffer-get-bounds buffer start end)
+    (values start end)))
 
 (export 'text-buffer-get-bounds)
 
 
 ;; text tag
 
-(defcfun (text-tag-priority "gtk_text_tag_get_priority") :int
-  (tag (g-object text-tag)))
-
-(defcfun gtk-text-tag-set-priority :void
-  (tag (g-object text-tag))
-  (priority :int))
-
-(defun (setf text-tag-priority) (new-value tag)
-  (gtk-text-tag-set-priority tag new-value))
-
-(export 'text-tag-priority)
-
 ;; text tag table
 
 (defcallback gtk-text-tag-table-foreach-function :void ((tag (g-object text-tag)) (data :pointer))
 
 (defun text-tag-table-foreach (table function)
   (with-stable-pointer (ptr function)
-    (gtk-text-tag-table-foreach table (callback gtk-text-table-foreach-function) ptr)))
+    (gtk-text-tag-table-foreach table (callback gtk-text-tag-table-foreach-function) ptr)))
 
 (export 'text-tag-table-foreach)
 
   (visible-rect (g-boxed-ptr rectangle :in-out)))
 
 (defun text-view-visible-rect (text-view)
-  (aprog1 (make-rectangle :x 0 :y 0 :width 0 :height 0)
-    (gtk-text-view-get-visible-rect text-view it)))
+  (let ((rect (make-rectangle :x 0 :y 0 :width 0 :height 0)))
+    (gtk-text-view-get-visible-rect text-view rect)
+    rect))
 
 (export 'text-view-visible-rect)
 
   (location (g-boxed-ptr rectangle :in-out)))
 
 (defun text-view-iter-location (text-view iter)
-  (aprog1 (make-rectangle :x 0 :y 0 :width 0 :height 0)
-    (gtk-text-view-get-iter-location text-view iter it)))
+  (let ((rect (make-rectangle :x 0 :y 0 :width 0 :height 0)))
+    (gtk-text-view-get-iter-location text-view iter rect)
+    rect))
 
 (export 'text-view-iter-location)
 
 ;;                                                          const GtkTextIter *iter,
 ;;                                                          gint *y,
 ;;                                                          gint *height);
-;; void                gtk_text_view_get_iter_at_location  (GtkTextView *text_view,
-;;                                                          GtkTextIter *iter,
-;;                                                          gint x,
-;;                                                          gint y);
+
+(defcfun gtk-text-view-get-iter-at-location :void
+  (text-view (g-object text-view))
+  (iter (g-boxed-ref 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)
+
 ;; void                gtk_text_view_get_iter_at_position  (GtkTextView *text_view,
 ;;                                                          GtkTextIter *iter,
 ;;                                                          gint *trailing,
 ;;                                                          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);
+
+(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)
+
 ;; GtkTextWindowType   gtk_text_view_get_window_type       (GtkTextView *text_view,
 ;;                                                          GdkWindow *window);
 ;; void                gtk_text_view_set_border_window_size
 ;; void                gtk_text_view_add_child_at_anchor   (GtkTextView *text_view,
 ;;                                                          GtkWidget *child,
 ;;                                                          GtkTextChildAnchor *anchor);
+
+(defcfun (text-view-add-child-at-anchor "gtk_text_view_add_child_at_anchor") :void
+  (text-view g-object)
+  (child g-object)
+  (anchor g-object))
+
+(export 'text-view-add-child-at-anchor)
+
 ;;                     GtkTextChildAnchor;
 ;; GtkTextChildAnchor* gtk_text_child_anchor_new           (void);
 ;; GList*              gtk_text_child_anchor_get_widgets   (GtkTextChildAnchor *anchor);