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.2 2000-08-15 19:55:08 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-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)
237 (:metaclass widget-class)
238 (:alien-name "GtkPixmap"))
241 ;; Forward declaration, the real definition is in gtkcontainer.lisp
242 (defclass container (widget)
244 (:metaclass widget-class)
245 (:alien-name "GtkContainer"))
247 (defclass container-child ()
256 (defclass bin (container)
262 (:metaclass container-class)
263 (:alien-name "GtkBin"))
265 (defclass bin-child (container-child))
268 (defclass alignment (bin)
271 :accessor alignment-xalign
276 :accessor alignment-yalign
281 :accessor alignment-xscale
286 :accessor alignment-yscale
289 (:metaclass container-class)
290 (:alien-name "GtkAlignment"))
292 (defclass alignment-child (bin-child))
295 (defclass frame (bin)
298 :accessor frame-label
303 :accessor frame-label-xalign
304 :initarg :label-xalign
308 :accessor frame-label-yalign
309 :initarg :label-yalign
313 :location "GtkFrame::shadow"
314 :accessor frame-shadow-type
315 :initarg :shadow-type
317 (:metaclass container-class)
318 (:alien-name "GtkFrame"))
320 (defclass frame-child (bin-child))
323 ; (defclass aspect-frame (frame)
326 ; :accessor aspect-frame-xalign
328 ; :type single-float)
331 ; :accessor aspect-frame-yalign
333 ; :type single-float)
336 ; :accessor aspect-frame-ratio
338 ; :type single-float)
341 ; :accessor aspect-frame-obey-child-p
342 ; :initarg :obey-child
344 ; (:metaclass container-class)
345 ; (:alien-name "GtkAspectFrame"))
347 ; (defclass aspect-frame-child (aspect-child))
350 (defclass button (bin)
353 :accessor button-label
358 :accessor button-relief
361 (:metaclass container-class)
362 (:alien-name "GtkButton"))
364 (defclass button-child (bin-child))
367 (defclass toggle-button (button)
370 :accessor toggle-button-active-p
375 :accessor toggle-button-draw-indicator-p
376 :initarg :draw-indicator
378 (:metaclass container-class)
379 (:alien-name "GtkToggleButton"))
381 (defclass toggle-button-child (button-child))
384 (defclass check-button (toggle-button)
386 (:metaclass container-class)
387 (:alien-name "GtkCheckButton"))
389 (defclass check-button-child (toggle-button-child))
392 (defclass radio-button (check-button)
396 ; :access :write-only
397 :type radio-button-group))
398 (:metaclass container-class)
399 (:alien-name "GtkRadioButton"))
401 (defclass radio-button-child (check-button-child))
404 (defclass option-menu (button)
407 :location ("gtk_option_menu_get_menu" (setf option-menu-menu))
408 :reader option-menu-menu
413 :location (nil "gtk_option_menu_set_history")
414 :writer (setf option-menu-history)
417 (:metaclass container-class)
418 (:alien-name "GtkOptionMenu"))
420 (defclass option-menu-child (button-child))
425 (:metaclass container-class)
426 (:alien-name "GtkOptionMenu"))
428 (defclass item-child (bin-child))
431 (defclass menu-item (item)
434 :location menu-item-label
439 :location ("gtk_menu_item_get_submenu" (setf menu-item-submenu))
440 :reader menu-item-submenu
445 :location ("gtk_menu_item_get_placement" "gtk_menu_item_set_placement")
446 :accessor menu-item-placement
448 :type submenu-placement)
451 :location ("gtk_menu_item_get_show_toggle"
452 (setf menu-item-toggle-indicator-p))
453 :reader menu-item-toggle-indicator-p
454 :initarg :toggle-indicator
458 :location ("gtk_menu_item_get_show_submenu"
459 (setf menu-item-submenu-indicator-p))
460 :reader menu-item-submenu-indicator-p
461 :initarg :submenu-indicator
463 (:metaclass container-class)
464 (:alien-name "GtkMenuItem"))
466 (defclass menu-item-child (item-child))
469 (defclass check-menu-item (menu-item)
472 :location ("gtk_check_menu_item_get_active"
473 "gtk_check_menu_item_set_active")
474 :accessor check-menu-item-active-p
479 :location ("gtk_check_menu_item_get_show_toggle"
480 "gtk_check_menu_item_set_show_toggle")
481 :accessor check-menu-item-toggle-indicator-p
482 :initarg :toggle-indicator
484 (:metaclass container-class)
485 (:alien-name "GtkCheckMenuItem"))
487 (defclass check-menu-item-child (menu-item-child))
490 (defclass radio-menu-item (check-menu-item)
493 :location "gtk_radio_menu_item_group"
494 :reader radio-menu-item-group
495 :type radio-menu-item-group))
496 (:metaclass container-class)
497 (:alien-name "GtkRadioMenuItem"))
499 (defclass radio-menu-item-child (check-menu-item-child))
502 (defclass tearoff-menu-item (menu-item)
504 (:metaclass container-class)
505 (:alien-name "GtkTearoffMenuItem"))
507 (defclass tearoff-menu-item-child (menu-item-child))
510 (defclass list-item (item)
512 (:metaclass container-class)
513 (:alien-name "GtkListItem"))
515 (defclass list-item-child (item-child))
519 (defclass tree-item (item)
522 ; ;; slots not accessible through the arg mechanism
523 ; ((subtree :write-method :lisp :type tree-item)))
524 (:metaclass container-class)
525 (:alien-name "GtkTreeItem"))
527 (defclass tree-item-child (item-child))
530 (defclass window (bin)
533 :accessor window-type
538 :accessor window-title
543 :accessor window-auto-shrink-p
544 :initarg :auto-shrink
548 :accessor window-allow-shrink-p
549 :initarg :allow-shrink
553 :accessor window-allow-grow-p
558 :accessor window-modal-p
563 :location "GtkWindow::window_position"
564 :accessor window-position
566 :type window-position)
569 :accessor window-default-width
570 :initarg :default-width
574 :accessor window-default-height
575 :initarg :default-height
577 (:metaclass container-class)
578 (:alien-name "GtkWindow"))
580 (defclass window-child (bin-child))
583 ; (defclass color-selection-dialog window
585 ; ;; slots not accessible through the arg mechanism
586 ; ((colorsel :read-only t :type widget)
587 ; (main-vbox :read-only t :type widget)
588 ; (ok-button :read-only t :type widget)
589 ; (reset-button :read-only t :type widget)
590 ; (cancel-button :read-only t :type widget)
591 ; (help-button :read-only t :type widget)))
593 ; (defclass dialog window
595 ; ;; slots not accessible through the arg mechanism
596 ; ((action-area :read-only t :type widget)
597 ; (vbox :read-only t :type widget)))
599 ; (defclass input-dialog dialog)
601 ; (defclass file-selection window
603 ; ;; slots not accessible through the arg mechanism
604 ; ((filename :type string)
605 ; (action-area :read-only t :type widget)
606 ; (ok-button :read-only t :type widget)
607 ; (cancel-button :read-only t :type widget)))
609 ; (defclass plug window)
612 (defclass event-box (bin)
614 (:metaclass container-class)
615 (:alien-name "GtkEventBox"))
617 (defclass event-box-child (bin-child)
619 (:metaclass child-class))
622 (defclass handle-box (bin)
625 :location "GtkHandleBox::shadow"
626 :accessor handle-box-shadow-type
627 :initarg :shadow-type
631 :accessor handle-box-handle-position
632 :initarg :handle-position
636 :accessor handle-box-snap-edge
638 :type position-type))
639 (:metaclass container-class)
640 (:alien-name "GtkHandleBox"))
642 (defclass handle-box-child (bin-child)
644 (:metaclass child-class))
647 (defclass scrolled-window (bin)
650 :accessor scrolled-window-hadjustment
651 :initarg :hadjustment
655 :accessor scrolled-window-vadjustment
656 :initarg :vadjustment
660 :accessor scrolled-window-hscrollbar-policy
661 :initarg :hscrollbar-policy
665 :accessor scrolled-window-vscrollbar-policy
666 :initarg :vscrollbar-policy
670 :location "GtkScrolledWindow::window_placement"
671 :accessor scrolled-window-placement
676 :location "GtkScrolledWindow::shadow"
677 :accessor scrolled-window-shadow-type
678 :initarg :shadow-type
682 :location "gtk_scrolled_window_get_hscrollbar"
683 :accessor scrolled-window-hscrollbar
687 :location "gtk_scrolled_window_get_vscrollbar"
688 :accessor scrolled-window-vscrollbar
690 (:metaclass container-class)
691 (:alien-name "GtkScrolledWindow"))
693 (defclass scrolled-window-child (bin-child)
695 (:metaclass child-class))
698 (defclass viewport (bin)
701 :accessor viewport-hadjustment
702 :initarg :hadjustment
706 :accessor viewport-vadjustment
707 :initarg :vadjustment
711 :accessor viewport-shadow-type
712 :initarg :shadow-type
714 (:metaclass container-class)
715 (:alien-name "GtkViewport"))
717 (defclass viewport-child (bin-child)
719 (:metaclass child-class))
722 (defclass box (container)
725 :accessor box-spacing
730 :accessor box-homogeneous-p
731 :initarg :homogeneous
733 (:metaclass container-class)
734 (:alien-name "GtkBox"))
736 (defclass box-child (container-child)
739 :accessor box-child-expand-p
744 :accessor box-child-fill-p
749 :accessor box-child-padding
754 :accessor box-child-pack-type
759 :accessor box-child-position
762 (:metaclass child-class))
765 (defclass button-box (box)
768 :location ("gtk_button_box_get_spacing" "gtk_button_box_set_spacing")
769 :accessor button-box-spacing
773 :location ("gtk_button_box_get_layout" "gtk_button_box_set_layout")
774 :accessor button-box-layout
775 :type button-box-style))
776 (:metaclass container-class)
777 (:alien-name "GtkButtonBox"))
779 (defclass button-box-child (box-child)
781 (:metaclass child-class))
784 (defclass hbutton-box (button-box)
786 (:metaclass container-class)
787 (:alien-name "GtkHButtonBox"))
789 (defclass hbutton-box-child (button-box-child)
791 (:metaclass child-class))
794 (defclass vbutton-box (button-box)
796 (:metaclass container-class)
797 (:alien-name "GtkVButtonBox"))
799 (defclass vbutton-box-child (button-box-child)
801 (:metaclass child-class))
806 (:metaclass container-class)
807 (:alien-name "GtkVBox"))
809 (defclass vbox-child (box-child)
811 (:metaclass child-class))
814 ; (defclass color-selection vbox
816 ; ((policy :c-writer "gtk_color_selection_set_update_policy"
817 ; :read-method :arg :type update-type)
818 ; (use-opacity :c-writer "gtk_color_selection_set_opacity"
819 ; :read-method :arg :type boolean)
820 ; ;; slots not accessible through the arg mechanism
821 ; (color :access-method :lisp)))
823 ; (defclass gamma-curve vbox)
828 (:metaclass container-class)
829 (:alien-name "GtkHBox"))
831 (defclass hbox-child (box-child)
833 (:metaclass child-class))
836 (defclass statusbar (hbox)
838 (:metaclass container-class)
839 (:alien-name "GtkStatusbar"))
841 (defclass statusbar-child (hbox-child)
843 (:metaclass child-class))
845 ;; CList and CTree is deprecated
846 ; (defclass clist container
848 ; :c-prefix "gtk_clist_"
850 ; ((n-columns :read-only t :initarg t :access-method :arg
851 ; :type unsigned-int)
852 ; (shadow-type :read-method :arg :type shadow-type)
853 ; (selection-mode :read-method :arg :type selection-mode)
854 ; (row-height :read-method :arg :type unsigned-int)
855 ; (reorderable :read-method :arg :type boolean)
856 ; (titles-visible :write-method :lisp :type boolean)
857 ; (titles-active :access-method :arg :type boolean)
858 ; (use-drag-icons :read-method :arg :type boolean)
859 ; (sort-type :read-method :arg :type sort-type)
860 ; ;; slots not accessible through the arg mechanism
861 ; (hadjustment :type adjustment)
862 ; (vadjustment :type adjustment)
863 ; (sort-column :type int)
864 ; (focus-row :reader %clist-focus-row :read-only t :type int)
865 ; (n-rows :read-only t :type int)))
867 ; (defclass ctree clist
869 ; :c-prefix "gtk_ctree_"
871 ; ((n-columns :read-only t :initarg t :access-method :arg
872 ; :type unsigned-int)
873 ; (tree-column :read-only t :initarg t :access-method :arg
874 ; :type unsigned-int)
875 ; (indent :read-method :arg :type unsigned-int)
876 ; (spacing :read-method :arg :type unsigned-int)
877 ; (show-stub :read-method :arg :type boolean)
878 ; (line-style :read-method :arg :type ctree-line-style)
879 ; (expander-style :read-method :arg :type ctree-expander-style)))
881 (defclass fixed (container)
883 (:metaclass container-class)
884 (:alien-name "GtkFixed"))
886 (defclass fixed-child (container-child)
888 (:metaclass child-class))
891 (defclass notebook (container)
894 :accessor notebook-tab-pos
899 :accessor notebook-show-tabs-p
904 :accessor notebook-show-border-p
905 :initarg :show-border
909 :accessor notebook-scrollable-p
914 :accessor notebook-tab-border
919 :accessor notebook-tab-hborder
920 :initarg :tab-hborder
924 :accessor notebook-tab-vborder
925 :initarg :tab-vborder
929 :accessor notebook-page
934 :accessor notebook-enable-popup-p
935 :initarg :enable-popup
939 :accessor notebook-homogeneous-p
940 :initarg :homogeneous
942 (:metaclass container-class)
943 (:alien-name "GtkNotebook"))
945 (defclass notebook-child (container-child)
948 :accessor notebook-child-tab-label
953 :accessor notebook-child-menu-label
958 :accessor notebook-child-position
963 :accessor notebook-child-tab-fill-p
968 :accessor notebook-child-tab-pack-p
971 (:metaclass child-class))
974 (defclass font-selection (notebook)
976 (:metaclass container-class)
977 (:alien-name "GtkFontSelection"))
979 (defclass font-selection-child (notebook-child)
981 (:metaclass child-class))
984 (defclass paned (container)
987 :accessor paned-handle-size
992 :location ("gtk_paned_get_position" "gtk_paned_set_position")
993 :accessor paned-position
996 (:metaclass container-class)
997 (:alien-name "GtkPaned"))
999 (defclass paned-child (container-child)
1001 (:metaclass child-class))
1004 (defclass hpaned (paned)
1006 (:metaclass container-class)
1007 (:alien-name "GtkHPaned"))
1009 (defclass hpaned-child (paned-child)
1011 (:metaclass child-class))
1014 (defclass vpaned (paned)
1016 (:metaclass container-class)
1017 (:alien-name "GtkVPaned"))
1019 (defclass vpaned-child (paned-child)
1021 (:metaclass child-class))
1024 (defclass layout (container)
1026 :allocation :virtual
1027 :location ("gtk_layout_get_hadjustment" "gtk_layout_set_hadjustment")
1028 :accessor layout-hadjustment
1029 :initarg :hadjustment
1032 :allocation :virtual
1033 :location ("gtk_layout_get_vadjustment" "gtk_layout_set_vadjustment")
1034 :accessor layout-vadjustment
1035 :initarg :vadjustment
1037 (:metaclass container-class)
1038 (:alien-name "GtkLayout"))
1040 (defclass layout-child (container-child)
1042 (:metaclass child-class))
1045 ; (defclass list-widget container
1048 ; ((selection-mode :read-method :arg :accessor list-selection-mode
1049 ; :c-writer "gtk_list_set_selection_mode"
1050 ; :type selection-mode)))
1053 (defclass menu-shell (container)
1055 (:metaclass container-class)
1056 (:alien-name "GtkMenuShell"))
1058 (defclass menu-shell-child (container-child)
1060 (:metaclass child-class))
1063 (defclass menu-bar (menu-shell)
1066 :location "GtkMenuBar::shadow"
1067 :accessor menu-bar-shadow-type
1068 :initarg :shadow-type
1070 (:metaclass container-class)
1071 (:alien-name "GtkMenuBar"))
1073 (defclass menu-bar-child (menu-shell-child)
1075 (:metaclass child-class))
1078 (defclass menu (menu-shell)
1080 :allocation :virtual
1081 :location ("gtk_menu_get_accel_group" "gtk_menu_set_accel_group")
1082 :accessor menu-accel-group
1083 :initarg :accel-group
1086 :allocation :virtual
1087 :location ("gtk_menu_get_tearoff_state" "gtk_menu_set_tearoff_state")
1088 :accessor menu-tornoff-p
1092 :allocation :virtual
1093 :location ("gtk_menu_get_title" "gtk_menu_set_title")
1094 :accessor menu-title
1097 (:metaclass container-class)
1098 (:alien-name "GtkMenu"))
1100 (defclass menu-child (menu-shell-child)
1102 (:metaclass child-class))
1105 (defclass packer (container)
1108 :accessor packer-spacing
1111 (default-border-width
1113 :accessor packer-default-border-width
1114 :initarg :default-border-width
1118 :accessor packer-default-pad-x
1119 :initarg :default-pad-x
1123 :accessor packer-default-pad-y
1124 :initarg :default-pad-y
1128 :accessor packer-default-ipad-y
1129 :initarg :default-ipad-y
1133 :accessor packer-default-ipad-y
1134 :initarg :default-ipad-y
1135 :type unsigned-int))
1136 (:metaclass container-class)
1137 (:alien-name "GtkPacker"))
1139 (defclass packer-child (container-child)
1142 :accessor packer-child-side
1147 :accessor packer-child-anchor
1152 :accessor packer-child-expand-p
1157 :accessor packer-child-fill-x-p
1162 :accessor packer-child-fill-y-p
1167 :accessor packer-child-use-default
1172 :accessor packer-child-border-width
1177 :accessor packer-child-pad-x
1182 :accessor packer-child-pad-y
1187 :accessor packer-child-ipad-x
1192 :accessor packer-child-ipad-y
1197 :accessor packer-child-position
1200 (:metaclass child-class))
1203 ;(defclass socket (container))
1206 (defclass table (container)
1209 :location "GtkTable::n_rows"
1210 :accessor table-rows
1215 :location "GtkTable::n_columns"
1216 :accessor table-columns
1221 :accessor table-row-spacing
1222 :initarg :row-spacing
1226 :accessor table-column-spacing
1227 :initarg :column-spacing
1231 :accessor table-homogeneous-p
1232 :initarg :homogeneous
1234 (:metaclass container-class)
1235 (:alien-name "GtkTable"))
1237 (defclass table-child (container-child)
1240 :accessor table-child-left-attach
1241 :initarg :left-attach
1245 :accessor table-child-right-attach
1246 :initarg :right-attach
1250 :accessor table-child-top-attach
1251 :initarg :top-attach
1255 :accessor table-child-bottom-attach
1256 :initarg :bottom-attach
1260 :accessor table-child-x-options
1262 :type attach-options)
1265 :accessor table-child-y-options
1267 :type attach-options)
1270 :accessor table-child-x-padding
1275 :accessor table-child-y-padding
1280 :allocation :virtual
1281 :location table-child-x-expand-p
1285 :allocation :virtual
1286 :location table-child-y-expand-p
1290 :allocation :virtual
1291 :location table-child-x-shrink-p
1295 :allocation :virtual
1296 :location table-child-y-shrink-p
1300 :allocation :virtual
1301 :location table-child-x-fill-p
1305 :allocation :virtual
1306 :location table-child-y-fill-p
1309 (:metaclass child-class))
1312 (defclass toolbar (container)
1315 :accessor toolbar-orientation
1316 :initarg :orientation
1320 :accessor toolbar-style
1321 :initarg :toolbar-style
1322 :type toolbar-style)
1325 :accessor toolbar-space-size
1326 :initarg :space-size
1330 :accessor toolbar-space-style
1331 :initarg :space-style
1332 :type toolbar-space-style)
1335 :accessor toolbar-relief
1339 :allocation :virtual
1340 :location ("gtk_toolbar_get_tooltips" "gtk_toolbar_set_tooltips")
1341 :accessor toolbar-tooltips-p
1344 (:metaclass container-class)
1345 (:alien-name "GtkToolbar"))
1347 (defclass toolbar-child (container-child)
1349 (:metaclass child-class))
1353 (defclass tree (container)
1356 ; ;; slots not accessible through the arg mechanism
1357 ; ((selection-mode :type selection-mode)
1358 ; (view-mode :type tree-view-mode)
1359 ; (view-lines :type boolean)
1360 ; (root-tree :read-only t :type tree)))
1361 (:metaclass container-class)
1362 (:alien-name "GtkTree"))
1365 (defclass calendar (widget)
1367 (:metaclass widget-class)
1368 (:alien-name "GtkCalendar"))
1371 (defclass drawing-area (widget)
1373 (:metaclass widget-class)
1374 (:alien-name "GtkDrawingArea"))
1376 ; (defclass curve drawing-area
1378 ; ((curve-type :read-method :arg :type curve-type)
1379 ; (min-x :access-method :arg :type single-float)
1380 ; (max-x :access-method :arg :type single-float)
1381 ; (min-y :access-method :arg :type single-float)
1382 ; (max-y :access-method :arg :type single-float)))
1384 (defclass editable (widget)
1387 :location "GtkEditable::text_position"
1388 :accessor ediatable-position
1393 :accessor ediatable-editable-p
1397 :allocation :virtual
1398 :location editable-text
1401 (:metaclass widget-class)
1402 (:alien-name "GtkEditable"))
1405 (defclass entry (editable)
1408 :accessor entry-max-length
1409 :initarg :max-length
1413 :location "GtkEntry::visibility"
1414 :accessor entry-visible-p
1417 (:metaclass widget-class)
1418 (:alien-name "GtkEntry"))
1421 (defclass combo (hbox)
1423 :allocation :virtual
1424 :location "gtk_combo_get_entry"
1428 :allocation :virtual
1429 :location ("gtk_combo_get_use_arrows" "gtk_combo_set_use_arrows")
1430 :accessor combo-use-arrows-p
1431 :initarg :use-arrows
1434 :allocation :virtual
1436 ("gtk_combo_get_use_arrows_always" "gtk_combo_set_use_arrows_always")
1437 :accessor combo-use-arrows-always-p
1438 :initarg :use-arrows-always
1441 :allocation :virtual
1442 :location ("gtk_combo_get_case_sensitive" "gtk_combo_set_case_sensitive")
1443 :accessor combo-case-sensitive-p
1444 :initarg :case-sensitive
1446 (:metaclass widget-class)
1447 (:alien-name "GtkCombo"))
1450 (defclass spin-button (entry)
1453 :accessor spin-button-adjustment
1454 :initarg :adjustment
1458 :accessor spin-button-climb-rate
1459 :initarg :climb-rate
1463 :accessor spin-button-digits
1468 :accessor spin-button-snap-to-ticks-p
1469 :initarg :snap-to-ticks
1473 :accessor spin-button-numeric-p
1478 :accessor spin-button-wrap-p
1483 :accessor spin-button-update-policy
1484 :initarg :update-policy
1485 :type spin-button-update-policy)
1488 :accessor spin-button-shadow-type
1489 :initarg :shadow-type
1493 :accessor spin-button-value
1495 :type single-float))
1496 (:metaclass widget-class)
1497 (:alien-name "GtkSpinButton"))
1501 ; (defclass text editable
1503 ; ((hadjustment :access-method :arg :type adjustment)
1504 ; (vadjustment :access-method :arg :type adjustment)
1505 ; (line-wrap :read-method :arg :type boolean)
1506 ; (word-wrap :read-method :arg :type boolean)
1507 ; ;; slots not accessible through the arg mechanism
1508 ; (point :type unsigned-int)
1509 ; (length :read-only t :type unsigned-int)))
1511 (defclass ruler (widget)
1514 :accessor ruler-lower
1519 :accessor ruler-upper
1524 :accessor ruler-position
1529 :accessor ruler-max-size
1533 :allocation :virtual
1534 :location (nil "gtk_ruler_set_metric")
1535 :accessor ruler-metric
1538 (:metaclass widget-class)
1539 (:alien-name "GtkRuler"))
1542 (defclass hruler (ruler)
1544 (:metaclass widget-class)
1545 (:alien-name "GtkHRuler"))
1548 (defclass vruler (ruler)
1550 (:metaclass widget-class)
1551 (:alien-name "GtkVRuler"))
1554 (defclass range (widget)
1557 :accessor range-update-policy
1558 :initarg :update-policy
1561 :allocation :virtual
1562 :location ("gtk_range_get_adjustment" "gtk_range_set_adjustment")
1563 :accessor ruler-adjustment
1564 :initarg :adjustment
1566 (:metaclass widget-class)
1567 (:alien-name "GtkRange"))
1570 (defclass scale (range)
1573 :accessor scale-digits
1578 :accessor scale-draw-value-p
1579 :initarg :draw-value
1583 :location "GtkScale::value_pos"
1584 :accessor scale-value-position
1585 :initarg :value-position
1586 :type position-type)
1588 :allocation :virtual
1589 :location "gtk_scale_get_value_width"
1590 :reader ruler-value-width
1592 (:metaclass widget-class)
1593 (:alien-name "GtkScale"))
1596 (defclass hscale (scale)
1598 (:metaclass widget-class)
1599 (:alien-name "GtkHScale"))
1602 (defclass vscale (scale)
1604 (:metaclass widget-class)
1605 (:alien-name "GtkVScale"))
1608 (defclass scrollbar (range)
1610 (:metaclass widget-class)
1611 (:alien-name "GtkScrollbar"))
1614 (defclass hscrollbar (scrollbar)
1616 (:metaclass widget-class)
1617 (:alien-name "GtkHScrollbar"))
1620 (defclass vscrollbar (scrollbar)
1622 (:metaclass widget-class)
1623 (:alien-name "GtkVScrollbar"))
1626 (defclass separator (widget)
1628 (:metaclass widget-class)
1629 (:alien-name "GtkSeparator"))
1632 (defclass hseparator (separator)
1634 (:metaclass widget-class)
1635 (:alien-name "GtkHSeparator"))
1638 (defclass vseparator (separator)
1640 (:metaclass widget-class)
1641 (:alien-name "GtkVSeparator"))
1644 ; (defclass preview widget
1646 ; ((expand :read-method :arg :type boolean)))
1648 ; (defclass progress widget
1650 ; ((activity-mode :read-method :arg :type boolean)
1651 ; (show-text :read-method :arg :type boolean)
1652 ; (text-xalign :access-method :arg :type single-float)
1653 ; (text-yalign :access-method :arg :type single-float)
1654 ; ;; slots not accessible through the arg mechanism
1655 ; (format-string :type string)
1656 ; (adjustment :type adjustment)
1657 ; (percentage :c-reader "gtk_progress_get_current_percentage"
1658 ; :type single-float)
1659 ; (value :type single-float)
1660 ; (text :c-reader "gtk_progress_get_current_text"
1661 ; :read-only t :type string)))
1663 ; (defclass progress-bar progress
1665 ; ((adjustment :c-writer "gtk_progress_set_adjustment"
1666 ; :read-method :arg :type adjustment)
1667 ; (orientation :read-method :arg :type progress-bar-orientation)
1668 ; (bar-style :read-method :arg :accessor progress-bar-style
1669 ; :type progress-bar-style)
1670 ; (activity-step :read-method :arg :type unsigned-int)
1671 ; (activity-blocks :read-method :arg :type unsigned-int)
1672 ; (discrete-blocks :read-method :arg :type unsigned-int)))
1674 ; (defclass item-factory object)