chiark / gitweb /
Added lots of bindings
authorespen <espen>
Fri, 17 Dec 2004 00:36:32 +0000 (00:36 +0000)
committerespen <espen>
Fri, 17 Dec 2004 00:36:32 +0000 (00:36 +0000)
gtk/gtktext.lisp
gtk/gtktree.lisp

index d43d0273f6b45d0081b6f7c6b7431fb07db5984b..4788a4f30abb9d406755969d83005cc93b7f7b1c 100644 (file)
 ;; License along with this library; if not, write to the Free Software
 ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-;; $Id: gtktext.lisp,v 1.1 2004-12-04 18:19:59 espen Exp $
+;; $Id: gtktext.lisp,v 1.2 2004-12-17 00:37:50 espen Exp $
 
 
 (in-package "GTK")
 
+;;; Text Buffer
+
+(defbinding %text-buffer-insert () nil
+  (buffer text-buffer)
+  (iter text-iter)
+  (text string)
+  (-1 int))
+
+(defun text-buffer-insert (buffer iter text &rest tags)
+  (if tags
+      (let ((start-offset (text-iter-offset iter)))
+       (%text-buffer-insert buffer iter text)
+       (let ((start (text-buffer-get-iter-at-offset buffer start-offset)))
+         (loop
+          for tag in tags
+          do (text-buffer-apply-tag buffer tag start iter))))
+    (%text-buffer-insert buffer iter text)))
+
+(defbinding %text-buffer-insert-at-cursor () nil
+  (buffer text-buffer)
+  (text string)
+  (-1 int))
+
+(defun text-buffer-insert-at-cursor (buffer text &rest tags)
+  (if tags
+      (apply #'text-buffer-insert buffer 
+       (text-buffer-get-iter-at-insert buffer) text tags)
+    (%text-buffer-insert-at-cursor buffer text)))
+  
+(defbinding text-buffer-insert-interactive () boolean
+  (buffer text-buffer)
+  (iter text-iter)
+  (text string)
+  (-1 int)
+  (default-editable boolean))
+
+(defbinding text-buffer-insert-interactive-at-cursor () boolean
+  (buffer text-buffer)
+  (text string)
+  (-1 int)
+  (default-editable boolean))
+
+(defbinding text-buffer-insert-range () nil
+  (buffer text-buffer)
+  (iter text-iter)
+  (start text-iter)
+  (end text-iter))
+
+(defbinding text-buffer-insert-range-interactive () nil
+  (buffer text-buffer)
+  (iter text-iter)
+  (start text-iter)
+  (end text-iter)
+  (default-editable boolean))
+
+(defbinding text-buffer-delete () nil
+  (buffer text-buffer)
+  (start text-iter)
+  (end text-iter))
+
+(defbinding text-buffer-delete-interactive () boolean
+  (buffer text-buffer)
+  (start text-iter)
+  (end text-iter)
+  (default-editable boolean))
+
+#+gtk2.6
+(defbinding text-buffer-backspace () boolean
+  (buffer text-buffer)
+  (iter text-iter)
+  (interactive boolean)
+  (default-editable boolean))
+
+(defbinding text-buffer-set-text () nil
+  (buffer text-buffer)
+  (text string)
+  (-1 int))
+
+(defbinding text-buffer-get-text () string
+  (buffer text-buffer)
+  (start text-iter)
+  (end text-iter)
+  (include-hidden-char boolean))
+
+(defbinding text-buffer-get-slice () string
+  (buffer text-buffer)
+  (start text-iter)
+  (end text-iter)
+  (include-hidden-char boolean))
+
+(defbinding text-buffer-insert-pixbuf () nil
+  (buffer text-buffer)
+  (iter text-iter)
+  (pixbuf gdk:pixbuf))
+
+(defbinding text-buffer-insert-child-anchor () nil
+  (buffer text-buffer)
+  (iter text-iter)
+  (anchor text-child-anchor))
+
+(defbinding text-buffer-create-child-anchor () text-child-anchor
+  (buffer text-buffer)
+  (iter text-iter))
+
+(defbinding text-buffer-create-mark () text-mark
+  (buffer text-buffer)
+  (mark-name (or null string))
+  (where text-iter)
+  (left-gravity boolean))
+
+(defbinding %text-buffer-move-mark () nil
+  (buffer text-buffer)
+  (mark text-mark)
+  (where text-iter))
+
+(defbinding %text-buffer-move-mark-by-name () nil
+  (buffer text-buffer)
+  (mark-name string)
+  (where text-iter))
+
+(defgeneric text-buffer-move-mark (buffer mark where))
+
+(defmethod text-buffer-move-mark ((buffer text-buffer) (mark text-mark) where)
+  (%text-buffer-move-mark buffer mark where))
+
+(defmethod text-buffer-move-mark ((buffer text-buffer) (name string) where)
+  (%text-buffer-move-mark-by-name buffer name where))
+
+(defbinding %text-buffer-delete-mark () nil
+  (buffer text-buffer)
+  (mark text-mark))
+
+(defbinding %text-buffer-delete-mark-by-name () nil
+  (buffer text-buffer)
+  (mark-name string))
+
+(defgeneric text-buffer-delete-mark (buffer mark))
+
+(defmethod text-buffer-delete-mark ((buffer text-buffer) (mark text-mark))
+  (%text-buffer-delete-mark buffer mark))
+
+(defmethod text-buffer-delete-mark ((buffer text-buffer) (mark-name string))
+  (%text-buffer-delete-mark-by-name buffer mark-name))
+
+(defbinding text-buffer-get-mark () text-mark
+  (buffer text-buffer)
+  (mark-name string))
+
+(defbinding text-buffer-get-insert () text-mark
+  (buffer text-buffer))
+
+(defbinding text-buffer-get-selection-bound () text-mark
+  (buffer text-buffer))
+
+(defbinding text-buffer-place-cursor () nil
+  (buffer text-buffer)
+  (where text-iter))
+
+(defbinding text-buffer-select-range () nil
+  (buffer text-buffer)
+  (insert text-iter)
+  (bound text-iter))
+
+(defbinding %text-buffer-apply-tag () nil
+  (buffer text-buffer)
+  (tag text-tag)
+  (start text-iter)
+  (end text-iter))
+
+(defbinding %text-buffer-remove-tag () nil
+  (buffer text-buffer)
+  (tag text-tag)
+  (start text-iter)
+  (end text-iter))
+
+(defbinding %text-buffer-apply-tag-by-name () nil
+  (buffer text-buffer)
+  (tag-name string)
+  (start text-iter)
+  (end text-iter))
+
+(defbinding %text-buffer-remove-tag-by-name () nil
+  (buffer text-buffer)
+  (tag-name string)
+  (start text-iter)
+  (end text-iter))
+
+(defgeneric text-buffer-apply-tag (buffer tag start end))
+
+(defmethod text-buffer-apply-tag ((buffer text-buffer) (tag text-tag) start end)
+  (%text-buffer-apply-tag buffer tag start end))
+
+(defmethod text-buffer-apply-tag ((buffer text-buffer) (name string) start end)
+  (%text-buffer-apply-tag-by-name buffer name start end))
+
+(defgeneric text-buffer-remove-tag (buffer tag start end))
+
+(defmethod text-buffer-remove-tag ((buffer text-buffer) (tag text-tag) start end)
+  (%text-buffer-remove-tag buffer tag start end))
+
+(defmethod text-buffer-remove-tag ((buffer text-buffer) (name string) start end)
+  (%text-buffer-remove-tag-by-name buffer name start end))
+
+(defbinding text-buffer-remove-all-tags () nil
+  (buffer text-buffer)
+  (start text-iter)
+  (end text-iter))
+
+(defun text-buffer-create-tag (buffer name &rest initargs)
+  (text-tag-table-add 
+   (text-buffer-tag-table buffer)
+   (if name
+       (apply #'make-instance 'text-tag :name name initargs)
+     (apply #'make-instance 'text-tag initargs))))
+
+(defbinding text-buffer-get-iter-at-line-offset 
+    (buffer line offset &optional (iter (make-instance 'text-iter))) nil
+  (buffer text-buffer)
+  (iter text-iter :return)
+  (line int)
+  (offset int))
+
+(defbinding text-buffer-get-iter-at-offset 
+    (buffer offset &optional (iter (make-instance 'text-iter))) nil
+  (buffer text-buffer)
+  (iter text-iter :return)
+  ((case offset
+     (:start 0)
+     (:end -1)
+     (t offset)) int))
+
+(defbinding text-buffer-get-iter-at-line 
+    (buffer line &optional (iter (make-instance 'text-iter))) nil
+  (buffer text-buffer)
+  (iter text-iter :return)
+  (line int))
+
+(defbinding text-buffer-get-iter-at-line-index 
+    (buffer line index &optional (iter (make-instance 'text-iter))) nil
+  (buffer text-buffer)
+  (iter text-iter :return)
+  (line int)
+  (index int))
+
+(defbinding text-buffer-get-iter-at-mark 
+    (buffer mark &optional (iter (make-instance 'text-iter))) nil
+  (buffer text-buffer)
+  (iter text-iter :return)
+  (mark text-mark))
+
+(defun text-buffer-get-iter-at-insert (buffer &optional (iter (make-instance 'text-iter)))
+  (text-buffer-get-iter-at-mark buffer (text-buffer-get-insert buffer) iter))
+
+(defbinding text-buffer-get-iter-at-child-anchor 
+    (buffer anchor &optional (iter (make-instance 'text-iter))) nil
+  (buffer text-buffer)
+  (iter text-iter :return)
+  (anchor text-child-anchor))
+
+(defbinding text-buffer-get-bounds 
+    (buffer &optional (start (make-instance 'text-iter))
+     (end (make-instance 'text-iter))) nil
+  (buffer text-buffer)
+  (start text-iter :return)
+  (end text-iter :return))
+
+(defbinding text-buffer-delete-selection () boolean
+  (buffer text-buffer)
+  (interactive boolean)
+  (default-editable boolean))
+
+(defbinding text-buffer-paste-clipboard () nil
+  (buffer text-buffer)
+  (clipboard clipboard)
+  (override-location (or null text-iter))
+  (default-editable boolean))
+
+(defbinding text-buffer-copy-clipboard () nil
+  (buffer text-buffer)
+  (clipboard clipboard))
+
+(defbinding text-buffer-cut-clipboard () nil
+  (buffer text-buffer)
+  (clipboard clipboard)
+  (default-editable boolean))
+
+(defbinding text-buffer-get-selection-bounds 
+    (buffer &optional (start (make-instance 'text-iter))
+     (end (make-instance 'text-iter))) nil
+  (buffer text-buffer)
+  (start text-iter :return)
+  (end text-iter :return))
+
+(defbinding text-buffer-begin-user-action () nil
+  (buffer text-buffer))
+
+(defbinding text-buffer-end-user-action () nil
+  (buffer text-buffer))
+
+(defmacro text-buffer-with-user-action ((buffer) &body body)
+  (let ((bufvar (make-symbol "BUFFER")))
+    `(let ((,bufvar ,buffer))
+       (text-buffer-begin-user-action ,bufvar)
+       (unwind-protect
+          (progn ,@body)
+        (text-buffer-end-user-action ,bufvar)))))
+
+(defbinding text-buffer-add-selection-clipboard () nil
+  (buffer text-buffer)
+  (clipboard clipboard))
+
+(defbinding text-buffer-remove-selection-clipboard () nil
+  (buffer text-buffer)
+  (clipboard clipboard))
+
+
+;;; Text Iter
+
+(defbinding text-iter-get-char () int
+  (iter text-iter))
+
+(defbinding text-iter-get-slice () string
+  (start text-iter)
+  (end text-iter))
+
+(defbinding text-iter-get-text () string
+  (start text-iter)
+  (end text-iter))
+
+(defbinding text-iter-get-visible-slice () string
+  (start text-iter)
+  (end text-iter))
+
+(defbinding text-iter-get-visible-text () string
+  (start text-iter)
+  (end text-iter))
+
+(defbinding text-iter-get-pixbuf () string
+  (iter text-iter))
+
+(defbinding text-iter-get-marks () (gslist text-mark)
+  (iter text-iter))
+
+(defbinding text-iter-get-toggled-tags () (gslist text-tag)
+  (iter text-iter)
+  (toggoled-on boolean))
+
+(defbinding text-iter-get-child-anchor () text-child-anchor
+  (iter text-iter))
+
+(defun %ensure-tag (tag iter)
+  (etypecase tag
+    (text-tag tag)
+    (string 
+     (text-tag-table-lookup 
+      (text-buffer-tag-table (text-iter-buffer iter)) tag))))
+
+(defbinding text-iter-begins-tag-p (iter tag) boolean
+  (iter text-iter)
+  ((%ensure-tag tag iter) text-tag))
+
+(defbinding text-iter-ends-tag-p (iter tag) boolean
+  (iter text-iter)
+  ((%ensure-tag tag iter) text-tag))
+
+(defbinding text-iter-toggles-tag-p (iter tag) boolean
+  (iter text-iter)
+  ((%ensure-tag tag iter) text-tag))
+
+(defbinding text-iter-has-tag-p (iter tag) boolean
+  (iter text-iter)
+  ((%ensure-tag tag iter) text-tag))
+
+(defbinding text-iter-get-tags () (gslist text-tag)
+  (iter text-iter))
+
+(defbinding text-iter-editable-p () boolean
+  (iter text-iter)
+  (default-setting boolean))
+
+(defbinding text-iter-can-insert-p () boolean
+  (iter text-iter)
+  (default-editability boolean))
+
+(defbinding text-iter-starts-word-p () boolean
+  (iter text-iter))
+
+(defbinding text-iter-ends-word-p () boolean
+  (iter text-iter))
+
+(defbinding text-iter-inside-word-p () boolean
+  (iter text-iter))
+
+(defbinding text-iter-starts-line-p () boolean
+  (iter text-iter))
+
+(defbinding text-iter-ends-line-p () boolean
+  (iter text-iter))
+
+(defbinding text-iter-starts-sentence-p () boolean
+  (iter text-iter))
+
+(defbinding text-iter-ends-sentence-p () boolean
+  (iter text-iter))
+
+(defbinding text-iter-inside-sentence-p () boolean
+  (iter text-iter))
+
+(defbinding text-iter-is-cursor-position-p () boolean
+  (iter text-iter))
+
+(defbinding text-iter-get-chars-in-line () int
+  (iter text-iter))
+
+(defbinding text-iter-get-bytes-in-line () int
+  (iter text-iter))
+
+(defbinding text-iter-get-attributes 
+    (iter &optional (values (make-instance 'text-attributes))) boolean
+  (iter text-iter)
+  (values text-attributes :return))
+
+(defbinding text-iter-get-language () pango:language
+  (iter text-iter))
+
+(defbinding text-iter-is-end-p () boolean
+  (iter text-iter))
+
+(defbinding text-iter-is-start-p () boolean
+  (iter text-iter))
+
+(defbinding text-iter-forward-char () boolean
+  (iter text-iter))
+
+(defbinding text-iter-backward-char () boolean
+  (iter text-iter))
+
+(defbinding text-iter-forward-chars () boolean
+  (iter text-iter)
+  (count int))
+
+(defbinding text-iter-backward-chars () boolean
+  (iter text-iter)
+  (count int))
+
+(defbinding text-iter-forward-line () boolean
+  (iter text-iter))
+
+(defbinding text-iter-backward-line () boolean
+  (iter text-iter))
+
+(defbinding text-iter-forward-lines () boolean
+  (iter text-iter)
+  (count int))
+
+(defbinding text-iter-backward-lines () boolean
+  (iter text-iter)
+  (count int))
+
+(defbinding text-iter-forward-word-ends () boolean
+  (iter text-iter)
+  (count int))
+
+(defbinding text-iter-backward-word-starts () boolean
+  (iter text-iter)
+  (count int))
+
+(defbinding text-iter-forward-word-end () boolean
+  (iter text-iter))
+
+(defbinding text-iter-backward-word-start () boolean
+  (iter text-iter))
+
+(defbinding text-iter-forward-cursor-position () boolean
+  (iter text-iter))
+
+(defbinding text-iter-backward-cursor-position () boolean
+  (iter text-iter))
+
+(defbinding text-iter-forward-cursor-positions () boolean
+  (iter text-iter)
+  (count int))
+
+(defbinding text-iter-backward-cursor-positions () boolean
+  (iter text-iter)
+  (count int))
+
+(defbinding text-iter-backward-sentence-start () boolean
+  (iter text-iter))
+
+(defbinding text-iter-backward-sentence-starts () boolean
+  (iter text-iter)
+  (count int))
+
+(defbinding text-iter-forward-sentence-end () boolean
+  (iter text-iter))
+
+(defbinding text-iter-forward-sentence-ends () boolean
+  (iter text-iter)
+  (count int))
+
+(defbinding text-iter-forward-visible-word-ends () boolean
+  (iter text-iter)
+  (count int))
+
+(defbinding text-iter-backward-visible-word-starts () boolean
+  (iter text-iter)
+  (count int))
+
+(defbinding text-iter-forward-visible-word-end () boolean
+  (iter text-iter))
+
+(defbinding text-iter-backward-visible-word-start () boolean
+  (iter text-iter))
+
+(defbinding text-iter-forward-visible-cursor-position () boolean
+  (iter text-iter))
+
+(defbinding text-iter-backward-visible-cursor-position () boolean
+  (iter text-iter))
+
+(defbinding text-iter-forward-visible-cursor-positions () boolean
+  (iter text-iter)
+  (count int))
+
+(defbinding text-iter-backward-visible-cursor-positions () boolean
+  (iter text-iter)
+  (count int))
+
+(defbinding text-iter-forward-to-end () nil
+  (iter text-iter))
+
+(defbinding text-iter-forward-to-line-end () boolean
+  (iter text-iter))
+
+(defbinding text-iter-forward-to-tag-toggle (iter tag) boolean
+  (iter text-iter)
+  ((%ensure-tag tag iter) text-tag))
+
+(defbinding text-iter-backward-to-tag-toggle (iter tag) boolean
+  (iter text-iter)
+  ((%ensure-tag tag iter) text-tag))
+
+(def-callback-marshal %text-char-prediacte (boolean int))
+
+(defbinding text-iter-forward-find-char (iter predicate &optional limit) boolean
+  (iter text-iter)
+  ((callback %text-char-redicate) pointer)
+  ((register-callback-function predicate) unsigned-int)
+  (limit (or null text-iter)))
+
+(defbinding text-iter-backward-find-char (iter predicate &optional limit) boolean
+  (iter text-iter)
+  ((callback %text-char-redicate) pointer)
+  ((register-callback-function predicate) unsigned-int)
+  (limit (or null text-iter)))
+
+(defbinding text-iter-forward-search 
+    (iter text &optional flags limit (match-start (make-instance 'text-iter))
+     (match-end (make-instance 'text-iter))) boolean
+  (iter text-iter)
+  (text string)
+  (flags text-search-flags)
+  (match-start text-iter :return)
+  (match-end text-iter :return)
+  (limit (or null text-iter)))
+
+(defbinding text-iter-backward-search 
+    (iter text &optional flags limit (match-start (make-instance 'text-iter))
+     (match-end (make-instance 'text-iter))) boolean
+  (iter text-iter)
+  (text string)
+  (flags text-search-flags)
+  (match-start text-iter :return)
+  (match-end text-iter :return)
+  (limit (or null text-iter)))
+
+(defbinding text-iter-equal-p () boolean
+  (lhs text-iter)
+  (rhs text-iter))
+
+(defbinding text-iter-compare () int
+  (lhs text-iter)
+  (rhs text-iter))
+
+(defbinding text-iter-in-range-p () boolean
+  (iter text-iter)
+  (start text-iter)
+  (end text-iter))
+
+(defbinding text-iter-order () nil
+  (first text-iter)
+  (second text-iter))
+
+
+;;; Text Tag Table
+
+(defbinding text-tag-table-add () nil
+  (table text-tag-table)
+  (tag text-tag))
+
+(defbinding text-tag-table-remove () nil
+  (table text-tag-table)
+  (tag text-tag))
+
+(defbinding text-tag-table-lookup () text-tag
+  (table text-tag-table)
+  (name string))
+
+(def-callback-marshal %text-tag-table-foreach (nil text-tag))
+
+(defbinding text-tag-table-foreach (table function) nil
+  (table text-tag-table)
+  ((callback %text-tag-table-foreach) pointer)
+  ((register-callback-function function) unsigned-int))
+
+;; (defbinding text-tag-event () boolean
+;;   (tag text-tag)
+;;   (event-object object)
+;;   (event gdk:event)
+;;   (iter text-iter))
+
+
 ;;; Text View
 
 (defbinding text-view-scroll-to-mark () nil
index 7864a12021fac625916da1622c1861741ff49cb1..349188a43f10e0a2523e363a97599337e2a32e46 100644 (file)
@@ -15,7 +15,7 @@
 ;; License along with this library; if not, write to the Free Software
 ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-;; $Id: gtktree.lisp,v 1.3 2004-11-21 17:57:56 espen Exp $
+;; $Id: gtktree.lisp,v 1.4 2004-12-17 00:36:32 espen Exp $
 
 
 (in-package "GTK")
@@ -292,7 +292,7 @@ (defbinding (tree-row-reference-valid-p "gtk_tree_row_reference_valid") () boole
   (reference tree-row-reference))
 
 
-(defbinding tree-model-get-column-type () type-number
+(defbinding tree-model-get-column-type () gtype ;type-number
   (tree-model tree-model)
   (index int))
 
@@ -312,7 +312,7 @@ (defbinding %tree-model-get-value () nil
   (column int)
   (gvalue gvalue))
 
-(defun tree-model-get-column-value (model iter column)
+(defun tree-model-column-value (model iter column)
   (let ((index (column-index model column)))
     (with-gvalue (gvalue (tree-model-get-column-type model index))
       (%tree-model-get-value model iter index gvalue))))
@@ -418,7 +418,8 @@ (defun tree-model-column-value-setter (model column)
       (let ((setter 
             (mkbinding (column-setter-name model)
              nil (type-of model) 'tree-iter 'int
-             (type-from-number (tree-model-get-column-type model index))
+;            (type-from-number (tree-model-get-column-type model index))
+             (tree-model-get-column-type model index)
              'int)))
        #'(lambda (value iter)
            (funcall setter model iter index value -1))))))))