Initial commit
[cl-gtk2.git] / gtk / gtk.entry.lisp
1 (in-package :gtk)
2
3 ;; GtkEntry
4
5 (defcfun (entry-layout "gtk_entry_get_layout") g-object ;;PangoLayout
6   (entry (g-object entry)))
7
8 (export 'entry-layout)
9
10 (defcfun gtk-entry-get-layout-offsets :void
11   (entry (g-object entry))
12   (x (:pointer :int))
13   (y (:pointer :int)))
14
15 (defun entry-layout-offset (entry)
16   (with-foreign-objects ((x :int) (y :int))
17     (gtk-entry-get-layout-offsets entry x y)
18     (values (mem-ref x :int) (mem-ref y :int))))
19
20 (export 'entry-layout-offset)
21
22 (defcfun (entry-layout-index-to-text-index "gtk_entry_layout_index_to_text_index") :int
23   (entry (g-object entry))
24   (layout-index :int))
25
26 (defcfun (entry-text-index-to-layout-index "gtk_entry_text_index_to_layout_index") :int
27   (entry (g-object entry))
28   (text-index :int))
29
30 (defcfun gtk-entry-set-completion :void
31   (entry (g-object entry))
32   (completion (g-object entry-completion)))
33
34 (defcfun gtk-entry-get-completion (g-object entry-completion)
35   (entry (g-object entry)))
36
37 (defun entry-completion (entry)
38   (gtk-entry-get-completion entry))
39
40 (defun (setf entry-completion) (completion entry)
41   (gtk-entry-set-completion entry completion))
42
43 (export 'entry-completion)
44
45 (defcfun gtk-entry-set-cursor-hadjustment :void
46   (entry (g-object entry))
47   (adjustment (g-object adjustment)))
48
49 (defcfun (entry-cursor-hadjustment "gtk_entry_get_cursor_hadjustment") (g-object adjustment)
50   (entry (g-object entry)))
51
52 (defun (setf entry-cursor-hadjustment) (adjustment entry)
53   (gtk-entry-set-cursor-hadjustment entry adjustment))
54
55 (export 'entry-cursor-hadjustment)
56
57 ;; GtkEditable
58
59 (defcfun (editable-select-region "gtk_editable_select_region") :void
60   (editable (g-object editable))
61   (start :int)
62   (end :int))
63
64 (export 'editable-select-region)
65
66 (defcfun gtk-editable-get-selection-bounds :boolean
67   (editable (g-object editable))
68   (start (:pointer :int))
69   (end (:pointer :int)))
70
71 (defun editable-selection (editable)
72   (with-foreign-objects ((start :int) (end :int))
73     (let ((selected-p (gtk-editable-get-selection-bounds editable start end)))
74       (values selected-p (mem-ref start :int) (mem-ref end :int)))))
75
76 (export 'editable-selection)
77
78 (defcfun gtk-editable-insert-text :void
79   (editable (g-object editable))
80   (new-text :string)
81   (new-text-length :int)
82   (position (:pointer :int)))
83
84 (defun editable-insert-text (editable text position)
85   (with-foreign-object (pos :int)
86     (setf (mem-ref pos :int) position)
87     (gtk-editable-insert-text editable text (length text) pos)
88     (mem-ref pos :int)))
89
90 (export 'editable-insert-text)
91
92 (defcfun gtk-editable-delete-text :void
93   (editable (g-object editable))
94   (start-pos :int)
95   (end-pos :int))
96
97 (defun editable-delete-text (editable &key start-pos end-pos)
98   (gtk-editable-delete-text editable (or start-pos -1) (or end-pos -1)))
99
100 (export 'editable-delete-text)
101
102 (defcfun gtk-editable-get-chars g-string
103   (editable (g-object editable))
104   (start-pos :int)
105   (end-pos :int))
106
107 (defun editable-get-chars (editable &key (start -1) (end -1))
108   (gtk-editable-get-chars editable start end))
109
110 (export 'editable-get-chars)
111
112 (defcfun (editable-cut-clipboard "gtk_editable_cut_clipboard") :void
113   (editable (g-object editable)))
114
115 (export 'editable-cut-clipboard)
116
117 (defcfun (editable-copy-clipboard "gtk_editable_copy_clipboard") :void
118   (editable (g-object editable)))
119
120 (export 'editable-copy-clipboard)
121
122 (defcfun (editable-paste-clipboard "gtk_editable_paste_clipboard") :void
123   (editable (g-object editable)))
124
125 (export 'editable-paste-clipboard)
126
127 (defcfun (editable-delete-selection "gtk_editable_delete_selection") :void
128   (editable (g-object editable)))
129
130 (export 'editable-delete-selection)
131
132 (defcfun (editable-position "gtk_editable_get_position") :int
133   (editable (g-object editable)))
134
135 (defcfun gtk-editable-set-position :void
136   (editable (g-object editable))
137   (pos :int))
138
139 (defun (setf editable-position) (position editable)
140   (gtk-editable-set-position editable position))
141
142 (export 'editable-position)
143
144 (defcfun (editable-editable "gtk_editable_get_editable") :boolean
145   (editable (g-object editable)))
146
147 (defcfun gtk-editable-set-editable :void
148   (editable (g-object editable))
149   (is-editable :boolean))
150
151 (defun (setf editable-editable) (is-editable editable)
152   (gtk-editable-set-editable editable is-editable))
153
154 (export 'editable-editable)