chiark / gitweb /
Initial revision
[clg] / gtk / gtktypes.lisp
CommitLineData
560af5c5 1;; Common Lisp bindings for GTK+ v2.0.x
2;; Copyright (C) 1999-2000 Espen S. Johnsen <espejohn@online.no>
3;;
4;; This library is free software; you can redistribute it and/or
5;; modify it under the terms of the GNU Lesser General Public
6;; License as published by the Free Software Foundation; either
7;; version 2 of the License, or (at your option) any later version.
8;;
9;; This library is distributed in the hope that it will be useful,
10;; but WITHOUT ANY WARRANTY; without even the implied warranty of
11;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12;; Lesser General Public License for more details.
13;;
14;; You should have received a copy of the GNU Lesser General Public
15;; License along with this library; if not, write to the Free Software
16;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
18;; $Id: gtktypes.lisp,v 1.1 2000-08-14 16:44:59 espen Exp $
19
20
21
22(in-package "GTK")
23
24
25; (deftype color-type
26; (enum
27; :foreground
28; :background
29; :light
30; :dark
31; :mid
32; :text
33; :base
34; :white
35; :black))
36
37
38(defclass style (gobject)
39 ()
40 (:metaclass gobject-class)
41 (:alien-name "GtkStyle"))
42
43; (define-boxed accel-group :c-name "GtkAccelGroup")
44
45
46(deftype (accel-group "GtkAccelGroup") () 'pointer)
47
48(deftype accel-entry () 'pointer)
49(deftype radio-button-group () 'pointer)
50(deftype radio-menu-item-group () 'pointer)
51; (define-boxed ctree-node :c-name "GtkCTreeNode")
52
53
54(defclass data (object)
55 ()
56 (:metaclass object-class)
57 (:alien-name "GtkData"))
58
59
60(defclass adjustment (data)
61 ((lower
62 :allocation :alien
63 :accessor adjustment-lower
64 :initarg :lower
65 :type single-float)
66 (upper
67 :allocation :alien
68 :accessor adjustment-upper
69 :initarg :upper
70 :type single-float)
71 (value
72 :allocation :alien
73 :accessor adjustment-value
74 :initarg :value
75 :type single-float)
76 (step-increment
77 :allocation :alien
78 :accessor adjustment-step-increment
79 :initarg :step-increment
80 :type single-float)
81 (page-increment
82 :allocation :alien
83 :accessor adjustment-page-increment
84 :initarg :page-increment
85 :type single-float)
86 (page-size
87 :allocation :alien
88 :accessor adjustment-page-size
89 :initarg :page-size
90 :type single-float))
91 (:metaclass object-class)
92 (:alien-name "GtkAdjustment"))
93
94
95; (define-class tooltips data
96; :slots
97; ;; slots not accessible through the arg mechanism
98; ((delay :type unsigned-int)))
99
100
101;; Forward declaration, the real definition is in gtkwidget.lisp
102(defclass widget (object)
103 ()
104 (:metaclass object-class)
105 (:alien-name "GtkWidget"))
106
107
108(defclass misc (widget)
109 ((xalign
110 :allocation :arg
111 :accessor misc-xalign
112 :initarg :xalign
113 :type single-float)
114 (yalign
115 :allocation :arg
116 :accessor misc-yalign
117 :initarg :yalign
118 :type single-float)
119 (xpad
120 :allocation :arg
121 :accessor misc-xpad
122 :initarg :xpad
123 :type int)
124 (ypad
125 :allocation :arg
126 :accessor misc-ypad
127 :initarg :ypad
128 :type int))
129 (:metaclass widget-class)
130 (:alien-name "GtkMisc"))
131
132
133(defclass label (misc)
134 ((label
135 :allocation :arg
136 :accessor label-label
137 :initarg :label
138 :type string)
139 (pattern
140 :allocation :arg
141 :accessor label-pattern
142 :initarg :pattern
143 :type string)
144 (justify
145 :allocation :arg
146 :accessor label-justify
147 :initarg :justify
148 :type justification)
149 (wrap
150 :allocation :arg
151 :accessor label-line-wrap-p
152 :initarg :wrap
153 :type boolean))
154 (:metaclass widget-class)
155 (:alien-name "GtkLabel"))
156
157
158(defclass accel-label (label)
159 ((widget
160 :allocation :arg
161 :location "GtkAccelLabel::accel_widget"
162 :accessor accel-widget
163 :initarg :widget
164 :type widget)
165 (width
166 :allocation :virtual
167 :location "gtk_accel_label_get_accel_width"
168 :reader width
169 :type unsigned-int))
170 (:metaclass widget-class)
171 (:alien-name "GtkAccelLabel"))
172
173
174(defclass tips-query (label)
175 ((emit-always
176 :allocation :arg
177 :accessor tips-query-emit-always-p
178 :initarg :emit-always
179 :type boolean)
180 (caller
181 :allocation :arg
182 :accessor tips-query-caller
183 :initarg :caller
184 :type widget)
185 (label-inactive
186 :allocation :arg
187 :accessor tips-query-label-inactive
188 :initarg :label-inactive
189 :type string)
190 (label-no-tip
191 :allocation :arg
192 :accessor tips-query-label-no-tip
193 :initarg :label-no-tip
194 :type string))
195 (:metaclass widget-class)
196 (:alien-name "GtkTipsQuery"))
197
198
199(defclass arrow (misc)
200 ((arrow-type
201 :allocation :arg
202 :accessor arrow-arrow-type
203 :initarg :arrow-type
204 :type arrow-type)
205 (shadow-type
206 :allocation :arg
207 :accessor arrow-shadow-type
208 :initarg :shadow-type
209 :type shadow-type))
210 (:metaclass widget-class)
211 (:alien-name "GtkArrow"))
212
213
214(defclass image (misc)
215 ()
216 (:metaclass widget-class)
217 (:alien-name "GtkImage"))
218
219
220(defclass pixmap (misc)
221 ()
222 (:metaclass widget-class)
223 (:alien-name "GtkPixmap"))
224
225
226;; Forward declaration, the real definition is in gtkcontainer.lisp
227(defclass container (widget)
228 ()
229 (:metaclass widget-class)
230 (:alien-name "GtkContainer"))
231
232(defclass container-child ()
233 ((parent
234 :initarg :parent
235 :type container)
236 (child
237 :initarg :child
238 :type widget)))
239
240
241(defclass bin (container)
242 ((child
243 :allocation :virtual
244 :location bin-child
245 :initarg :child
246 :type widget))
247 (:metaclass container-class)
248 (:alien-name "GtkBin"))
249
250(defclass bin-child (container-child))
251
252
253(defclass alignment (bin)
254 ((xalign
255 :allocation :arg
256 :accessor alignment-xalign
257 :initarg :xalign
258 :type single-float)
259 (yalign
260 :allocation :arg
261 :accessor alignment-yalign
262 :initarg :yalign
263 :type single-float)
264 (xscale
265 :allocation :arg
266 :accessor alignment-xscale
267 :initarg :xscale
268 :type single-float)
269 (yscale
270 :allocation :arg
271 :accessor alignment-yscale
272 :initarg :yscale
273 :type single-float))
274 (:metaclass container-class)
275 (:alien-name "GtkAlignment"))
276
277(defclass alignment-child (bin-child))
278
279
280(defclass frame (bin)
281 ((label
282 :allocation :arg
283 :accessor frame-label
284 :initarg :label
285 :type string)
286 (label-xalign
287 :allocation :arg
288 :accessor frame-label-xalign
289 :initarg :label-xalign
290 :type single-float)
291 (label-yalign
292 :allocation :arg
293 :accessor frame-label-yalign
294 :initarg :label-yalign
295 :type single-float)
296 (shadow-type
297 :allocation :arg
298 :location "GtkFrame::shadow"
299 :accessor frame-shadow-type
300 :initarg :shadow-type
301 :type shadow-type))
302 (:metaclass container-class)
303 (:alien-name "GtkFrame"))
304
305(defclass frame-child (bin-child))
306
307
308; (defclass aspect-frame (frame)
309; ((xalign
310; :allocation :arg
311; :accessor aspect-frame-xalign
312; :initarg :xalign
313; :type single-float)
314; (yalign
315; :allocation :arg
316; :accessor aspect-frame-yalign
317; :initarg :yalign
318; :type single-float)
319; (ratio
320; :allocation :arg
321; :accessor aspect-frame-ratio
322; :initarg :ratio
323; :type single-float)
324; (obey-child
325; :allocation :arg
326; :accessor aspect-frame-obey-child-p
327; :initarg :obey-child
328; :type boolean))
329; (:metaclass container-class)
330; (:alien-name "GtkAspectFrame"))
331
332; (defclass aspect-frame-child (aspect-child))
333
334
335(defclass button (bin)
336 ((label
337 :allocation :arg
338 :accessor button-label
339 :initarg :label
340 :type string)
341 (relief
342 :allocation :arg
343 :accessor button-relief
344 :initarg :relief
345 :type relief-style))
346 (:metaclass container-class)
347 (:alien-name "GtkButton"))
348
349(defclass button-child (bin-child))
350
351
352(defclass toggle-button (button)
353 ((active
354 :allocation :arg
355 :accessor toggle-button-active-p
356 :initarg :active
357 :type boolean)
358 (draw-indicator
359 :allocation :arg
360 :accessor toggle-button-draw-indicator-p
361 :initarg :draw-indicator
362 :type boolean))
363 (:metaclass container-class)
364 (:alien-name "GtkToggleButton"))
365
366(defclass toggle-button-child (button-child))
367
368
369(defclass check-button (toggle-button)
370 ()
371 (:metaclass container-class)
372 (:alien-name "GtkCheckButton"))
373
374(defclass check-button-child (toggle-button-child))
375
376
377(defclass radio-button (check-button)
378 ((group
379 :allocation :arg
380 :initarg :group
381; :access :write-only
382 :type pointer)) ;radio-button-group))
383 (:metaclass container-class)
384 (:alien-name "GtkRadioButton"))
385
386(defclass radio-button-child (check-button-child))
387
388
389(defclass option-menu (button)
390 ((menu
391 :allocation :virtual
392 :location ("gtk_option_menu_get_menu" (setf option-menu-menu))
393 :reader option-menu-menu
394 :initarg :menu
395 :type widget)
396 (history
397 :allocation :virtual
398 :location (nil "gtk_option_menu_set_history")
399 :writer (setf option-menu-history)
400 :initarg :history
401 :type unsigned-int))
402 (:metaclass container-class)
403 (:alien-name "GtkOptionMenu"))
404
405(defclass option-menu-child (button-child))
406
407
408(defclass item (bin)
409 ()
410 (:metaclass container-class)
411 (:alien-name "GtkOptionMenu"))
412
413(defclass item-child (bin-child))
414
415
416(defclass menu-item (item)
417 ()
418; :slots
419; ;; slots not accessible through the arg mechanism
420; ((label :write-only t :access-method :lisp :type string)
421; (submenu :write-method :lisp :type menu-item)
422; (placement :write-only t :type submenu-placement)
423; (toggle-indicator :c-reader "gtk_menu_item_get_show_toggle"
424; :write-method :lisp :type boolean)
425; (submenu-indicator :c-reader "gtk_menu_item_get_show_submenu"
426; :write-method :lisp :type boolean)))
427 (:metaclass container-class)
428 (:alien-name "GtkMenuItem"))
429
430(defclass menu-item-child (item-child))
431
432
433(defclass check-menu-item (menu-item)
434 ()
435; :slots
436; ;; slots not accessible through the arg mechanism
437; ((active :type boolean)
438; (toggle-indicator :c-writer "gtk_check_menu_item_set_show_toggle"
439; :c-reader "gtk_check_menu_item_get_show_toggle"
440; :type boolean)))
441 (:metaclass container-class)
442 (:alien-name "GtkCheckMenuItem"))
443
444(defclass check-menu-item-child (menu-item-child))
445
446(defclass radio-menu-item (check-menu-item)
447 ()
448; :slots
449; ;; slots not accessible through the arg mechanism
450; ((group :c-reader "gtk_radio_menu_item_group"
451; :type radio-menu-item-group)))
452 (:metaclass container-class)
453 (:alien-name "GtkRadioMenuItem"))
454
455(defclass radio-menu-item-child (check-menu-item-child))
456
457
458(defclass tearoff-menu-item (menu-item)
459 ()
460 (:metaclass container-class)
461 (:alien-name "GtkTearoffMenuItem"))
462
463(defclass tearoff-menu-item-child (menu-item-child))
464
465(defclass list-item (item)
466 ()
467 (:metaclass container-class)
468 (:alien-name "GtkListItem"))
469
470(defclass list-item-child (item-child))
471
472
473(defclass tree-item (item)
474 ()
475; :slots
476; ;; slots not accessible through the arg mechanism
477; ((subtree :write-method :lisp :type tree-item)))
478 (:metaclass container-class)
479 (:alien-name "GtkTreeItem"))
480
481(defclass tree-item-child (item-child))
482
483
484(defclass window (bin)
485 ((type
486 :allocation :arg
487 :accessor window-type
488 :initarg :type
489 :type window-type)
490 (title
491 :allocation :arg
492 :accessor window-title
493 :initarg :title
494 :type string)
495 (auto-shrink
496 :allocation :arg
497 :accessor window-auto-shrink-p
498 :initarg :auto-shrink
499 :type boolean)
500 (allow-shrink
501 :allocation :arg
502 :accessor window-allow-shrink-p
503 :initarg :allow-shrink
504 :type boolean)
505 (allow-grow
506 :allocation :arg
507 :accessor window-allow-grow-p
508 :initarg :allow-grow
509 :type boolean)
510 (modal
511 :allocation :arg
512 :accessor window-modal-p
513 :initarg :modal
514 :type boolean)
515 (position
516 :allocation :arg
517 :location "GtkWindow::window_position"
518 :accessor window-position
519 :initarg :position
520 :type window-position)
521 (default-width
522 :allocation :arg
523 :accessor window-default-width
524 :initarg :default-width
525 :type int)
526 (default-height
527 :allocation :arg
528 :accessor window-default-height
529 :initarg :default-height
530 :type int))
531 (:metaclass container-class)
532 (:alien-name "GtkWindow"))
533
534(defclass window-child (bin-child))
535
536
537; (defclass color-selection-dialog window
538; :slots
539; ;; slots not accessible through the arg mechanism
540; ((colorsel :read-only t :type widget)
541; (main-vbox :read-only t :type widget)
542; (ok-button :read-only t :type widget)
543; (reset-button :read-only t :type widget)
544; (cancel-button :read-only t :type widget)
545; (help-button :read-only t :type widget)))
546
547; (defclass dialog window
548; :slots
549; ;; slots not accessible through the arg mechanism
550; ((action-area :read-only t :type widget)
551; (vbox :read-only t :type widget)))
552
553; (defclass input-dialog dialog)
554
555; (defclass file-selection window
556; :slots
557; ;; slots not accessible through the arg mechanism
558; ((filename :type string)
559; (action-area :read-only t :type widget)
560; (ok-button :read-only t :type widget)
561; (cancel-button :read-only t :type widget)))
562
563; (defclass plug window)
564
565; (defclass event-box bin)
566
567; (defclass handle-box bin
568; :slots
569; ((shadow-type :read-method :arg :arg-name "shadow"
570; :type shadow-type)
571; (handle-position :read-method :arg :type position-type)
572; (snap-edge :read-method :arg :type position-type)))
573
574(defclass scrolled-window (bin)
575 ((hadjustment
576 :allocation :arg
577 :accessor scrolled-window-hadjustment
578 :initarg :hadjustment
579 :type adjustment)
580 (vadjustment
581 :allocation :arg
582 :accessor scrolled-window-vadjustment
583 :initarg :vadjustment
584 :type adjustment)
585 (hscrollbar-policy
586 :allocation :arg
587 :accessor scrolled-window-hscrollbar-policy
588 :initarg :hscrollbar-policy
589 :type policy-type)
590 (vscrollbar-policy
591 :allocation :arg
592 :accessor scrolled-window-vscrollbar-policy
593 :initarg :vscrollbar-policy
594 :type policy-type)
595 (placement
596 :allocation :arg
597 :location "GtkScrolledWindow::window_placement"
598 :accessor scrolled-window-placement
599 :initarg :placement
600 :type corner-type)
601 (shadow-type
602 :allocation :arg
603 :location "GtkScrolledWindow::shadow"
604 :accessor scrolled-window-shadow-type
605 :initarg :shadow-type
606 :type shadow-type)
607 (hscrollbar
608 :allocation :virtual
609 :location "gtk_scrolled_window_get_hscrollbar"
610 :accessor scrolled-window-hscrollbar
611 :type widget)
612 (vscrollbar
613 :allocation :virtual
614 :location "gtk_scrolled_window_get_vscrollbar"
615 :accessor scrolled-window-vscrollbar
616 :type widget))
617 (:metaclass container-class)
618 (:alien-name "GtkScrolledWindow"))
619
620(defclass scrolled-window-child (bin-child))
621
622
623
624; (defclass viewport bin
625; :slots
626; ((hadjustment :read-method :arg :type adjustment)
627; (vadjustment :read-method :arg :type adjustment)
628; (shadow-type :read-method :arg :type shadow-type)))
629
630(defclass box (container)
631 ((spacing
632 :allocation :arg
633 :accessor box-spacing
634 :initarg :spacing
635 :type int)
636 (homogeneous
637 :allocation :arg
638 :accessor box-homogeneous-p
639 :initarg :homogeneous
640 :type boolean))
641 (:metaclass container-class)
642 (:alien-name "GtkBox"))
643
644(defclass box-child (container-child)
645 ((expand
646 :allocation :arg
647 :accessor box-child-expand-p
648 :initarg :expand
649 :type boolean)
650 (fill
651 :allocation :arg
652 :accessor box-child-fill-p
653 :initarg :fill
654 :type boolean)
655 (padding
656 :allocation :arg
657 :accessor box-child-padding
658 :initarg :padding
659 :type unsigned-long)
660 (pack-type
661 :allocation :arg
662 :accessor box-child-pack-type
663 :initarg :pack-type
664 :type pack-type)
665 (position
666 :allocation :arg
667 :accessor box-child-position
668 :initarg :position
669 :type long))
670 (:metaclass child-class))
671
672
673(defclass button-box (box)
674 ((spacing
675 :allocation :virtual
676 :location ("gtk_button_box_get_spacing" "gtk_button_box_set_spacing")
677 :accessor button-box-spacing
678 :type int)
679 (layout
680 :allocation :virtual
681 :location ("gtk_button_box_get_layout" "gtk_button_box_set_layout")
682 :accessor button-box-layout
683 :type button-box-style))
684 (:metaclass container-class)
685 (:alien-name "GtkButtonBox"))
686
687(defclass button-box-child (box-child)
688 ()
689 (:metaclass child-class))
690
691(defclass hbutton-box (button-box)
692 ()
693 (:metaclass container-class)
694 (:alien-name "GtkHButtonBox"))
695
696(defclass hbutton-box-child (button-box-child)
697 ()
698 (:metaclass child-class))
699
700(defclass vbutton-box-child (button-box-child)
701 ()
702 (:metaclass child-class))
703
704(defclass vbox (box)
705 ()
706 (:metaclass container-class)
707 (:alien-name "GtkVBox"))
708
709(defclass vbox-child (box-child)
710 ()
711 (:metaclass child-class))
712
713
714
715; (defclass color-selection vbox
716; :slots
717; ((policy :c-writer "gtk_color_selection_set_update_policy"
718; :read-method :arg :type update-type)
719; (use-opacity :c-writer "gtk_color_selection_set_opacity"
720; :read-method :arg :type boolean)
721; ;; slots not accessible through the arg mechanism
722; (color :access-method :lisp)))
723
724; (defclass gamma-curve vbox)
725
726(defclass hbox (box)
727 ()
728 (:metaclass container-class)
729 (:alien-name "GtkHBox"))
730
731(defclass hbox-child (box-child)
732 ()
733 (:metaclass child-class))
734
735
736
737; (defclass statusbar hbox)
738
739; (defclass clist container
740; :c-name "GtkCList"
741; :c-prefix "gtk_clist_"
742; :slots
743; ((n-columns :read-only t :initarg t :access-method :arg
744; :type unsigned-int)
745; (shadow-type :read-method :arg :type shadow-type)
746; (selection-mode :read-method :arg :type selection-mode)
747; (row-height :read-method :arg :type unsigned-int)
748; (reorderable :read-method :arg :type boolean)
749; (titles-visible :write-method :lisp :type boolean)
750; (titles-active :access-method :arg :type boolean)
751; (use-drag-icons :read-method :arg :type boolean)
752; (sort-type :read-method :arg :type sort-type)
753; ;; slots not accessible through the arg mechanism
754; (hadjustment :type adjustment)
755; (vadjustment :type adjustment)
756; (sort-column :type int)
757; (focus-row :reader %clist-focus-row :read-only t :type int)
758; (n-rows :read-only t :type int)))
759
760; (defclass ctree clist
761; :c-name "GtkCTree"
762; :c-prefix "gtk_ctree_"
763; :slots
764; ((n-columns :read-only t :initarg t :access-method :arg
765; :type unsigned-int)
766; (tree-column :read-only t :initarg t :access-method :arg
767; :type unsigned-int)
768; (indent :read-method :arg :type unsigned-int)
769; (spacing :read-method :arg :type unsigned-int)
770; (show-stub :read-method :arg :type boolean)
771; (line-style :read-method :arg :type ctree-line-style)
772; (expander-style :read-method :arg :type ctree-expander-style)))
773
774; (defclass fixed container)
775
776; (defclass notebook container
777; :slots
778; ((show-tabs :read-method :arg :type boolean)
779; (show-border :read-method :arg :type boolean)
780; (scrollable :read-method :arg :type boolean)
781; (enable-popup :access-method :arg :type boolean)
782; (homogeneous :c-writer "gtk_notebook_set_homogeneous_tabs"
783; :read-method :arg :type boolean)
784; (current-page :c-writer "gtk_notebook_set_page" :type int)
785; (tab-pos :read-method :arg :type position-type)
786; (tab-border :read-method :arg :type unsigned-int)
787; (tab-hborder :read-method :arg :type unsigned-int)
788; (tab-vborder :read-method :arg :type unsigned-int))
789; :child-slots
790; ((tab-label :access-method :arg :type string)
791; (menu-label :access-method :arg :type string)
792; (tab-fill :access-method :arg :type boolean)
793; (tab-pack :access-method :arg :type boolean)
794; (position :access-method :arg :type int)))
795
796; (defclass font-selection notebook)
797
798; (defclass paned container
799; :constructor nil
800; :slots
801; ((handle-size :read-method :arg :type unsigned-int)
802; (gutter-size :read-method :arg :type unsigned-int)
803; ;; slots not accessible through the arg mechanism
804; (position :write-only t :type int)))
805
806; (defclass hpaned paned)
807
808; (defclass vpaned paned)
809
810; (defclass layout container
811; :slots
812; ;; slots not accessible through the arg mechanism
813; ((hadjustment :type adjustment)
814; (vadjustment :type adjustment)
815; (bin-window :read-only t :type gdk:window)))
816
817; (defclass list-widget container
818; :c-name "GtkList"
819; :slots
820; ((selection-mode :read-method :arg :accessor list-selection-mode
821; :c-writer "gtk_list_set_selection_mode"
822; :type selection-mode)))
823
824; (defclass menu-shell container :constructor nil)
825
826; (defclass menu-bar menu-shell
827; :slots
828; ((shadow-type :read-method :arg :arg-name "shadow"
829; :type shadow-type)))
830
831; (defclass menu menu-shell
832; :slots
833; ;; slots not accessible through the arg mechanism
834; ((accel-group :type accel-group)
835; (tearoff-state :write-only t :type boolean)
836; (title :write-only t :type string)))
837
838; (defclass packer container
839; :slots
840; ((spacing :read-method :arg :type unsigned-int)
841; (default-border-width :read-method :arg :type unsigned-int)
842; (default-pad-x :access-method :arg :type unsigned-int)
843; (default-pad-y :access-method :arg :type unsigned-int)
844; (default-ipad-x :access-method :arg :type unsigned-int)
845; (default-ipad-y :access-method :arg :type unsigned-int))
846; :child-slots
847; ((side :access-method :arg :type side-type)
848; (anchor :access-method :arg :type anchor-type)
849; (expand :access-method :arg :type boolean)
850; (fill-x :access-method :arg :type boolean)
851; (fill-y :access-method :arg :type boolean)
852; (use-default :access-method :arg :type boolean)
853; (border-width :access-method :arg :type unsigned-int)
854; (pad-x :access-method :arg :type unsigned-int)
855; (pad-y :access-method :arg :type unsigned-int)
856; (ipad-x :access-method :arg :type unsigned-int)
857; (ipad-y :access-method :arg :type unsigned-int)
858; (position :access-method :arg :type long)))
859
860; (defclass socket container)
861
862; (defclass table container
863; :slots
864; ((rows :access-method :arg :arg-name "n_rows"
865; :type unsigned-int)
866; (columns :access-method :arg :arg-name "n_columns"
867; :type unsigned-int)
868; (row-spacing :c-writer "gtk_table_set_row_spacings"
869; :accessor table-row-spacings
870; :read-method :arg :type unsigned-int)
871; (column-spacing :c-writer "gtk_table_set_col_spacings"
872; :accessor table-column-spacings
873; :read-method :arg :type unsigned-int)
874; (homogeneous :read-method :arg :type boolean))
875; :child-slots
876; ((left-attach :access-method :arg :type unsigned-int)
877; (right-attach :access-method :arg :type unsigned-int)
878; (top-attach :access-method :arg :type unsigned-int)
879; (bottom-attach :access-method :arg :type unsigned-int)
880; (x-options :access-method :arg :type attach-options)
881; (y-options :access-method :arg :type attach-options)
882; (x-padding :access-method :arg :type unsigned-int)
883; (y-padding :access-method :arg :type unsigned-int)
884; ;; Slots added for convenience sake
885; (x-expand :access-method :lisp :type boolean)
886; (y-expand :access-method :lisp :type boolean)
887; (x-shrink :access-method :lisp :type boolean)
888; (y-shrink :access-method :lisp :type boolean)
889; (x-fill :access-method :lisp :type boolean)
890; (y-fill :access-method :lisp :type boolean)))
891
892; (defclass toolbar container
893; :slots
894; ((orientation :read-method :arg :type orientation)
895; (toolbar-style :accessor toolbar-style
896; :c-writer "gtk_toolbar_set_style"
897; :read-method :arg :type toolbar-style)
898; (space-size :read-method :arg :type unsigned-int)
899; (space-style :read-method :arg :type toolbar-space-style)
900; (relief :c-writer "gtk_toolbar_set_button_relief"
901; :read-method :arg :type relief-style)
902; ;; slots not accessible through the arg mechanism
903; (tooltips :write-only t :type boolean)))
904
905(defclass tree (container)
906 ()
907; :slots
908; ;; slots not accessible through the arg mechanism
909; ((selection-mode :type selection-mode)
910; (view-mode :type tree-view-mode)
911; (view-lines :type boolean)
912; (root-tree :read-only t :type tree)))
913 (:metaclass container-class)
914 (:alien-name "GtkTree"))
915
916
917(defclass calendar (widget)
918 ()
919 (:metaclass widget-class)
920 (:alien-name "GtkCalendar"))
921
922
923; (defclass drawing-area widget)
924
925; (defclass curve drawing-area
926; :slots
927; ((curve-type :read-method :arg :type curve-type)
928; (min-x :access-method :arg :type single-float)
929; (max-x :access-method :arg :type single-float)
930; (min-y :access-method :arg :type single-float)
931; (max-y :access-method :arg :type single-float)))
932
933; (defclass editable widget
934; :slots
935; ((position :type int)
936; (editable :read-method :arg :type boolean)
937; ;; slots not accessible through the arg mechanism
938; (text :access-method :lisp :type string)))
939
940; (defclass entry editable
941; :slots
942; ((max-length :read-method :arg :type unsigned-int)
943; (visibility :read-method :arg :accessor entry-visible-p
944; :type boolean)
945; ;; slots not accessible through the arg mechanism
946; (text :type string)))
947
948; (defclass combo hbox
949; :slots
950; ;; slots not accessible through the arg mechanism
951; ((entry :read-only t :type entry)
952; (use-arrows :type boolean)
953; (use-arrows-always :type boolean)
954; (case-sensitive :type boolean)))
955
956; (defclass spin-button entry
957; :slots
958; ((adjustment :access-method :arg :type adjustment)
959; (climb-rate :access-method :arg :type single-float)
960; (digits :access-method :arg :type unsigned-int)
961; (snap-to-ticks :read-method :arg :type boolean)
962; (numeric :read-method :arg :type boolean)
963; (wrap :read-method :arg :type boolean)
964; (update-policy :read-method :arg :type spin-button-update-policy)
965; (shadow-type :read-method :arg :type shadow-type)
966; (value :read-method :arg :type single-float)))
967
968; (defclass text editable
969; :slots
970; ((hadjustment :access-method :arg :type adjustment)
971; (vadjustment :access-method :arg :type adjustment)
972; (line-wrap :read-method :arg :type boolean)
973; (word-wrap :read-method :arg :type boolean)
974; ;; slots not accessible through the arg mechanism
975; (point :type unsigned-int)
976; (length :read-only t :type unsigned-int)))
977
978; (defclass ruler widget
979; :constructor nil
980; :slots
981; ((lower :access-method :arg :type single-float)
982; (upper :access-method :arg :type single-float)
983; (position :access-method :arg :type single-float)
984; (max-size :access-method :arg :type single-float)
985; ;; slots not accessible through the arg mechanism
986; (:metric :write-only t :type metric-type)))
987
988; (defclass hruler ruler)
989
990; (defclass vruler ruler)
991
992; (defclass range widget
993; :slots
994; ((update-policy :read-method :arg :type update-type)
995; ;; slots not accessible through the arg mechanism
996; (adjustment :type adjustment)))
997
998; (defclass scale range
999; :constructor nil
1000; :slots
1001; ((digits :read-method :arg :type unsigned-int)
1002; (draw-value :read-method :arg :type boolean)
1003; (value-pos :read-method :arg :type position-type)
1004; ;; slots not accessible through the arg mechanism
1005; (value-width :read-only t :type int)))
1006
1007; (defclass hscale scale)
1008
1009; (defclass vscale scale)
1010
1011; (defclass scrollbar range :constructor nil)
1012
1013; (defclass hscrollbar scrollbar)
1014
1015; (defclass vscrollbar scrollbar)
1016
1017(defclass separator (widget)
1018 ()
1019 (:metaclass widget-class)
1020 (:alien-name "GtkSeparator"))
1021
1022
1023(defclass hseparator (separator)
1024 ()
1025 (:metaclass widget-class)
1026 (:alien-name "GtkHSeparator"))
1027
1028
1029(defclass vseparator (separator)
1030 ()
1031 (:metaclass widget-class)
1032 (:alien-name "GtkVSeparator"))
1033
1034
1035; (defclass preview widget
1036; :slots
1037; ((expand :read-method :arg :type boolean)))
1038
1039; (defclass progress widget
1040; :slots
1041; ((activity-mode :read-method :arg :type boolean)
1042; (show-text :read-method :arg :type boolean)
1043; (text-xalign :access-method :arg :type single-float)
1044; (text-yalign :access-method :arg :type single-float)
1045; ;; slots not accessible through the arg mechanism
1046; (format-string :type string)
1047; (adjustment :type adjustment)
1048; (percentage :c-reader "gtk_progress_get_current_percentage"
1049; :type single-float)
1050; (value :type single-float)
1051; (text :c-reader "gtk_progress_get_current_text"
1052; :read-only t :type string)))
1053
1054; (defclass progress-bar progress
1055; :slots
1056; ((adjustment :c-writer "gtk_progress_set_adjustment"
1057; :read-method :arg :type adjustment)
1058; (orientation :read-method :arg :type progress-bar-orientation)
1059; (bar-style :read-method :arg :accessor progress-bar-style
1060; :type progress-bar-style)
1061; (activity-step :read-method :arg :type unsigned-int)
1062; (activity-blocks :read-method :arg :type unsigned-int)
1063; (discrete-blocks :read-method :arg :type unsigned-int)))
1064
1065; (defclass item-factory object)
1066