1 ;; Common Lisp bindings for GTK+ v2.0.x
2 ;; Copyright (C) 1999-2000 Espen S. Johnsen <espejohn@online.no>
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.
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.
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
18 ;; $Id: gtktypes.lisp,v 1.3 2000-09-04 22:17:07 espen Exp $
38 (defclass style (gobject)
40 (:metaclass gobject-class)
41 (:alien-name "GtkStyle"))
44 (defclass accel-group (alien-object)
46 (:metaclass alien-class)
47 (:alien-name "GtkAccelGroup"))
49 (deftype accel-entry () 'pointer) ; internal?
52 ;; These types are actully a single linked lists of widgets. As long as
53 ;; we don't have to access the individual widgets defining them this way
54 ;; is adequate and most efficient.
55 (deftype radio-button-group () 'pointer)
56 (deftype radio-menu-item-group () 'pointer)
59 (defclass data (object)
61 (:metaclass object-class)
62 (:alien-name "GtkData"))
65 (defclass adjustment (data)
68 :accessor adjustment-lower
73 :accessor adjustment-upper
78 :accessor adjustment-value
83 :accessor adjustment-step-increment
84 :initarg :step-increment
88 :accessor adjustment-page-increment
89 :initarg :page-increment
93 :accessor adjustment-page-size
96 (:metaclass object-class)
97 (:alien-name "GtkAdjustment"))
100 (defclass tooltips (data)
103 :location ("gtk_tooltips_get_delay" "gtk_tooltips_set_delay")
104 :accessor tooltips-delay
108 :location ("gtk_tooltips_get_enabled" (setf tooltips-enabled-p))
109 :reader tooltips-enabled-p
112 (:metaclass object-class)
113 (:alien-name "GtkTooltips"))
116 ;; Forward declaration, the real definition is in gtkwidget.lisp
117 (defclass widget (object)
119 (:metaclass object-class)
120 (:alien-name "GtkWidget"))
123 (defclass misc (widget)
126 :accessor misc-xalign
131 :accessor misc-yalign
144 (:metaclass widget-class)
145 (:alien-name "GtkMisc"))
148 (defclass label (misc)
151 :accessor label-label
156 :accessor label-pattern
161 :accessor label-justify
166 :accessor label-line-wrap-p
169 (:metaclass widget-class)
170 (:alien-name "GtkLabel"))
173 (defclass accel-label (label)
176 :location "GtkAccelLabel::accel_widget"
177 :accessor accel-label-accel-widget
178 :initarg :accel-widget
182 :location "gtk_accel_label_get_accel_width"
185 (:metaclass widget-class)
186 (:alien-name "GtkAccelLabel"))
189 (defclass tips-query (label)
192 :accessor tips-query-emit-always-p
193 :initarg :emit-always
197 :accessor tips-query-caller
202 :accessor tips-query-label-inactive
203 :initarg :label-inactive
207 :accessor tips-query-label-no-tip
208 :initarg :label-no-tip
210 (:metaclass widget-class)
211 (:alien-name "GtkTipsQuery"))
214 (defclass arrow (misc)
217 :accessor arrow-arrow-type
222 :accessor arrow-shadow-type
223 :initarg :shadow-type
225 (:metaclass widget-class)
226 (:alien-name "GtkArrow"))
229 (defclass image (misc)
231 (:metaclass widget-class)
232 (:alien-name "GtkImage"))
235 (defclass pixmap (misc)
238 :location pixmap-source)
241 :location pixmap-mask
243 (:metaclass widget-class)
244 (:alien-name "GtkPixmap"))
247 ;; Forward declaration, the real definition is in gtkcontainer.lisp
248 (defclass container (widget)
250 (:metaclass widget-class)
251 (:alien-name "GtkContainer"))
253 (defclass container-child ()
262 (defclass bin (container)
268 (:metaclass container-class)
269 (:alien-name "GtkBin"))
271 (defclass bin-child (container-child))
274 (defclass alignment (bin)
277 :accessor alignment-xalign
282 :accessor alignment-yalign
287 :accessor alignment-xscale
292 :accessor alignment-yscale
295 (:metaclass container-class)
296 (:alien-name "GtkAlignment"))
298 (defclass alignment-child (bin-child))
301 (defclass frame (bin)
304 :accessor frame-label
309 :accessor frame-label-xalign
310 :initarg :label-xalign
314 :accessor frame-label-yalign
315 :initarg :label-yalign
319 :location "GtkFrame::shadow"
320 :accessor frame-shadow-type
321 :initarg :shadow-type
323 (:metaclass container-class)
324 (:alien-name "GtkFrame"))
326 (defclass frame-child (bin-child))
329 ; (defclass aspect-frame (frame)
332 ; :accessor aspect-frame-xalign
334 ; :type single-float)
337 ; :accessor aspect-frame-yalign
339 ; :type single-float)
342 ; :accessor aspect-frame-ratio
344 ; :type single-float)
347 ; :accessor aspect-frame-obey-child-p
348 ; :initarg :obey-child
350 ; (:metaclass container-class)
351 ; (:alien-name "GtkAspectFrame"))
353 ; (defclass aspect-frame-child (aspect-child))
356 (defclass button (bin)
359 :location button-label
364 :accessor button-relief
367 (:metaclass container-class)
368 (:alien-name "GtkButton"))
370 (defclass button-child (bin-child)
372 (:metaclass child-class))
375 (defclass toggle-button (button)
378 :accessor toggle-button-active-p
383 :accessor toggle-button-draw-indicator-p
384 :initarg :draw-indicator
386 (:metaclass container-class)
387 (:alien-name "GtkToggleButton"))
389 (defclass toggle-button-child (button-child)
391 (:metaclass child-class))
394 (defclass check-button (toggle-button)
396 (:metaclass container-class)
397 (:alien-name "GtkCheckButton"))
399 (defclass check-button-child (toggle-button-child)
401 (:metaclass child-class))
404 ;; Forward declaration
405 (defclass radio-button (check-button)
407 (:metaclass container-class)
408 (:alien-name "GtkRadioButton"))
410 (defclass radio-button (check-button)
413 ; :accessor radio-button-group
416 (:metaclass container-class)
417 (:alien-name "GtkRadioButton"))
419 (defclass radio-button-child (check-button-child)
421 (:metaclass child-class))
424 (defclass option-menu (button)
427 :location ("gtk_option_menu_get_menu" (setf option-menu-menu))
428 :reader option-menu-menu
433 :location (nil "gtk_option_menu_set_history")
434 :writer (setf option-menu-history)
437 (:metaclass container-class)
438 (:alien-name "GtkOptionMenu"))
440 (defclass option-menu-child (button-child)
442 (:metaclass child-class))
447 (:metaclass container-class)
448 (:alien-name "GtkItem"))
450 (defclass item-child (bin-child)
452 (:metaclass child-class))
454 ;; Forward declaration
455 (defclass menu-item (item)
457 (:metaclass container-class)
458 (:alien-name "GtkMenuItem"))
460 (defclass menu-item (item)
463 :location menu-item-label
468 :location ("gtk_menu_item_get_submenu" (setf menu-item-submenu))
469 :reader menu-item-submenu
474 :location ("gtk_menu_item_get_placement" "gtk_menu_item_set_placement")
475 :accessor menu-item-placement
477 :type submenu-placement)
480 :location ("gtk_menu_item_get_show_toggle"
481 (setf menu-item-toggle-indicator-p))
482 :reader menu-item-toggle-indicator-p
483 :initarg :toggle-indicator
487 :location ("gtk_menu_item_get_show_submenu"
488 (setf menu-item-submenu-indicator-p))
489 :reader menu-item-submenu-indicator-p
490 :initarg :submenu-indicator
492 (:metaclass container-class)
493 (:alien-name "GtkMenuItem"))
495 (defclass menu-item-child (item-child)
497 (:metaclass child-class))
500 (defclass check-menu-item (menu-item)
503 :location ("gtk_check_menu_item_get_active"
504 "gtk_check_menu_item_set_active")
505 :accessor check-menu-item-active-p
510 :location ("gtk_check_menu_item_get_show_toggle"
511 "gtk_check_menu_item_set_show_toggle")
512 :accessor check-menu-item-toggle-indicator-p
513 :initarg :toggle-indicator
515 (:metaclass container-class)
516 (:alien-name "GtkCheckMenuItem"))
518 (defclass check-menu-item-child (menu-item-child)
520 (:metaclass child-class))
523 (defclass radio-menu-item (check-menu-item)
526 :location ("gtk_radio_menu_item_group" "gtk_radio_menu_item_set_group")
527 :accessor radio-menu-item-group
528 :type radio-menu-item-group))
529 (:metaclass container-class)
530 (:alien-name "GtkRadioMenuItem"))
532 (defclass radio-menu-item-child (check-menu-item-child)
534 (:metaclass child-class))
537 (defclass tearoff-menu-item (menu-item)
539 (:metaclass container-class)
540 (:alien-name "GtkTearoffMenuItem"))
542 (defclass tearoff-menu-item-child (menu-item-child)
544 (:metaclass child-class))
547 (defclass list-item (item)
549 (:metaclass container-class)
550 (:alien-name "GtkListItem"))
552 (defclass list-item-child (item-child)
554 (:metaclass child-class))
558 (defclass tree-item (item)
561 ; ;; slots not accessible through the arg mechanism
562 ; ((subtree :write-method :lisp :type tree-item)))
563 (:metaclass container-class)
564 (:alien-name "GtkTreeItem"))
566 (defclass tree-item-child (item-child)
568 (:metaclass child-class))
571 (defclass window (bin)
574 :accessor window-type
579 :accessor window-title
584 :accessor window-auto-shrink-p
585 :initarg :auto-shrink
589 :accessor window-allow-shrink-p
590 :initarg :allow-shrink
594 :accessor window-allow-grow-p
599 :accessor window-modal-p
604 :location "GtkWindow::window_position"
605 :accessor window-position
607 :type window-position)
610 :accessor window-default-width
611 :initarg :default-width
615 :accessor window-default-height
616 :initarg :default-height
618 (:metaclass container-class)
619 (:alien-name "GtkWindow"))
621 (defclass window-child (bin-child)
623 (:metaclass child-class))
626 ; (defclass color-selection-dialog window
628 ; ;; slots not accessible through the arg mechanism
629 ; ((colorsel :read-only t :type widget)
630 ; (main-vbox :read-only t :type widget)
631 ; (ok-button :read-only t :type widget)
632 ; (reset-button :read-only t :type widget)
633 ; (cancel-button :read-only t :type widget)
634 ; (help-button :read-only t :type widget)))
636 (defclass dialog (window)
639 :location "gtk_dialog_get_action_area"
640 :reader dialog-action-area
644 :location "gtk_dialog_get_vbox"
647 (:metaclass container-class)
648 (:alien-name "GtkDialog"))
650 (defclass dialog-child (window-child)
652 (:metaclass child-class))
655 (defclass input-dialog (dialog)
657 (:metaclass container-class)
658 (:alien-name "GtkInputDialog"))
660 (defclass input-dialog-child (dialog-child)
662 (:metaclass child-class))
665 ; (defclass file-selection window
667 ; ;; slots not accessible through the arg mechanism
668 ; ((filename :type string)
669 ; (action-area :read-only t :type widget)
670 ; (ok-button :read-only t :type widget)
671 ; (cancel-button :read-only t :type widget)))
673 ; (defclass plug window)
676 (defclass event-box (bin)
678 (:metaclass container-class)
679 (:alien-name "GtkEventBox"))
681 (defclass event-box-child (bin-child)
683 (:metaclass child-class))
686 (defclass handle-box (bin)
689 :location "GtkHandleBox::shadow"
690 :accessor handle-box-shadow-type
691 :initarg :shadow-type
695 :accessor handle-box-handle-position
696 :initarg :handle-position
700 :accessor handle-box-snap-edge
702 :type position-type))
703 (:metaclass container-class)
704 (:alien-name "GtkHandleBox"))
706 (defclass handle-box-child (bin-child)
708 (:metaclass child-class))
711 (defclass scrolled-window (bin)
714 :accessor scrolled-window-hadjustment
715 :initarg :hadjustment
719 :accessor scrolled-window-vadjustment
720 :initarg :vadjustment
724 :accessor scrolled-window-hscrollbar-policy
725 :initarg :hscrollbar-policy
729 :accessor scrolled-window-vscrollbar-policy
730 :initarg :vscrollbar-policy
734 :location "GtkScrolledWindow::window_placement"
735 :accessor scrolled-window-placement
740 :location "GtkScrolledWindow::shadow"
741 :accessor scrolled-window-shadow-type
742 :initarg :shadow-type
746 :location "gtk_scrolled_window_get_hscrollbar"
747 :accessor scrolled-window-hscrollbar
751 :location "gtk_scrolled_window_get_vscrollbar"
752 :accessor scrolled-window-vscrollbar
754 (:metaclass container-class)
755 (:alien-name "GtkScrolledWindow"))
757 (defclass scrolled-window-child (bin-child)
759 (:metaclass child-class))
762 (defclass viewport (bin)
765 :accessor viewport-hadjustment
766 :initarg :hadjustment
770 :accessor viewport-vadjustment
771 :initarg :vadjustment
775 :accessor viewport-shadow-type
776 :initarg :shadow-type
778 (:metaclass container-class)
779 (:alien-name "GtkViewport"))
781 (defclass viewport-child (bin-child)
783 (:metaclass child-class))
786 (defclass box (container)
789 :accessor box-spacing
794 :accessor box-homogeneous-p
795 :initarg :homogeneous
797 (:metaclass container-class)
798 (:alien-name "GtkBox"))
800 (defclass box-child (container-child)
803 :accessor box-child-expand-p
808 :accessor box-child-fill-p
813 :accessor box-child-padding
818 :accessor box-child-pack-type
823 :accessor box-child-position
826 (:metaclass child-class))
829 (defclass button-box (box)
832 :location ("gtk_button_box_get_spacing" "gtk_button_box_set_spacing")
833 :accessor button-box-spacing
837 :location ("gtk_button_box_get_layout" "gtk_button_box_set_layout")
838 :accessor button-box-layout
839 :type button-box-style))
840 (:metaclass container-class)
841 (:alien-name "GtkButtonBox"))
843 (defclass button-box-child (box-child)
845 (:metaclass child-class))
848 (defclass hbutton-box (button-box)
850 (:metaclass container-class)
851 (:alien-name "GtkHButtonBox"))
853 (defclass hbutton-box-child (button-box-child)
855 (:metaclass child-class))
858 (defclass vbutton-box (button-box)
860 (:metaclass container-class)
861 (:alien-name "GtkVButtonBox"))
863 (defclass vbutton-box-child (button-box-child)
865 (:metaclass child-class))
870 (:metaclass container-class)
871 (:alien-name "GtkVBox"))
873 (defclass vbox-child (box-child)
875 (:metaclass child-class))
878 ; (defclass color-selection vbox
880 ; ((policy :c-writer "gtk_color_selection_set_update_policy"
881 ; :read-method :arg :type update-type)
882 ; (use-opacity :c-writer "gtk_color_selection_set_opacity"
883 ; :read-method :arg :type boolean)
884 ; ;; slots not accessible through the arg mechanism
885 ; (color :access-method :lisp)))
887 ; (defclass gamma-curve vbox)
892 (:metaclass container-class)
893 (:alien-name "GtkHBox"))
895 (defclass hbox-child (box-child)
897 (:metaclass child-class))
900 (defclass statusbar (hbox)
902 (:metaclass container-class)
903 (:alien-name "GtkStatusbar"))
905 (defclass statusbar-child (hbox-child)
907 (:metaclass child-class))
909 ;; CList and CTree is deprecated
910 ; (defclass clist container
912 ; :c-prefix "gtk_clist_"
914 ; ((n-columns :read-only t :initarg t :access-method :arg
915 ; :type unsigned-int)
916 ; (shadow-type :read-method :arg :type shadow-type)
917 ; (selection-mode :read-method :arg :type selection-mode)
918 ; (row-height :read-method :arg :type unsigned-int)
919 ; (reorderable :read-method :arg :type boolean)
920 ; (titles-visible :write-method :lisp :type boolean)
921 ; (titles-active :access-method :arg :type boolean)
922 ; (use-drag-icons :read-method :arg :type boolean)
923 ; (sort-type :read-method :arg :type sort-type)
924 ; ;; slots not accessible through the arg mechanism
925 ; (hadjustment :type adjustment)
926 ; (vadjustment :type adjustment)
927 ; (sort-column :type int)
928 ; (focus-row :reader %clist-focus-row :read-only t :type int)
929 ; (n-rows :read-only t :type int)))
931 ; (defclass ctree clist
933 ; :c-prefix "gtk_ctree_"
935 ; ((n-columns :read-only t :initarg t :access-method :arg
936 ; :type unsigned-int)
937 ; (tree-column :read-only t :initarg t :access-method :arg
938 ; :type unsigned-int)
939 ; (indent :read-method :arg :type unsigned-int)
940 ; (spacing :read-method :arg :type unsigned-int)
941 ; (show-stub :read-method :arg :type boolean)
942 ; (line-style :read-method :arg :type ctree-line-style)
943 ; (expander-style :read-method :arg :type ctree-expander-style)))
945 (defclass fixed (container)
947 (:metaclass container-class)
948 (:alien-name "GtkFixed"))
950 (defclass fixed-child (container-child)
952 (:metaclass child-class))
955 (defclass notebook (container)
958 :accessor notebook-tab-pos
963 :accessor notebook-show-tabs-p
968 :accessor notebook-show-border-p
969 :initarg :show-border
973 :accessor notebook-scrollable-p
978 :accessor notebook-tab-border
983 :accessor notebook-tab-hborder
984 :initarg :tab-hborder
988 :accessor notebook-tab-vborder
989 :initarg :tab-vborder
993 :accessor notebook-page
998 :accessor notebook-enable-popup-p
999 :initarg :enable-popup
1003 :accessor notebook-homogeneous-p
1004 :initarg :homogeneous
1006 (:metaclass container-class)
1007 (:alien-name "GtkNotebook"))
1009 (defclass notebook-child (container-child)
1012 :accessor notebook-child-tab-label
1017 :accessor notebook-child-menu-label
1018 :initarg :menu-label
1022 :accessor notebook-child-position
1027 :accessor notebook-child-tab-fill-p
1032 :accessor notebook-child-tab-pack-p
1035 (:metaclass child-class))
1038 (defclass font-selection (notebook)
1040 (:metaclass container-class)
1041 (:alien-name "GtkFontSelection"))
1043 (defclass font-selection-child (notebook-child)
1045 (:metaclass child-class))
1048 (defclass paned (container)
1051 :accessor paned-handle-size
1052 :initarg handle-size
1055 :allocation :virtual
1056 :location ("gtk_paned_get_position" "gtk_paned_set_position")
1057 :accessor paned-position
1060 (:metaclass container-class)
1061 (:alien-name "GtkPaned"))
1063 (defclass paned-child (container-child)
1065 (:metaclass child-class))
1068 (defclass hpaned (paned)
1070 (:metaclass container-class)
1071 (:alien-name "GtkHPaned"))
1073 (defclass hpaned-child (paned-child)
1075 (:metaclass child-class))
1078 (defclass vpaned (paned)
1080 (:metaclass container-class)
1081 (:alien-name "GtkVPaned"))
1083 (defclass vpaned-child (paned-child)
1085 (:metaclass child-class))
1088 (defclass layout (container)
1090 :allocation :virtual
1091 :location ("gtk_layout_get_hadjustment" "gtk_layout_set_hadjustment")
1092 :accessor layout-hadjustment
1093 :initarg :hadjustment
1096 :allocation :virtual
1097 :location ("gtk_layout_get_vadjustment" "gtk_layout_set_vadjustment")
1098 :accessor layout-vadjustment
1099 :initarg :vadjustment
1101 (:metaclass container-class)
1102 (:alien-name "GtkLayout"))
1104 (defclass layout-child (container-child)
1106 (:metaclass child-class))
1109 ; (defclass list-widget container
1112 ; ((selection-mode :read-method :arg :accessor list-selection-mode
1113 ; :c-writer "gtk_list_set_selection_mode"
1114 ; :type selection-mode)))
1117 (defclass menu-shell (container)
1119 (:metaclass container-class)
1120 (:alien-name "GtkMenuShell"))
1122 (defclass menu-shell-child (container-child)
1124 (:metaclass child-class))
1127 (defclass menu-bar (menu-shell)
1130 :location "GtkMenuBar::shadow"
1131 :accessor menu-bar-shadow-type
1132 :initarg :shadow-type
1134 (:metaclass container-class)
1135 (:alien-name "GtkMenuBar"))
1137 (defclass menu-bar-child (menu-shell-child)
1139 (:metaclass child-class))
1142 (defclass menu (menu-shell)
1144 :allocation :virtual
1145 :location ("gtk_menu_get_accel_group" "gtk_menu_set_accel_group")
1146 :accessor menu-accel-group
1147 :initarg :accel-group
1150 :allocation :virtual
1151 :location ("gtk_menu_get_tearoff_state" "gtk_menu_set_tearoff_state")
1152 :accessor menu-tornoff-p
1156 :allocation :virtual
1157 :location ("gtk_menu_get_title" "gtk_menu_set_title")
1158 :accessor menu-title
1161 (:metaclass container-class)
1162 (:alien-name "GtkMenu"))
1164 (defclass menu-child (menu-shell-child)
1166 (:metaclass child-class))
1169 (defclass packer (container)
1172 :accessor packer-spacing
1175 (default-border-width
1177 :accessor packer-default-border-width
1178 :initarg :default-border-width
1182 :accessor packer-default-pad-x
1183 :initarg :default-pad-x
1187 :accessor packer-default-pad-y
1188 :initarg :default-pad-y
1192 :accessor packer-default-ipad-y
1193 :initarg :default-ipad-y
1197 :accessor packer-default-ipad-y
1198 :initarg :default-ipad-y
1199 :type unsigned-int))
1200 (:metaclass container-class)
1201 (:alien-name "GtkPacker"))
1203 (defclass packer-child (container-child)
1206 :accessor packer-child-side
1211 :accessor packer-child-anchor
1216 :accessor packer-child-expand-p
1221 :accessor packer-child-fill-x-p
1226 :accessor packer-child-fill-y-p
1231 :accessor packer-child-use-default
1236 :accessor packer-child-border-width
1241 :accessor packer-child-pad-x
1246 :accessor packer-child-pad-y
1251 :accessor packer-child-ipad-x
1256 :accessor packer-child-ipad-y
1261 :accessor packer-child-position
1264 (:metaclass child-class))
1267 ;(defclass socket (container))
1270 (defclass table (container)
1273 :location "GtkTable::n_rows"
1274 :accessor table-rows
1279 :location "GtkTable::n_columns"
1280 :accessor table-columns
1285 :accessor table-default-row-spacing
1286 :initarg :row-spacing
1290 :accessor table-default-column-spacing
1291 :initarg :column-spacing
1295 :accessor table-homogeneous-p
1296 :initarg :homogeneous
1298 (:metaclass container-class)
1299 (:alien-name "GtkTable"))
1301 (defclass table-child (container-child)
1304 :accessor table-child-left-attach
1305 :initarg :left-attach
1309 :accessor table-child-right-attach
1310 :initarg :right-attach
1314 :accessor table-child-top-attach
1315 :initarg :top-attach
1319 :accessor table-child-bottom-attach
1320 :initarg :bottom-attach
1324 :accessor table-child-x-options
1326 :type attach-options)
1329 :accessor table-child-y-options
1331 :type attach-options)
1334 :accessor table-child-x-padding
1339 :accessor table-child-y-padding
1344 :allocation :virtual
1345 :location table-child-x-expand-p
1349 :allocation :virtual
1350 :location table-child-y-expand-p
1354 :allocation :virtual
1355 :location table-child-x-shrink-p
1359 :allocation :virtual
1360 :location table-child-y-shrink-p
1364 :allocation :virtual
1365 :location table-child-x-fill-p
1369 :allocation :virtual
1370 :location table-child-y-fill-p
1373 (:metaclass child-class))
1376 (defclass toolbar (container)
1379 :accessor toolbar-orientation
1380 :initarg :orientation
1384 :accessor toolbar-style
1385 :initarg :toolbar-style
1386 :type toolbar-style)
1389 :accessor toolbar-space-size
1390 :initarg :space-size
1394 :accessor toolbar-space-style
1395 :initarg :space-style
1396 :type toolbar-space-style)
1399 :accessor toolbar-relief
1403 :allocation :virtual
1404 :location ("gtk_toolbar_get_tooltips" "gtk_toolbar_set_tooltips")
1405 :accessor toolbar-tooltips-p
1408 (:metaclass container-class)
1409 (:alien-name "GtkToolbar"))
1411 (defclass toolbar-child (container-child)
1413 (:metaclass child-class))
1417 (defclass tree (container)
1420 ; ;; slots not accessible through the arg mechanism
1421 ; ((selection-mode :type selection-mode)
1422 ; (view-mode :type tree-view-mode)
1423 ; (view-lines :type boolean)
1424 ; (root-tree :read-only t :type tree)))
1425 (:metaclass container-class)
1426 (:alien-name "GtkTree"))
1429 (defclass calendar (widget)
1431 (:metaclass widget-class)
1432 (:alien-name "GtkCalendar"))
1435 (defclass drawing-area (widget)
1437 (:metaclass widget-class)
1438 (:alien-name "GtkDrawingArea"))
1440 ; (defclass curve drawing-area
1442 ; ((curve-type :read-method :arg :type curve-type)
1443 ; (min-x :access-method :arg :type single-float)
1444 ; (max-x :access-method :arg :type single-float)
1445 ; (min-y :access-method :arg :type single-float)
1446 ; (max-y :access-method :arg :type single-float)))
1448 (defclass editable (widget)
1451 :location "GtkEditable::text_position"
1452 :accessor ediatable-position
1457 :accessor editable-editable-p
1461 :allocation :virtual
1462 :location editable-text
1465 (:metaclass widget-class)
1466 (:alien-name "GtkEditable"))
1469 (defclass entry (editable)
1472 :accessor entry-max-length
1473 :initarg :max-length
1477 :location "GtkEntry::visibility"
1478 :accessor entry-visible-p
1481 (:metaclass widget-class)
1482 (:alien-name "GtkEntry"))
1485 (defclass combo (hbox)
1487 :allocation :virtual
1488 :location "gtk_combo_get_entry"
1492 :allocation :virtual
1493 :location ("gtk_combo_get_use_arrows" "gtk_combo_set_use_arrows")
1494 :accessor combo-use-arrows-p
1495 :initarg :use-arrows
1498 :allocation :virtual
1500 ("gtk_combo_get_use_arrows_always" "gtk_combo_set_use_arrows_always")
1501 :accessor combo-use-arrows-always-p
1502 :initarg :use-arrows-always
1505 :allocation :virtual
1506 :location ("gtk_combo_get_case_sensitive" "gtk_combo_set_case_sensitive")
1507 :accessor combo-case-sensitive-p
1508 :initarg :case-sensitive
1510 (:metaclass widget-class)
1511 (:alien-name "GtkCombo"))
1514 (defclass spin-button (entry)
1517 :accessor spin-button-adjustment
1518 :initarg :adjustment
1522 :accessor spin-button-climb-rate
1523 :initarg :climb-rate
1527 :accessor spin-button-digits
1532 :accessor spin-button-snap-to-ticks-p
1533 :initarg :snap-to-ticks
1537 :accessor spin-button-numeric-p
1542 :accessor spin-button-wrap-p
1547 :accessor spin-button-update-policy
1548 :initarg :update-policy
1549 :type spin-button-update-policy)
1552 :accessor spin-button-shadow-type
1553 :initarg :shadow-type
1557 :accessor spin-button-value
1559 :type single-float))
1560 (:metaclass widget-class)
1561 (:alien-name "GtkSpinButton"))
1565 ; (defclass text editable
1567 ; ((hadjustment :access-method :arg :type adjustment)
1568 ; (vadjustment :access-method :arg :type adjustment)
1569 ; (line-wrap :read-method :arg :type boolean)
1570 ; (word-wrap :read-method :arg :type boolean)
1571 ; ;; slots not accessible through the arg mechanism
1572 ; (point :type unsigned-int)
1573 ; (length :read-only t :type unsigned-int)))
1575 (defclass ruler (widget)
1578 :accessor ruler-lower
1583 :accessor ruler-upper
1588 :accessor ruler-position
1593 :accessor ruler-max-size
1597 :allocation :virtual
1598 :location (nil "gtk_ruler_set_metric")
1599 :accessor ruler-metric
1602 (:metaclass widget-class)
1603 (:alien-name "GtkRuler"))
1606 (defclass hruler (ruler)
1608 (:metaclass widget-class)
1609 (:alien-name "GtkHRuler"))
1612 (defclass vruler (ruler)
1614 (:metaclass widget-class)
1615 (:alien-name "GtkVRuler"))
1618 (defclass range (widget)
1621 :accessor range-update-policy
1622 :initarg :update-policy
1625 :allocation :virtual
1626 :location ("gtk_range_get_adjustment" "gtk_range_set_adjustment")
1627 :accessor ruler-adjustment
1628 :initarg :adjustment
1630 (:metaclass widget-class)
1631 (:alien-name "GtkRange"))
1634 (defclass scale (range)
1637 :accessor scale-digits
1642 :accessor scale-draw-value-p
1643 :initarg :draw-value
1647 :location "GtkScale::value_pos"
1648 :accessor scale-value-position
1649 :initarg :value-position
1650 :type position-type)
1652 :allocation :virtual
1653 :location "gtk_scale_get_value_width"
1654 :reader ruler-value-width
1656 (:metaclass widget-class)
1657 (:alien-name "GtkScale"))
1660 (defclass hscale (scale)
1662 (:metaclass widget-class)
1663 (:alien-name "GtkHScale"))
1666 (defclass vscale (scale)
1668 (:metaclass widget-class)
1669 (:alien-name "GtkVScale"))
1672 (defclass scrollbar (range)
1674 (:metaclass widget-class)
1675 (:alien-name "GtkScrollbar"))
1678 (defclass hscrollbar (scrollbar)
1680 (:metaclass widget-class)
1681 (:alien-name "GtkHScrollbar"))
1684 (defclass vscrollbar (scrollbar)
1686 (:metaclass widget-class)
1687 (:alien-name "GtkVScrollbar"))
1690 (defclass separator (widget)
1692 (:metaclass widget-class)
1693 (:alien-name "GtkSeparator"))
1696 (defclass hseparator (separator)
1698 (:metaclass widget-class)
1699 (:alien-name "GtkHSeparator"))
1702 (defclass vseparator (separator)
1704 (:metaclass widget-class)
1705 (:alien-name "GtkVSeparator"))
1708 ; (defclass preview widget
1710 ; ((expand :read-method :arg :type boolean)))
1712 ; (defclass progress widget
1714 ; ((activity-mode :read-method :arg :type boolean)
1715 ; (show-text :read-method :arg :type boolean)
1716 ; (text-xalign :access-method :arg :type single-float)
1717 ; (text-yalign :access-method :arg :type single-float)
1718 ; ;; slots not accessible through the arg mechanism
1719 ; (format-string :type string)
1720 ; (adjustment :type adjustment)
1721 ; (percentage :c-reader "gtk_progress_get_current_percentage"
1722 ; :type single-float)
1723 ; (value :type single-float)
1724 ; (text :c-reader "gtk_progress_get_current_text"
1725 ; :read-only t :type string)))
1727 ; (defclass progress-bar progress
1729 ; ((adjustment :c-writer "gtk_progress_set_adjustment"
1730 ; :read-method :arg :type adjustment)
1731 ; (orientation :read-method :arg :type progress-bar-orientation)
1732 ; (bar-style :read-method :arg :accessor progress-bar-style
1733 ; :type progress-bar-style)
1734 ; (activity-step :read-method :arg :type unsigned-int)
1735 ; (activity-blocks :read-method :arg :type unsigned-int)
1736 ; (discrete-blocks :read-method :arg :type unsigned-int)))
1738 ; (defclass item-factory object)