Typo.
[cl-gtk2.git] / gtk / gtk.entry.lisp
1 (in-package :gtk)
2
3 ;; GtkEntry
4
5 (defcfun gtk-entry-get-layout-offsets :void
6   (entry (g-object entry))
7   (x (:pointer :int))
8   (y (:pointer :int)))
9
10 (defun gtk-entry-layout-offset (entry)
11   (with-foreign-objects ((x :int) (y :int))
12     (gtk-entry-get-layout-offsets entry x y)
13     (list (mem-ref x :int) (mem-ref y :int))))
14
15 (defcfun (entry-layout-index-to-text-index "gtk_entry_layout_index_to_text_index") :int
16   (entry (g-object entry))
17   (layout-index :int))
18
19 (export 'entry-layout-index-to-text-index)
20
21 (defcfun (entry-text-index-to-layout-index "gtk_entry_text_index_to_layout_index") :int
22   (entry (g-object entry))
23   (text-index :int))
24
25 (export 'entry-text-index-to-layout-info)
26
27 (defcfun (entry-icon-at-pos "gtk_entry_get_icon_at_pos") :int
28   (entry (g-object entry))
29   (x :int)
30   (y :int))
31
32 (export 'entry-icon-at-pos)
33
34 (defcfun (entry-progress-pulse "gtk_entry_progress_pulse") :void
35   (entry (g-object entry)))
36
37 (export 'entry-progress-pulse)
38
39 ;; GtkEditable
40
41 (defcfun (editable-select-region "gtk_editable_select_region") :void
42   (editable (g-object editable))
43   (start :int)
44   (end :int))
45
46 (export 'editable-select-region)
47
48 (defcfun gtk-editable-get-selection-bounds :boolean
49   (editable (g-object editable))
50   (start (:pointer :int))
51   (end (:pointer :int)))
52
53 (defun editable-selection (editable)
54   (with-foreign-objects ((start :int) (end :int))
55     (let ((selected-p (gtk-editable-get-selection-bounds editable start end)))
56       (values selected-p (mem-ref start :int) (mem-ref end :int)))))
57
58 (export 'editable-selection)
59
60 (defcfun gtk-editable-insert-text :void
61   (editable (g-object editable))
62   (new-text :string)
63   (new-text-length :int)
64   (position (:pointer :int)))
65
66 (defun editable-insert-text (editable text position)
67   (with-foreign-object (pos :int)
68     (setf (mem-ref pos :int) position)
69     (gtk-editable-insert-text editable text (length text) pos)
70     (mem-ref pos :int)))
71
72 (export 'editable-insert-text)
73
74 (defcfun gtk-editable-delete-text :void
75   (editable (g-object editable))
76   (start-pos :int)
77   (end-pos :int))
78
79 (defun editable-delete-text (editable &key start-pos end-pos)
80   (gtk-editable-delete-text editable (or start-pos -1) (or end-pos -1)))
81
82 (export 'editable-delete-text)
83
84 (defcfun gtk-editable-get-chars g-string
85   (editable (g-object editable))
86   (start-pos :int)
87   (end-pos :int))
88
89 (defun editable-get-chars (editable &key (start 0) (end -1))
90   (gtk-editable-get-chars editable start end))
91
92 (export 'editable-get-chars)
93
94 (defcfun (editable-cut-clipboard "gtk_editable_cut_clipboard") :void
95   (editable (g-object editable)))
96
97 (export 'editable-cut-clipboard)
98
99 (defcfun (editable-copy-clipboard "gtk_editable_copy_clipboard") :void
100   (editable (g-object editable)))
101
102 (export 'editable-copy-clipboard)
103
104 (defcfun (editable-paste-clipboard "gtk_editable_paste_clipboard") :void
105   (editable (g-object editable)))
106
107 (export 'editable-paste-clipboard)
108
109 (defcfun (editable-delete-selection "gtk_editable_delete_selection") :void
110   (editable (g-object editable)))
111
112 (export 'editable-delete-selection)
113
114 ;; GtkEntryCompletion
115
116 (define-cb-methods entry-completion-match-func :boolean
117   ((completion (g-object entry-completion))
118    (key :string)
119    (iter (g-boxed-foreign tree-iter))))
120
121 (defcfun (%gtk-entry-completion-set-match-func "gtk_entry_completion_set_match_func") :void
122   (completion (g-object entry-completion))
123   (func :pointer)
124   (data :pointer)
125   (destroy-notify :pointer))
126
127 (defun gtk-entry-completion-set-match-func (completion function)
128   (if function
129       (%gtk-entry-completion-set-match-func completion
130                                             (callback entry-completion-match-func-cb)
131                                             (create-fn-ref completion function)
132                                             (callback entry-completion-match-func-destroy-notify))
133       (%gtk-entry-completion-set-match-func completion
134                                             (null-pointer)
135                                             (null-pointer)
136                                             (null-pointer))))
137
138 (defcfun (entry-completion-complete "gtk_entry_completion_complete") :void
139   (completion (g-object entry-completion)))
140
141 (export 'entry-completion-complete)
142
143 (defcfun (entry-completion-completion-prefix "gtk_entry_completion_get_completion_prefix") (:string :free-from-foreign t)
144   (completion (g-object entry-completion)))
145
146 (export 'entry-completion-completion-prefix)
147
148 (defcfun (entry-completion-insert-prefix "gtk_entry_completion_insert_prefix") :void
149   (completion (g-object entry-completion)))
150
151 (export 'entry-completion-completion-prefix)
152
153 (defcfun (entry-completion-insert-action-text "gtk_entry_completion_insert_action_text") :void
154   (completion (g-object entry-completion))
155   (index :int)
156   (text :string))
157
158 (export 'entry-completion-insert-action-text)
159
160 (defcfun (entry-completion-insert-action-markup "gtk_entry_completion_insert_action_markup") :void
161   (completion (g-object entry-completion))
162   (index :int)
163   (markup :string))
164
165 (export 'entry-completion-insert-action-markup)
166
167 (defcfun (entry-completion-delete-action "gtk_entry_completion_delete_action") :void
168   (completion (g-object entry-completion))
169   (index :int))
170
171 (export 'entry-completion-delete-action)