;; Common Lisp bindings for GTK+ v2.0.x
-;; Copyright (C) 1999-2000 Espen S. Johnsen <espejohn@online.no>
+;; Copyright (C) 1999-2001 Espen S. Johnsen <espen@users.sourceforge.org>
;;
;; This library is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public
;; License along with this library; if not, write to the Free Software
;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-;; $Id: gtktypes.lisp,v 1.1 2000-08-14 16:44:59 espen Exp $
-
+;; $Id: gtktypes.lisp,v 1.15 2002-04-02 15:03:47 espen Exp $
(in-package "GTK")
+(defclass requisition (boxed)
+ ((width
+ :allocation :alien
+ :accessor requisition-width
+ :initarg :width
+ :type int)
+ (height
+ :allocation :alien
+ :accessor requisition-height
+ :initarg :height
+ :type int))
+ (:metaclass boxed-class)
+ (:alien-name "GtkTypeRequisition"))
-; (deftype color-type
-; (enum
-; :foreground
-; :background
-; :light
-; :dark
-; :mid
-; :text
-; :base
-; :white
-; :black))
-
-
-(defclass style (gobject)
- ()
- (:metaclass gobject-class)
- (:alien-name "GtkStyle"))
-
-; (define-boxed accel-group :c-name "GtkAccelGroup")
-
-
-(deftype (accel-group "GtkAccelGroup") () 'pointer)
-
-(deftype accel-entry () 'pointer)
-(deftype radio-button-group () 'pointer)
-(deftype radio-menu-item-group () 'pointer)
-; (define-boxed ctree-node :c-name "GtkCTreeNode")
-
-
-(defclass data (object)
- ()
- (:metaclass object-class)
- (:alien-name "GtkData"))
+(defclass allocation (struct)
+ ((x
+ :allocation :alien
+ :accessor allocation-width
+ :initarg :x
+ :type int)
+ (y
+ :allocation :alien
+ :accessor allocation-width
+ :initarg :width
+ :type int)
+ (width
+ :allocation :alien
+ :accessor allocation-width
+ :initarg :width
+ :type int)
+ (height
+ :allocation :alien
+ :accessor allocation-height
+ :initarg :height
+ :type int))
+ (:metaclass proxy-class))
+(defclass border (boxed)
+ ((left
+ :allocation :alien
+ :accessor border-left
+ :initarg :left
+ :type int)
+ (right
+ :allocation :alien
+ :accessor border-right
+ :initarg :right
+ :type int)
+ (top
+ :allocation :alien
+ :accessor border-top
+ :initarg :top
+ :type int)
+ (bottom
+ :allocation :alien
+ :accessor border-bottom
+ :initarg :bottom
+ :type int))
+ (:metaclass boxed-class)
+ (:alien-name "GtkTypeBorder"))
-(defclass adjustment (data)
+(defclass adjustment (%object)
((lower
:allocation :alien
:accessor adjustment-lower
:accessor adjustment-upper
:initarg :upper
:type single-float)
- (value
+ (%value ; to get the offset right
:allocation :alien
- :accessor adjustment-value
- :initarg :value
:type single-float)
(step-increment
:allocation :alien
:allocation :alien
:accessor adjustment-page-size
:initarg :page-size
+ :type single-float)
+ (value
+ :allocation :virtual
+ :getter "gtk_adjustment_get_value"
+ :setter "gtk_adjustment_set_value"
+ :accessor adjustment-value
+ :initarg :value
:type single-float))
- (:metaclass object-class)
+ (:metaclass gobject-class)
(:alien-name "GtkAdjustment"))
-
-
-; (define-class tooltips data
-; :slots
-; ;; slots not accessible through the arg mechanism
-; ((delay :type unsigned-int)))
-
-;; Forward declaration, the real definition is in gtkwidget.lisp
-(defclass widget (object)
- ()
- (:metaclass object-class)
- (:alien-name "GtkWidget"))
-
-
-(defclass misc (widget)
- ((xalign
- :allocation :arg
- :accessor misc-xalign
- :initarg :xalign
- :type single-float)
- (yalign
- :allocation :arg
- :accessor misc-yalign
- :initarg :yalign
- :type single-float)
- (xpad
- :allocation :arg
- :accessor misc-xpad
- :initarg :xpad
- :type int)
- (ypad
- :allocation :arg
- :accessor misc-ypad
- :initarg :ypad
- :type int))
- (:metaclass widget-class)
- (:alien-name "GtkMisc"))
-
-
-(defclass label (misc)
- ((label
- :allocation :arg
- :accessor label-label
- :initarg :label
- :type string)
- (pattern
- :allocation :arg
- :accessor label-pattern
- :initarg :pattern
+(defclass stock-item (struct)
+ ((id
+ :allocation :alien
+ :accessor stock-item-id
+ :initarg :id
:type string)
- (justify
- :allocation :arg
- :accessor label-justify
- :initarg :justify
- :type justification)
- (wrap
- :allocation :arg
- :accessor label-line-wrap-p
- :initarg :wrap
- :type boolean))
- (:metaclass widget-class)
- (:alien-name "GtkLabel"))
-
-
-(defclass accel-label (label)
- ((widget
- :allocation :arg
- :location "GtkAccelLabel::accel_widget"
- :accessor accel-widget
- :initarg :widget
- :type widget)
- (width
- :allocation :virtual
- :location "gtk_accel_label_get_accel_width"
- :reader width
- :type unsigned-int))
- (:metaclass widget-class)
- (:alien-name "GtkAccelLabel"))
-
-
-(defclass tips-query (label)
- ((emit-always
- :allocation :arg
- :accessor tips-query-emit-always-p
- :initarg :emit-always
- :type boolean)
- (caller
- :allocation :arg
- :accessor tips-query-caller
- :initarg :caller
- :type widget)
- (label-inactive
- :allocation :arg
- :accessor tips-query-label-inactive
- :initarg :label-inactive
+ (label
+ :allocation :alien
+ :accessor stock-item-label
+ :initarg :label
:type string)
- (label-no-tip
- :allocation :arg
- :accessor tips-query-label-no-tip
- :initarg :label-no-tip
+ (modifier
+ :allocation :alien
+ :accessor stock-item-modifier
+ :initarg :modifier
+ :type gdk:modifier-type)
+ (keyval
+ :allocation :alien
+ :accessor stock-item-keyval
+ :initarg :keyval
+ :type int)
+ (translation-domain
+ :allocation :alien
+ :accessor stock-item-translation-domain
+ :initarg :translation-domain
:type string))
- (:metaclass widget-class)
- (:alien-name "GtkTipsQuery"))
-
-
-(defclass arrow (misc)
- ((arrow-type
- :allocation :arg
- :accessor arrow-arrow-type
- :initarg :arrow-type
- :type arrow-type)
- (shadow-type
- :allocation :arg
- :accessor arrow-shadow-type
- :initarg :shadow-type
- :type shadow-type))
- (:metaclass widget-class)
- (:alien-name "GtkArrow"))
-
-
-(defclass image (misc)
- ()
- (:metaclass widget-class)
- (:alien-name "GtkImage"))
-
-
-(defclass pixmap (misc)
- ()
- (:metaclass widget-class)
- (:alien-name "GtkPixmap"))
-
-
-;; Forward declaration, the real definition is in gtkcontainer.lisp
-(defclass container (widget)
- ()
- (:metaclass widget-class)
- (:alien-name "GtkContainer"))
-
-(defclass container-child ()
- ((parent
- :initarg :parent
- :type container)
- (child
- :initarg :child
- :type widget)))
-
-
-(defclass bin (container)
- ((child
- :allocation :virtual
- :location bin-child
- :initarg :child
- :type widget))
- (:metaclass container-class)
- (:alien-name "GtkBin"))
-
-(defclass bin-child (container-child))
+ (:metaclass proxy-class))
-(defclass alignment (bin)
- ((xalign
- :allocation :arg
- :accessor alignment-xalign
- :initarg :xalign
- :type single-float)
- (yalign
- :allocation :arg
- :accessor alignment-yalign
- :initarg :yalign
- :type single-float)
- (xscale
- :allocation :arg
- :accessor alignment-xscale
- :initarg :xscale
- :type single-float)
- (yscale
- :allocation :arg
- :accessor alignment-yscale
- :initarg :yscale
- :type single-float))
- (:metaclass container-class)
- (:alien-name "GtkAlignment"))
-(defclass alignment-child (bin-child))
-
-
-(defclass frame (bin)
- ((label
- :allocation :arg
- :accessor frame-label
- :initarg :label
- :type string)
- (label-xalign
- :allocation :arg
- :accessor frame-label-xalign
- :initarg :label-xalign
- :type single-float)
- (label-yalign
- :allocation :arg
- :accessor frame-label-yalign
- :initarg :label-yalign
- :type single-float)
- (shadow-type
- :allocation :arg
- :location "GtkFrame::shadow"
- :accessor frame-shadow-type
- :initarg :shadow-type
- :type shadow-type))
- (:metaclass container-class)
- (:alien-name "GtkFrame"))
+(define-types-by-introspection "Gtk"
+ ;; Manually defined
+ ("GtkObject" :ignore t)
+ ("GtkRequisition" :ignore t)
+ ("GtkBorder" :ignore t)
+ ("GtkAdjustment" :ignore t)
-(defclass frame-child (bin-child))
-
-; (defclass aspect-frame (frame)
-; ((xalign
-; :allocation :arg
-; :accessor aspect-frame-xalign
-; :initarg :xalign
-; :type single-float)
-; (yalign
-; :allocation :arg
-; :accessor aspect-frame-yalign
-; :initarg :yalign
-; :type single-float)
-; (ratio
-; :allocation :arg
-; :accessor aspect-frame-ratio
-; :initarg :ratio
-; :type single-float)
-; (obey-child
-; :allocation :arg
-; :accessor aspect-frame-obey-child-p
-; :initarg :obey-child
-; :type boolean))
-; (:metaclass container-class)
-; (:alien-name "GtkAspectFrame"))
-
-; (defclass aspect-frame-child (aspect-child))
-
-
-(defclass button (bin)
- ((label
- :allocation :arg
- :accessor button-label
- :initarg :label
- :type string)
- (relief
- :allocation :arg
- :accessor button-relief
- :initarg :relief
- :type relief-style))
- (:metaclass container-class)
- (:alien-name "GtkButton"))
-
-(defclass button-child (bin-child))
+ ;; Manual override
+ ("GtkWidget"
+ :slots
+ ((child-slots
+ :allocation :instance
+ :accessor widget-child-slots
+ :type container-child)
+ (parent-window
+ :allocation :virtual
+ :getter "gtk_widget_get_parent_window"
+ :setter "gtk_widget_set_parent_window"
+ :accessor widget-parent-window
+ :type gdk:window)
+ (window
+ :allocation :virtual
+ :getter "gtk_widget_get_window"
+ :reader widget-window
+ :type gdk:window)
+ (state
+ :allocation :virtual
+ :getter "gtk_widget_get_state"
+ :setter "gtk_widget_set_state"
+ :accessor widget-state
+ :initarg :state
+ :type state-type)
+ (colormap
+ :allocation :virtual
+ :getter "gtk_widget_get_colormap"
+ :setter "gtk_widget_set_colormap"
+ :initarg :colormap
+ :accessor widget-colormap
+ :type gdk:colormap)
+ (visual
+ :allocation :virtual
+ :getter "gtk_widget_get_visual"
+ :reader widget-visual
+ :type gdk:visual)
+ (direction
+ :allocation :virtual
+ :getter "gtk_widget_get_direction"
+ :setter "gtk_widget_set_direction"
+ :accessor widget-direction
+ :initarg :direction
+ :type text-direction)
+ (composite-name
+ :allocation :virtual
+ :getter "gtk_widget_get_composite_name"
+ :setter "gtk_widget_set_composite_name"
+ :accessor widget-composite-name
+ :initarg :composite-name
+ :type string)
+ (settings
+ :allocation :virtual
+ :getter "gtk_widget_get_settings"
+ :accessor widget-settings
+ :type settings)
+ (child-visible
+ :allocation :virtual
+ :getter "gtk_widget_get_child_visible"
+ :setter "gtk_widget_set_child_visible"
+ :accessor widget-child-visible-p
+ :initarg :child-visible
+ :type boolean)))
+
+ ("GtkContainer"
+ :slots
+ ((child
+ :ignore t)
+ (children
+ :allocation :virtual
+ :getter container-children
+ :setter (setf container-children))
+ (focus-child
+ :allocation :virtual
+ :getter "gtk_container_get_focus_child"
+ :setter "gtk_container_set_focus_child"
+ :accessor container-focus-child
+ :initarg :focus-child
+ :type widget)
+ (focus-chain
+ :allocation :virtual
+ :getter container-focus-chain
+ :setter (setf container-focus-chain))
+ (focus-hadjustment
+ :allocation :virtual
+ :getter "gtk_container_get_focus_hadjustment"
+ :setter "gtk_container_set_focus_hadjustment"
+ :accessor container-focus-hadjustment
+ :initarg :focus-hadjustment
+ :type adjustment)
+ (focus-vadjustment
+ :allocation :virtual
+ :getter "gtk_container_get_focus_vadjustment"
+ :setter "gtk_container_set_focus_vadjustment"
+ :accessor container-focus-vadjustment
+ :initarg :focus-vadjustment
+ :type adjustment)))
+
+ ("GtkBin"
+ :slots
+ ((child
+ :allocation :virtual
+ :getter "gtk_bin_get_child"
+ :setter (setf bin-child)
+ :reader bin-child
+ :type widget)))
+
+ ("GtkWindow"
+ :slots
+ ((gravity
+ :allocation :virtual
+ :getter "gtk_window_get_gravity"
+ :setter "gtk_window_set_gravity"
+ :accessor window-gravity
+ :initarg :gravity
+ :type gdk:gravity)
+ (focus-widget
+ :allocation :virtual
+ :getter "gtk_window_get_focus"
+ :setter "gtk_window_set_focus"
+ :accessor window-focus-widget
+ :initarg :focus-widget
+ :type widget)
+ (default-widget
+ :allocation :virtual
+ :getter "gtk_window_get_default"
+ :setter "gtk_window_set_default"
+ :accessor window-default-widget
+ :initarg :default-widget
+ :type widget)
+ (decorated
+ :allocation :virtual
+ :getter "gtk_window_get_decorated"
+ :setter "gtk_window_set_decorated"
+ :accessor window-decorated-p
+ :initarg :decorated
+ :type boolean)
+ (has-frame
+ :allocation :virtual
+ :getter "gtk_window_get_has_frame"
+ :setter "gtk_window_set_has_frame"
+ :accessor window-has-frame-p
+ :initarg :has-frame
+ :type boolean)
+ (role
+ :allocation :virtual
+ :getter "gtk_window_get_role"
+ :setter "gtk_window_set_role"
+ :accessor window-role
+ :initarg :role
+ :type string)
+ (type-hint
+ :allocation :virtual
+ :getter "gtk_window_get_type_hint"
+ :setter "gtk_window_set_type_hint"
+ :accessor window-type-hint
+ :initarg :type-hint
+ :type gdk:window-type-hint)
+ (icon
+ :allocation :virtual
+ :getter window-icon
+ :setter (setf window-icon)
+ :initarg :icon)
+ (mnemonic-modifier
+ :allocation :virtual
+ :getter "gtk_window_get_mnemonic_modifier"
+ :setter "gtk_window_set_mnemonic_modifier"
+ :accessor window-mnemonic-modifier
+ :initarg :mnemonic-modifier
+ :type gdk:modifier-type)
+ (transient-for
+ :allocation :virtual
+ :getter "gtk_window_get_transient_for"
+ :setter "gtk_window_set_transient_for"
+ :accessor window-transient-for
+ :initarg :transient-for
+ :type window)))
-
-(defclass toggle-button (button)
- ((active
- :allocation :arg
- :accessor toggle-button-active-p
- :initarg :active
- :type boolean)
- (draw-indicator
- :allocation :arg
- :accessor toggle-button-draw-indicator-p
- :initarg :draw-indicator
- :type boolean))
- (:metaclass container-class)
- (:alien-name "GtkToggleButton"))
-
-(defclass toggle-button-child (button-child))
-
-
-(defclass check-button (toggle-button)
- ()
- (:metaclass container-class)
- (:alien-name "GtkCheckButton"))
-
-(defclass check-button-child (toggle-button-child))
-
-
-(defclass radio-button (check-button)
- ((group
- :allocation :arg
- :initarg :group
-; :access :write-only
- :type pointer)) ;radio-button-group))
- (:metaclass container-class)
- (:alien-name "GtkRadioButton"))
-
-(defclass radio-button-child (check-button-child))
+ ("GtkTooltips"
+ :slots
+ ((enabled
+ :allocation :virtual
+ :getter "gtk_tooltips_get_enabled"
+ :setter (setf tooltips-enabled-p)
+ :reader tooltips-enabled-p
+ :initarg :enabled
+ :type boolean)))
-
-(defclass option-menu (button)
- ((menu
+ ("GtkOptionMenu"
+ :slots
+ ((menu
+ :allocation :virtual
+ :getter "gtk_option_menu_get_menu"
+ :setter (setf option-menu-menu)
+ :reader option-menu-menu
+ :initarg :menu
+ :type menu)
+ (history
+ :allocation :virtual
+ :getter "gtk_option_menu_get_history"
+ :setter "gtk_option_menu_set_history"
+ :accessor option-menu-history
+ :initarg :history
+ :type unsigned-int)))
+
+ ("GtkMenuItem"
+ :slots
+ ((label
+ :allocation :virtual
+ :getter menu-item-label
+ :setter (setf menu-item-label)
+ :initarg :label
+ :type string)
+ (right-justified
+ :allocation :virtual
+ :getter "gtk_menu_item_get_right_justified"
+ :setter "gtk_menu_item_set_right_justified"
+ :accessor menu-item-right-justified-p
+ :initarg :right-justified
+ :type boolean)
+ (submenu
+ :allocation :virtual
+ :getter "gtk_menu_item_get_submenu"
+ :setter (setf menu-item-submenu)
+ :reader menu-item-submenu
+ :initarg :submenu
+ :type menu-item)))
+
+ ("GtkColorSelectionDialog"
+ :slots
+ ((colorsel
+ :allocation :alien
+ :reader color-selection-dialog-colorsel
+ :type widget)
+ (ok-button
+ :allocation :alien
+ :reader color-selection-dialog-ok-button
+ :type widget)
+ (cancel-button
+ :allocation :alien
+ :reader color-selection-dialog-cancel-button
+ :type widget)
+ (help-button
+ :allocation :alien
+ :reader color-selection-dialog-help-button
+ :type widget)))
+
+ ("GtkScrolledWindow"
+ :slots
+ ((hscrollbar
+ :allocation :alien
+ :reader scrolled-window-hscrollbar
+ :type widget)
+ (vscrollbar
+ :allocation :alien
+ :reader scrolled-window-vscrollbar
+ :type widget)))
+
+ ("GtkPaned"
+ :slot
+ ((child1
:allocation :virtual
- :location ("gtk_option_menu_get_menu" (setf option-menu-menu))
- :reader option-menu-menu
- :initarg :menu
+ :getter paned-child1
+ :setter (setf paned-child1)
+ :initarg :child1
:type widget)
- (history
+ (child2
:allocation :virtual
- :location (nil "gtk_option_menu_set_history")
- :writer (setf option-menu-history)
- :initarg :history
- :type unsigned-int))
- (:metaclass container-class)
- (:alien-name "GtkOptionMenu"))
-
-(defclass option-menu-child (button-child))
-
-
-(defclass item (bin)
- ()
- (:metaclass container-class)
- (:alien-name "GtkOptionMenu"))
-
-(defclass item-child (bin-child))
-
+ :getter paned-child2
+ :setter (setf paned-child2)
+ :initarg :child2
+ :type widget)))
-(defclass menu-item (item)
- ()
-; :slots
-; ;; slots not accessible through the arg mechanism
-; ((label :write-only t :access-method :lisp :type string)
-; (submenu :write-method :lisp :type menu-item)
-; (placement :write-only t :type submenu-placement)
-; (toggle-indicator :c-reader "gtk_menu_item_get_show_toggle"
-; :write-method :lisp :type boolean)
-; (submenu-indicator :c-reader "gtk_menu_item_get_show_submenu"
-; :write-method :lisp :type boolean)))
- (:metaclass container-class)
- (:alien-name "GtkMenuItem"))
+ ("GtkMenu"
+ :slots
+ ((accel-group
+ :allocation :virtual
+ :getter "gtk_menu_get_accel_group"
+ :setter "gtk_menu_set_accel_group"
+ :accessor menu-accel-group
+ :initarg :accel-group
+ :type accel-group)
+ (title
+ :allocation :virtual
+ :getter "gtk_menu_get_title"
+ :setter "gtk_menu_set_title"
+ :accessor menu-title
+ :initarg :title
+ :type string)
+ (active
+ :allocation :virtual
+ :getter "gtk_menu_get_active"
+ :setter (setf menu-active)
+ :reader menu-active
+ :initarg :active
+ :type widget)
+ (tornoff
+ :allocation :virtual
+ :getter "gtk_menu_get_tearoff_state"
+ :setter "gtk_menu_set_tearoff_state"
+ :accessor menu-tornoff-p
+ :initarg :tearoff
+ :type boolean)))
+
+ ("GtkToolbar"
+ :slots
+ ((tooltips
+ :allocation :virtual
+ :getter "gtk_toolbar_get_tooltips"
+ :setter "gtk_toolbar_set_tooltips"
+ :accessor toolbar-tooltips-p
+ :initarg :tooltips
+ :type boolean)
+ (icon-size
+ :allocation :virtual
+ :getter "gtk_toolbar_get_icon_size"
+ :setter "gtk_toolbar_set_icon_size"
+ :accessor toolbar-icon-size
+ :initarg :icon-size
+ :type icon-size)))
+
+ ("GtkNotebook"
+ :slots
+ ((current-page
+ :allocation :virtual
+ :getter notebook-current-page
+ :setter (setf notebook-current-page)
+ :initarg :current-page)
+ (page :ignore t)))
-(defclass menu-item-child (item-child))
-
+ ("GtkRuler"
+ :slots
+ ((metric
+ :allocation :virtual
+ :getter "gtk_ruler_get_metric"
+ :setter "gtk_ruler_set_metric"
+ :accessor ruler-metric
+ :initarg :metric
+ :type metric-type)))
+
+ ("GtkProgressBar"
+ :slots
+ ; deprecated properties
+ ((bar-style :ignore t)
+ (adjustment :ignore t)
+ (activity-step :ignore t)
+ (activity-blocks :ignore t)
+ (discrete-blocks :ignore t)))
+
+ ("GtkTable"
+ :slots
+ ((column-spacing
+ :allocation :virtual
+ :getter "gtk_table_get_default_col_spacing"
+ :setter "gtk_table_set_col_spacings"
+ :initarg :column-spacing
+ :type unsigned-int)
+ (row-spacing
+ :allocation :virtual
+ :getter "gtk_table_get_default_row_spacing"
+ :setter "gtk_table_set_row_spacings"
+ :initarg :row-spacing
+ :type unsigned-int)))
+
+ ("GtkDialog"
+ :slots
+ ((main-area
+ :allocation :virtual
+ :getter "gtk_dialog_get_vbox"
+ :reader dialog-main-area
+ :type widget)
+ (action-area
+ :allocation :virtual
+ :getter "gtk_dialog_get_action_area"
+ :reader dialog-action-area
+ :type widget)))
+
+ ("GtkCombo"
+ :slots
+ ((entry
+ :allocation :virtual
+ :getter "gtk_combo_get_entry"
+ :reader combo-entry
+ :type entry)))
-(defclass check-menu-item (menu-item)
- ()
-; :slots
-; ;; slots not accessible through the arg mechanism
-; ((active :type boolean)
-; (toggle-indicator :c-writer "gtk_check_menu_item_set_show_toggle"
-; :c-reader "gtk_check_menu_item_get_show_toggle"
-; :type boolean)))
- (:metaclass container-class)
- (:alien-name "GtkCheckMenuItem"))
-
-(defclass check-menu-item-child (menu-item-child))
+ ("GtkRadioButton"
+ :slots
+ ((group
+ :allocation :virtual
+ :getter "gtk_radio_button_get_group"
+ :reader radio-button-group
+ :type (static (gslist widget)))))
+
+ ("GtkRadioMenuItem"
+ :slots
+ ((group
+ :allocation :virtual
+ :getter "gtk_radio_menu_item_get_group"
+ :reader radio-menu-item-group
+ :type (static (gslist widget)))))
+
+ ("GtkFileSelection"
+ :slots
+ ((action-area
+ :allocation :virtual
+ :getter "gtk_file_selection_get_action_area"
+ :reader file-selection-action-area
+ :type widget)
+ (ok-button
+ :allocation :virtual
+ :getter "gtk_file_selection_get_ok_button"
+ :reader file-selection-ok-button
+ :type widget)
+ (cancel-button
+ :allocation :virtual
+ :getter "gtk_file_selection_get_cancel_button"
+ :reader file-selection-cancel-button
+ :type widget)))
+
+ ("GtkLayout"
+ :slots
+ ((bin-window
+ :getter "gtk_layout_get_bin_window"
+ :reader layout-bin-window
+ :type gdk:window)))
+
+ ("GtkFixed"
+ :slots
+ ((has-window
+ :getter "gtk_fixed_get_has_window"
+ :setter "gtk_fixed_set_has_window"
+ :reader fixed-has-window-p
+ :initarg :has-window
+ :type boolean)))
+
+ ;; Not needed
+ ("GtkFundamentalType" :ignore t)
+ ("GtkArgFlags" :ignore t)
-(defclass radio-menu-item (check-menu-item)
- ()
-; :slots
-; ;; slots not accessible through the arg mechanism
-; ((group :c-reader "gtk_radio_menu_item_group"
-; :type radio-menu-item-group)))
- (:metaclass container-class)
- (:alien-name "GtkRadioMenuItem"))
-
-(defclass radio-menu-item-child (check-menu-item-child))
-
-
-(defclass tearoff-menu-item (menu-item)
- ()
- (:metaclass container-class)
- (:alien-name "GtkTearoffMenuItem"))
-
-(defclass tearoff-menu-item-child (menu-item-child))
-
-(defclass list-item (item)
- ()
- (:metaclass container-class)
- (:alien-name "GtkListItem"))
-
-(defclass list-item-child (item-child))
-
-(defclass tree-item (item)
- ()
-; :slots
-; ;; slots not accessible through the arg mechanism
-; ((subtree :write-method :lisp :type tree-item)))
- (:metaclass container-class)
- (:alien-name "GtkTreeItem"))
-
-(defclass tree-item-child (item-child))
-
-
-(defclass window (bin)
- ((type
- :allocation :arg
- :accessor window-type
- :initarg :type
- :type window-type)
- (title
- :allocation :arg
- :accessor window-title
- :initarg :title
- :type string)
- (auto-shrink
- :allocation :arg
- :accessor window-auto-shrink-p
- :initarg :auto-shrink
- :type boolean)
- (allow-shrink
- :allocation :arg
- :accessor window-allow-shrink-p
- :initarg :allow-shrink
- :type boolean)
- (allow-grow
- :allocation :arg
- :accessor window-allow-grow-p
- :initarg :allow-grow
- :type boolean)
- (modal
- :allocation :arg
- :accessor window-modal-p
- :initarg :modal
- :type boolean)
- (position
- :allocation :arg
- :location "GtkWindow::window_position"
- :accessor window-position
- :initarg :position
- :type window-position)
- (default-width
- :allocation :arg
- :accessor window-default-width
- :initarg :default-width
- :type int)
- (default-height
- :allocation :arg
- :accessor window-default-height
- :initarg :default-height
- :type int))
- (:metaclass container-class)
- (:alien-name "GtkWindow"))
-
-(defclass window-child (bin-child))
-
-
-; (defclass color-selection-dialog window
-; :slots
-; ;; slots not accessible through the arg mechanism
-; ((colorsel :read-only t :type widget)
-; (main-vbox :read-only t :type widget)
-; (ok-button :read-only t :type widget)
-; (reset-button :read-only t :type widget)
-; (cancel-button :read-only t :type widget)
-; (help-button :read-only t :type widget)))
-
-; (defclass dialog window
-; :slots
-; ;; slots not accessible through the arg mechanism
-; ((action-area :read-only t :type widget)
-; (vbox :read-only t :type widget)))
-
-; (defclass input-dialog dialog)
-
-; (defclass file-selection window
-; :slots
-; ;; slots not accessible through the arg mechanism
-; ((filename :type string)
-; (action-area :read-only t :type widget)
-; (ok-button :read-only t :type widget)
-; (cancel-button :read-only t :type widget)))
-
-; (defclass plug window)
-
-; (defclass event-box bin)
-
-; (defclass handle-box bin
-; :slots
-; ((shadow-type :read-method :arg :arg-name "shadow"
-; :type shadow-type)
-; (handle-position :read-method :arg :type position-type)
-; (snap-edge :read-method :arg :type position-type)))
-
-(defclass scrolled-window (bin)
- ((hadjustment
- :allocation :arg
- :accessor scrolled-window-hadjustment
- :initarg :hadjustment
- :type adjustment)
- (vadjustment
- :allocation :arg
- :accessor scrolled-window-vadjustment
- :initarg :vadjustment
- :type adjustment)
- (hscrollbar-policy
- :allocation :arg
- :accessor scrolled-window-hscrollbar-policy
- :initarg :hscrollbar-policy
- :type policy-type)
- (vscrollbar-policy
- :allocation :arg
- :accessor scrolled-window-vscrollbar-policy
- :initarg :vscrollbar-policy
- :type policy-type)
- (placement
- :allocation :arg
- :location "GtkScrolledWindow::window_placement"
- :accessor scrolled-window-placement
- :initarg :placement
- :type corner-type)
- (shadow-type
- :allocation :arg
- :location "GtkScrolledWindow::shadow"
- :accessor scrolled-window-shadow-type
- :initarg :shadow-type
- :type shadow-type)
- (hscrollbar
- :allocation :virtual
- :location "gtk_scrolled_window_get_hscrollbar"
- :accessor scrolled-window-hscrollbar
- :type widget)
- (vscrollbar
- :allocation :virtual
- :location "gtk_scrolled_window_get_vscrollbar"
- :accessor scrolled-window-vscrollbar
- :type widget))
- (:metaclass container-class)
- (:alien-name "GtkScrolledWindow"))
-
-(defclass scrolled-window-child (bin-child))
-
-
-
-; (defclass viewport bin
-; :slots
-; ((hadjustment :read-method :arg :type adjustment)
-; (vadjustment :read-method :arg :type adjustment)
-; (shadow-type :read-method :arg :type shadow-type)))
-
-(defclass box (container)
- ((spacing
- :allocation :arg
- :accessor box-spacing
- :initarg :spacing
- :type int)
- (homogeneous
- :allocation :arg
- :accessor box-homogeneous-p
- :initarg :homogeneous
- :type boolean))
- (:metaclass container-class)
- (:alien-name "GtkBox"))
-
-(defclass box-child (container-child)
- ((expand
- :allocation :arg
- :accessor box-child-expand-p
- :initarg :expand
- :type boolean)
- (fill
- :allocation :arg
- :accessor box-child-fill-p
- :initarg :fill
- :type boolean)
- (padding
- :allocation :arg
- :accessor box-child-padding
- :initarg :padding
- :type unsigned-long)
- (pack-type
- :allocation :arg
- :accessor box-child-pack-type
- :initarg :pack-type
- :type pack-type)
- (position
- :allocation :arg
- :accessor box-child-position
- :initarg :position
- :type long))
- (:metaclass child-class))
-
-
-(defclass button-box (box)
- ((spacing
- :allocation :virtual
- :location ("gtk_button_box_get_spacing" "gtk_button_box_set_spacing")
- :accessor button-box-spacing
- :type int)
- (layout
- :allocation :virtual
- :location ("gtk_button_box_get_layout" "gtk_button_box_set_layout")
- :accessor button-box-layout
- :type button-box-style))
- (:metaclass container-class)
- (:alien-name "GtkButtonBox"))
-
-(defclass button-box-child (box-child)
- ()
- (:metaclass child-class))
-
-(defclass hbutton-box (button-box)
- ()
- (:metaclass container-class)
- (:alien-name "GtkHButtonBox"))
-
-(defclass hbutton-box-child (button-box-child)
- ()
- (:metaclass child-class))
-
-(defclass vbutton-box-child (button-box-child)
- ()
- (:metaclass child-class))
-
-(defclass vbox (box)
- ()
- (:metaclass container-class)
- (:alien-name "GtkVBox"))
-
-(defclass vbox-child (box-child)
- ()
- (:metaclass child-class))
-
-
-
-; (defclass color-selection vbox
-; :slots
-; ((policy :c-writer "gtk_color_selection_set_update_policy"
-; :read-method :arg :type update-type)
-; (use-opacity :c-writer "gtk_color_selection_set_opacity"
-; :read-method :arg :type boolean)
-; ;; slots not accessible through the arg mechanism
-; (color :access-method :lisp)))
-
-; (defclass gamma-curve vbox)
-
-(defclass hbox (box)
- ()
- (:metaclass container-class)
- (:alien-name "GtkHBox"))
-
-(defclass hbox-child (box-child)
- ()
- (:metaclass child-class))
-
-
-
-; (defclass statusbar hbox)
-
-; (defclass clist container
-; :c-name "GtkCList"
-; :c-prefix "gtk_clist_"
-; :slots
-; ((n-columns :read-only t :initarg t :access-method :arg
-; :type unsigned-int)
-; (shadow-type :read-method :arg :type shadow-type)
-; (selection-mode :read-method :arg :type selection-mode)
-; (row-height :read-method :arg :type unsigned-int)
-; (reorderable :read-method :arg :type boolean)
-; (titles-visible :write-method :lisp :type boolean)
-; (titles-active :access-method :arg :type boolean)
-; (use-drag-icons :read-method :arg :type boolean)
-; (sort-type :read-method :arg :type sort-type)
-; ;; slots not accessible through the arg mechanism
-; (hadjustment :type adjustment)
-; (vadjustment :type adjustment)
-; (sort-column :type int)
-; (focus-row :reader %clist-focus-row :read-only t :type int)
-; (n-rows :read-only t :type int)))
-
-; (defclass ctree clist
-; :c-name "GtkCTree"
-; :c-prefix "gtk_ctree_"
-; :slots
-; ((n-columns :read-only t :initarg t :access-method :arg
-; :type unsigned-int)
-; (tree-column :read-only t :initarg t :access-method :arg
-; :type unsigned-int)
-; (indent :read-method :arg :type unsigned-int)
-; (spacing :read-method :arg :type unsigned-int)
-; (show-stub :read-method :arg :type boolean)
-; (line-style :read-method :arg :type ctree-line-style)
-; (expander-style :read-method :arg :type ctree-expander-style)))
-
-; (defclass fixed container)
-
-; (defclass notebook container
-; :slots
-; ((show-tabs :read-method :arg :type boolean)
-; (show-border :read-method :arg :type boolean)
-; (scrollable :read-method :arg :type boolean)
-; (enable-popup :access-method :arg :type boolean)
-; (homogeneous :c-writer "gtk_notebook_set_homogeneous_tabs"
-; :read-method :arg :type boolean)
-; (current-page :c-writer "gtk_notebook_set_page" :type int)
-; (tab-pos :read-method :arg :type position-type)
-; (tab-border :read-method :arg :type unsigned-int)
-; (tab-hborder :read-method :arg :type unsigned-int)
-; (tab-vborder :read-method :arg :type unsigned-int))
-; :child-slots
-; ((tab-label :access-method :arg :type string)
-; (menu-label :access-method :arg :type string)
-; (tab-fill :access-method :arg :type boolean)
-; (tab-pack :access-method :arg :type boolean)
-; (position :access-method :arg :type int)))
-
-; (defclass font-selection notebook)
-
-; (defclass paned container
-; :constructor nil
-; :slots
-; ((handle-size :read-method :arg :type unsigned-int)
-; (gutter-size :read-method :arg :type unsigned-int)
-; ;; slots not accessible through the arg mechanism
-; (position :write-only t :type int)))
-
-; (defclass hpaned paned)
-
-; (defclass vpaned paned)
-
-; (defclass layout container
-; :slots
-; ;; slots not accessible through the arg mechanism
-; ((hadjustment :type adjustment)
-; (vadjustment :type adjustment)
-; (bin-window :read-only t :type gdk:window)))
-
-; (defclass list-widget container
-; :c-name "GtkList"
-; :slots
-; ((selection-mode :read-method :arg :accessor list-selection-mode
-; :c-writer "gtk_list_set_selection_mode"
-; :type selection-mode)))
-
-; (defclass menu-shell container :constructor nil)
-
-; (defclass menu-bar menu-shell
-; :slots
-; ((shadow-type :read-method :arg :arg-name "shadow"
-; :type shadow-type)))
-
-; (defclass menu menu-shell
-; :slots
-; ;; slots not accessible through the arg mechanism
-; ((accel-group :type accel-group)
-; (tearoff-state :write-only t :type boolean)
-; (title :write-only t :type string)))
-
-; (defclass packer container
-; :slots
-; ((spacing :read-method :arg :type unsigned-int)
-; (default-border-width :read-method :arg :type unsigned-int)
-; (default-pad-x :access-method :arg :type unsigned-int)
-; (default-pad-y :access-method :arg :type unsigned-int)
-; (default-ipad-x :access-method :arg :type unsigned-int)
-; (default-ipad-y :access-method :arg :type unsigned-int))
-; :child-slots
-; ((side :access-method :arg :type side-type)
-; (anchor :access-method :arg :type anchor-type)
-; (expand :access-method :arg :type boolean)
-; (fill-x :access-method :arg :type boolean)
-; (fill-y :access-method :arg :type boolean)
-; (use-default :access-method :arg :type boolean)
-; (border-width :access-method :arg :type unsigned-int)
-; (pad-x :access-method :arg :type unsigned-int)
-; (pad-y :access-method :arg :type unsigned-int)
-; (ipad-x :access-method :arg :type unsigned-int)
-; (ipad-y :access-method :arg :type unsigned-int)
-; (position :access-method :arg :type long)))
-
-; (defclass socket container)
-
-; (defclass table container
-; :slots
-; ((rows :access-method :arg :arg-name "n_rows"
-; :type unsigned-int)
-; (columns :access-method :arg :arg-name "n_columns"
-; :type unsigned-int)
-; (row-spacing :c-writer "gtk_table_set_row_spacings"
-; :accessor table-row-spacings
-; :read-method :arg :type unsigned-int)
-; (column-spacing :c-writer "gtk_table_set_col_spacings"
-; :accessor table-column-spacings
-; :read-method :arg :type unsigned-int)
-; (homogeneous :read-method :arg :type boolean))
-; :child-slots
-; ((left-attach :access-method :arg :type unsigned-int)
-; (right-attach :access-method :arg :type unsigned-int)
-; (top-attach :access-method :arg :type unsigned-int)
-; (bottom-attach :access-method :arg :type unsigned-int)
-; (x-options :access-method :arg :type attach-options)
-; (y-options :access-method :arg :type attach-options)
-; (x-padding :access-method :arg :type unsigned-int)
-; (y-padding :access-method :arg :type unsigned-int)
-; ;; Slots added for convenience sake
-; (x-expand :access-method :lisp :type boolean)
-; (y-expand :access-method :lisp :type boolean)
-; (x-shrink :access-method :lisp :type boolean)
-; (y-shrink :access-method :lisp :type boolean)
-; (x-fill :access-method :lisp :type boolean)
-; (y-fill :access-method :lisp :type boolean)))
-
-; (defclass toolbar container
-; :slots
-; ((orientation :read-method :arg :type orientation)
-; (toolbar-style :accessor toolbar-style
-; :c-writer "gtk_toolbar_set_style"
-; :read-method :arg :type toolbar-style)
-; (space-size :read-method :arg :type unsigned-int)
-; (space-style :read-method :arg :type toolbar-space-style)
-; (relief :c-writer "gtk_toolbar_set_button_relief"
-; :read-method :arg :type relief-style)
-; ;; slots not accessible through the arg mechanism
-; (tooltips :write-only t :type boolean)))
-
-(defclass tree (container)
- ()
-; :slots
-; ;; slots not accessible through the arg mechanism
-; ((selection-mode :type selection-mode)
-; (view-mode :type tree-view-mode)
-; (view-lines :type boolean)
-; (root-tree :read-only t :type tree)))
- (:metaclass container-class)
- (:alien-name "GtkTree"))
-
-
-(defclass calendar (widget)
- ()
- (:metaclass widget-class)
- (:alien-name "GtkCalendar"))
-
-
-; (defclass drawing-area widget)
-
-; (defclass curve drawing-area
-; :slots
-; ((curve-type :read-method :arg :type curve-type)
-; (min-x :access-method :arg :type single-float)
-; (max-x :access-method :arg :type single-float)
-; (min-y :access-method :arg :type single-float)
-; (max-y :access-method :arg :type single-float)))
-
-; (defclass editable widget
-; :slots
-; ((position :type int)
-; (editable :read-method :arg :type boolean)
-; ;; slots not accessible through the arg mechanism
-; (text :access-method :lisp :type string)))
-
-; (defclass entry editable
-; :slots
-; ((max-length :read-method :arg :type unsigned-int)
-; (visibility :read-method :arg :accessor entry-visible-p
-; :type boolean)
-; ;; slots not accessible through the arg mechanism
-; (text :type string)))
-
-; (defclass combo hbox
-; :slots
-; ;; slots not accessible through the arg mechanism
-; ((entry :read-only t :type entry)
-; (use-arrows :type boolean)
-; (use-arrows-always :type boolean)
-; (case-sensitive :type boolean)))
-
-; (defclass spin-button entry
-; :slots
-; ((adjustment :access-method :arg :type adjustment)
-; (climb-rate :access-method :arg :type single-float)
-; (digits :access-method :arg :type unsigned-int)
-; (snap-to-ticks :read-method :arg :type boolean)
-; (numeric :read-method :arg :type boolean)
-; (wrap :read-method :arg :type boolean)
-; (update-policy :read-method :arg :type spin-button-update-policy)
-; (shadow-type :read-method :arg :type shadow-type)
-; (value :read-method :arg :type single-float)))
-
-; (defclass text editable
-; :slots
-; ((hadjustment :access-method :arg :type adjustment)
-; (vadjustment :access-method :arg :type adjustment)
-; (line-wrap :read-method :arg :type boolean)
-; (word-wrap :read-method :arg :type boolean)
-; ;; slots not accessible through the arg mechanism
-; (point :type unsigned-int)
-; (length :read-only t :type unsigned-int)))
-
-; (defclass ruler widget
-; :constructor nil
-; :slots
-; ((lower :access-method :arg :type single-float)
-; (upper :access-method :arg :type single-float)
-; (position :access-method :arg :type single-float)
-; (max-size :access-method :arg :type single-float)
-; ;; slots not accessible through the arg mechanism
-; (:metric :write-only t :type metric-type)))
-
-; (defclass hruler ruler)
-
-; (defclass vruler ruler)
-
-; (defclass range widget
-; :slots
-; ((update-policy :read-method :arg :type update-type)
-; ;; slots not accessible through the arg mechanism
-; (adjustment :type adjustment)))
-
-; (defclass scale range
-; :constructor nil
-; :slots
-; ((digits :read-method :arg :type unsigned-int)
-; (draw-value :read-method :arg :type boolean)
-; (value-pos :read-method :arg :type position-type)
-; ;; slots not accessible through the arg mechanism
-; (value-width :read-only t :type int)))
-
-; (defclass hscale scale)
-
-; (defclass vscale scale)
-
-; (defclass scrollbar range :constructor nil)
-
-; (defclass hscrollbar scrollbar)
-
-; (defclass vscrollbar scrollbar)
-
-(defclass separator (widget)
- ()
- (:metaclass widget-class)
- (:alien-name "GtkSeparator"))
-
-
-(defclass hseparator (separator)
- ()
- (:metaclass widget-class)
- (:alien-name "GtkHSeparator"))
-
-
-(defclass vseparator (separator)
- ()
- (:metaclass widget-class)
- (:alien-name "GtkVSeparator"))
-
-
-; (defclass preview widget
-; :slots
-; ((expand :read-method :arg :type boolean)))
-
-; (defclass progress widget
-; :slots
-; ((activity-mode :read-method :arg :type boolean)
-; (show-text :read-method :arg :type boolean)
-; (text-xalign :access-method :arg :type single-float)
-; (text-yalign :access-method :arg :type single-float)
-; ;; slots not accessible through the arg mechanism
-; (format-string :type string)
-; (adjustment :type adjustment)
-; (percentage :c-reader "gtk_progress_get_current_percentage"
-; :type single-float)
-; (value :type single-float)
-; (text :c-reader "gtk_progress_get_current_text"
-; :read-only t :type string)))
-
-; (defclass progress-bar progress
-; :slots
-; ((adjustment :c-writer "gtk_progress_set_adjustment"
-; :read-method :arg :type adjustment)
-; (orientation :read-method :arg :type progress-bar-orientation)
-; (bar-style :read-method :arg :accessor progress-bar-style
-; :type progress-bar-style)
-; (activity-step :read-method :arg :type unsigned-int)
-; (activity-blocks :read-method :arg :type unsigned-int)
-; (discrete-blocks :read-method :arg :type unsigned-int)))
-
-; (defclass item-factory object)
-
+ ;; Deprecated widgets
+ ("GtkCList" :ignore-prefix t)
+ ("GtkCTree" :ignore-prefix t)
+ ("GtkList" :ignore-prefix t)
+ ("GtkTree" :ignore t)
+ ("GtkTreeItem" :ignore t)
+ ("GtkText" :ignore-prefix t :except ("GtkTextDirection"))
+ ("GtkPacker" :ignore-prefix t)
+ ("GtkPixmap" :ignore t)
+ ("GtkPreview" :ignore-prefix t)
+ ("GtkTipsQuery" :ignore t)
+ ("GtkOldEditable" :ignore t))