Use new GBoxed in GDK and GTK
[cl-gtk2.git] / gtk / gtk.window.lisp
1 (in-package :gtk)
2
3 (defcfun (window-add-accel-group "gtk_window_add_accel_group") :void
4   (window (g-object gtk-window))
5   (accel-group (g-object accel-group)))
6
7 (export 'window-add-accel-group)
8
9 (defcfun (window-remove-accel-group "gtk_window_remove_accel_group") :void
10   (window (g-object gtk-window))
11   (accel-group (g-object accel-group)))
12
13 (export 'window-remove-accel-group)
14
15 (defcfun (window-activate-focus "gtk_window_activate_focus") :boolean
16   (window (g-object gtk-window)))
17
18 (export 'window-activate-focus)
19
20 (defcfun (window-activate-default "gtk_window_activate_default") :boolean
21   (window (g-object gtk-window)))
22
23 (export 'window-activate-default)
24
25 (defcfun (window-set-geometry-hints "gtk_window_set_geometry_hints") :void
26   (window (g-object gtk-window))
27   (geometry-widget (g-object widget))
28   (geometry (g-boxed-foreign geometry))
29   (geometry-mask window-hints))
30
31 (export 'window-set-geometry-hints)
32
33 (defcfun (window-list-toplevels "gtk_window_list_toplevels") (glist (g-object gtk-window) :free-from-foreign t))
34
35 (export 'window-list-toplevels)
36
37 (defcfun (window-add-mnemonic "gtk_window_add_mnemonic") :void
38   (window (g-object gtk-window))
39   (keyval :uint)
40   (target (g-object widget)))
41
42 (export 'window-add-mnemonic)
43
44 (defcfun (window-remove-mnemonic "gtk_window_remove_mnemonic") :void
45   (window (g-object gtk-window))
46   (keyval :uint)
47   (target (g-object widget)))
48
49 (export 'window-remove-mnemonic)
50
51 (defcfun (window-activate-mnemonic "gtk_window_mnemonic_activate") :boolean
52   (window (g-object gtk-window))
53   (keyval :uint)
54   (modifier modifier-type))
55
56 (export 'window-activate-mnemonic)
57
58 (defcfun (window-activate-key "gtk_window_activate_key") :boolean
59   (window (g-object gtk-window))
60   (event (g-boxed-foreign event)))
61
62 (export 'window-activate-key)
63
64 (defcfun (window-propagate-key-event "gtk_window_propagate_key_event") :boolean
65   (window (g-object gtk-window))
66   (event (g-boxed-foreign event)))
67
68 (export 'window-propagate-key-event)
69
70 (defcfun (window-focus "gtk_window_get_focus") (g-object widget)
71   (window (g-object gtk-window)))
72
73 (defcfun (window-set-focus "gtk_window_set_focus") :void
74   (window (g-object gtk-window))
75   (focus (g-object widget)))
76
77 (defun (setf window-focus) (focus window)
78   (window-set-focus window focus)
79   focus)
80
81 (export 'window-focus)
82
83 (defcfun (window-default-widget "gtk_window_get_default_widget") (g-object widget)
84   (window (g-object gtk-window)))
85
86 (defcfun (window-set-default-widget "gtk_window_set_default") :void
87   (window (g-object gtk-window))
88   (default-widget (g-object widget)))
89
90 (defun (setf window-default-widget) (default-widget window)
91   (window-set-default-widget window default-widget)
92   default-widget)
93
94 (export 'window-default-widget)
95
96 (defcfun (present-window "gtk_window_present") :void
97   (window (g-object gtk-window)))
98
99 (export 'present-window)
100
101 (defcfun (present-window-with-time "gtk_window_present_with_time") :void
102   (window (g-object gtk-window))
103   (timestamp :uint32))
104
105 (export 'present-window-with-time)
106
107 (defcfun (iconify-window "gtk_window_iconify") :void
108   (window (g-object gtk-window)))
109
110 (export 'iconify-window)
111
112 (defcfun (deiconify-window "gtk_window_deiconify") :void
113   (window (g-object gtk-window)))
114
115 (export 'deiconify-window)
116
117 (defcfun (stick-window "gtk_window_stick") :void
118   (window (g-object gtk-window)))
119
120 (export 'stick-window)
121
122 (defcfun (unstick-window "gtk_window_unstick") :void
123   (window (g-object gtk-window)))
124
125 (export 'unstick-window)
126
127 (defcfun (maximize-window "gtk_window_maximize") :void
128   (window (g-object gtk-window)))
129
130 (export 'maximize-window)
131
132 (defcfun (unmaximize-window "gtk_window_unmaximize") :void
133   (window (g-object gtk-window)))
134
135 (export 'unmaximize-window)
136
137 (defcfun (fullscreen-window "gtk_window_fullscreen") :void
138   (window (g-object gtk-window)))
139
140 (export 'fullscreen-window)
141
142 (defcfun (unfullscreen-window "gtk_window_unfullscreen") :void
143   (window (g-object gtk-window)))
144
145 (export 'unfullscreen-window)
146
147 (defcfun (window-set-keep-above "gtk_window_set_keep_above") :void
148   (window (g-object gtk-window))
149   (setting :boolean))
150
151 (export 'window-set-keep-above)
152
153 (defcfun (window-set-keep-below "gtk_window_set_keep_below") :void
154   (window (g-object gtk-window))
155   (setting :boolean))
156
157 (export 'window-set-keep-below)
158
159 (defcfun (window-begin-resize-drag "gtk_window_begin_resize_drag") :void
160   (window (g-object gtk-window))
161   (edge window-edge)
162   (button :int)
163   (root-x :int)
164   (root-y :int)
165   (timestamp :uint32))
166
167 (export 'window-begin-resize-drag)
168
169 (defcfun (window-begin-move-drag "gtk_window_begin_move_drag") :void
170   (window (g-object gtk-window))
171   (button :int)
172   (root-x :int)
173   (root-y :int)
174   (timestamp :uint32))
175
176 (export 'window-begin-move-drag)
177
178 (defcfun (window-set-frame-dimensions "gtk_window_set_frame_dimensions") :void
179   (window (g-object gtk-window))
180   (left :int)
181   (top :int)
182   (right :int)
183   (bottom :int))
184
185 (export 'window-set-frame-dimensions)
186
187 (defcfun (window-set-has-frame "gtk_window_set_has_frame") :void
188   (window (g-object gtk-window))
189   (setting :boolean))
190
191 (export 'window-set-has-frame)
192
193 (defcfun (window-set-mnemonic-modifier "gtk_window_set_mnemonic_modifier") :void
194   (window (g-object gtk-window))
195   (modifier modifier-type))
196
197 (export 'window-set-mnemonic-modifier)
198
199 (defcfun (window-icon-list "gtk_window_get_icon_list") (glist pixbuf :free-from-foreign t)
200   (window (g-object gtk-window)))
201
202 (defcfun (window-set-icon-list "gtk_window_set_icon_list") :void
203   (window (g-object gtk-window))
204   (icons (glist pixbuf :free-to-foreign t)))
205
206 (defun (setf window-icon-list) (icon-list window)
207   (window-set-icon-list window icon-list))
208
209 (export 'window-icon-list)
210
211 (defcfun (%window-get-position "gtk_window_get_position") :void
212   (window (g-object gtk-window))
213   (root-x (:pointer :int))
214   (root-y (:pointer :int)))
215
216 (defun window-get-position (window)
217   (with-foreign-objects ((x :int)
218                          (y :int))
219     (%window-get-position window x y)
220     (values (mem-ref x :int) (mem-ref y :int))))
221
222 (export 'window-get-position)
223
224 (defcfun (%window-get-size "gtk_window_get_size") :void
225   (window (g-object gtk-window))
226   (width (:pointer :int))
227   (height (:pointer :int)))
228
229 (defun window-size (window)
230   (with-foreign-objects ((width :int)
231                          (height :int))
232     (%window-get-size window width height)
233     (values (mem-ref width :int) (mem-ref height :int))))
234
235 (export 'window-size)
236
237 (defcfun (window-group "gtk_window_get_group") (g-object window-group)
238   (window (g-object gtk-window)))
239
240 (export 'window-group)
241
242 (defcfun (move-window "gtk_window_move") :void
243   (window (g-object gtk-window))
244   (x :int)
245   (y :int))
246
247 (export 'move-window)
248
249 (defcfun (window-parse-geometry "gtk_window_parse_geometry") :boolean
250   (window (g-object gtk-window))
251   (geometry-string :string))
252
253 (export 'window-parse-geometry)
254
255 (defcfun (reshow-window-with-initial-size "gtk_window_reshow_with_initial_size") :void
256   (window (g-object gtk-window)))
257
258 (export 'reshow-window-with-initial-size)
259
260 (defcfun (resize-window "gtk_window_resize") :void
261   (window (g-object gtk-window))
262   (width :int)
263   (height :int))
264
265 (export 'resize-window)
266
267 (defcfun (default-window-icon-list "gtk_window_get_default_icon_list") (glist pixbuf))
268
269 (defcfun (set-default-window-icon-list "gtk_window_set_default_icon_list") :boolean
270   (icon-list (glist pixbuf)))
271
272 (defun (setf default-window-icon-list) (icon-list)
273   (set-default-window-icon-list icon-list)
274   icon-list)
275
276 (export 'default-window-icon-list)
277
278 (defcfun (set-default-window-icon "gtk_window_set_default_icon") :void
279   (icon (g-object pixbuf)))
280
281 (defcfun (set-default-window-icon-name "gtk_window_set_default_icon_name") :void
282   (icon-name :string))
283
284 (defun (setf default-window-icon) (icon)
285   (etypecase icon
286     (pixbuf (set-default-window-icon icon))
287     (string (set-default-window-icon-name icon))))
288
289 (export 'default-window-icon)
290
291 (defcfun (set-window-auto-startup-notification "gtk_window_set_auto_startup_notification") :void
292   (setting :boolean))
293
294 (export 'set-window-auto-startup-notification)
295
296 (defcfun (window-group-add-window "gtk_window_group_add_window") :void
297   (window-group (g-object window-group))
298   (window (g-object gtk-window)))
299
300 (export 'window-group-add-window)
301
302 (defcfun (window-group-remove-window "gtk_window_group_remove_window") :void
303   (window-group (g-object window-group))
304   (window (g-object gtk-window)))
305
306 (export 'window-group-remove-window)
307
308 (defcfun (window-group-list-windows "gtk_window_group_list_windows") (glist gtk-window)
309   (window-group (g-object window-group)))
310
311 (export 'window-group-list-windows)