X-Git-Url: https://git.distorted.org.uk/~mdw/clg/blobdiff_plain/560af5c515eb5b6206040a9334de4254d2650147..f86d391e5b29ccf5b4e286ca0ccab08a46fa4353:/gtk/gtktypes.lisp diff --git a/gtk/gtktypes.lisp b/gtk/gtktypes.lisp index dbedf60..51a9d14 100644 --- a/gtk/gtktypes.lisp +++ b/gtk/gtktypes.lisp @@ -1,5 +1,5 @@ ;; Common Lisp bindings for GTK+ v2.0.x -;; Copyright (C) 1999-2000 Espen S. Johnsen +;; Copyright (C) 1999-2001 Espen S. Johnsen ;; ;; This library is free software; you can redistribute it and/or ;; modify it under the terms of the GNU Lesser General Public @@ -15,49 +15,50 @@ ;; 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.7 2001-05-29 15:56:58 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 "GtkRequisition")) -; (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 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 "GtkBorder")) -(defclass adjustment (data) +(defclass adjustment (%object) ((lower :allocation :alien :accessor adjustment-lower @@ -88,80 +89,128 @@ :accessor adjustment-page-size :initarg :page-size :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))) +(define-types-by-introspection "Gtk" + ;; Manually defined + ("GtkObject" :ignore t) + ("GtkRequisition" :ignore t) + ("GtkBorder" :ignore t) + ("GtkAdjustment" :ignore t) -;; Forward declaration, the real definition is in gtkwidget.lisp -(defclass widget (object) - () - (:metaclass object-class) - (:alien-name "GtkWidget")) + ;; Temporary disabled + ("GtkCellRenderer" :ignore-prefix t) + ;; Manual override + + ;; Not needed + ("GtkFundamentalType" :ignore t) + ("GtkArgFlags" :ignore t) + + ;; Deprecated + ("GtkCList" :ignore-prefix t) + ("GtkCTree" :ignore-prefix t) + ("GtkList" :ignore t) + ("GtkTree" :ignore t) + ("GtkTreeItem" :ignore t) + ("GtkText" :ignore-prefix t) + ("GtkPacker" :ignore-prefix t) + ("GtkPixmap" :ignore t) + ("GtkPreview" :ignore-prefix t) + ("GtkTipsQuery" :ignore t) + ("GtkOldEditable" :ignore t)) + + -(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")) +#| +(deftype color-type () + '(enum + :foreground + :background + :light + :dark + :mid + :text + :base + :white + :black)) + + +(defclass style (gobject) + ((white + :allocation :virtual + :location style-white + :initarg :white + :type gdk:color) + (black + :allocation :virtual + :location style-black + :initarg :black + :type gdk:color) + (font + :allocation :virtual + :location ("gtk_style_get_font" "gtk_style_set_font") + :accessor style-font + :initarg :font + :type gdk:font)) + (:metaclass gobject-class) + (:alien-name "GtkStyle")) -(defclass label (misc) - ((label - :allocation :arg - :accessor label-label - :initarg :label - :type string) - (pattern - :allocation :arg - :accessor label-pattern - :initarg :pattern - :type string) - (justify - :allocation :arg - :accessor label-justify - :initarg :justify - :type justification) - (wrap - :allocation :arg - :accessor label-line-wrap-p - :initarg :wrap +;(deftype accel-entry () 'pointer) ; internal? + + + +(defclass tooltips (%object) + ((delay + :allocation :virtual + :location ("gtk_tooltips_get_delay" "gtk_tooltips_set_delay") + :accessor tooltips-delay + :type unsigned-int) + (enabled + :allocation :virtual + :location ("gtk_tooltips_get_enabled" (setf tooltips-enabled-p)) + :reader tooltips-enabled-p + :initarg :enabled :type boolean)) - (:metaclass widget-class) - (:alien-name "GtkLabel")) + (:metaclass object-class) + (:alien-name "GtkTooltips")) + + +(defclass widget (object) + ((child-slots + :allocation :instance + :accessor widget-child-slots + :type container-child) + (state + :allocation :virtual + :location ("gtk_widget_get_state" "gtk_widget_set_state") + :accessor widget-state + :initarg :state + :type state-type) + (window + :allocation :virtual + :location "gtk_widget_get_window" + :reader widget-window + :type gdk:window) + (colormap + :allocation :virtual + :location "gtk_widget_get_colormap" + :reader widget-colormap + :type gdk:colormap) + (visual + :allocation :virtual + :location "gtk_widget_get_visual" + :reader widget-visual + :type gdk:visual)) + (:metaclass object-class) + (:alien-name "GtkWidget")) + (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" @@ -171,221 +220,52 @@ (: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 - :type string) - (label-no-tip - :allocation :arg - :accessor tips-query-label-no-tip - :initarg :label-no-tip - :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) - () + (children + :allocation :virtual + :location container-children) + (focus-child + :allocation :virtual + :location ("gtk_container_get_focus_child" "gtk_container_set_focus_child") + :accessor container-focus-child + :initarg :focus-child + :type widget) + (focus-hadjustment + :allocation :virtual + :location (nil "gtk_container_set_focus_hadjustment") + :writer (setf container-focus-hadjustment) + :initarg :focus-hadjustment + :type adjustment) + (focus-vadjustment + :allocation :virtual + :location (nil "gtk_container_set_focus_vadjustment") + :writer (setf container-focus-vadjustment) + :initarg :focus-vadjustment + :type adjustment)) (: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)) - - -(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")) - -(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)) - - -(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)) + :allocation :virtual + :location ("gtk_radio_button_group") + :reader radio-button-group + :type (static (gslist widget)))) (:metaclass container-class) (:alien-name "GtkRadioButton")) -(defclass radio-button-child (check-button-child)) - - (defclass option-menu (button) ((menu :allocation :virtual @@ -402,208 +282,115 @@ (: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)) - - (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))) + ((label + :allocation :virtual + :location menu-item-label + :initarg :label + :type string) + (submenu + :allocation :virtual + :location ("gtk_menu_item_get_submenu" (setf menu-item-submenu)) + :reader menu-item-submenu + :initarg :submenu + :type menu-item) + (placement + :allocation :virtual + :location ("gtk_menu_item_get_placement" "gtk_menu_item_set_placement") + :accessor menu-item-placement + :initarg :placement + :type submenu-placement) + (toggle-indicator + :allocation :virtual + :location ("gtk_menu_item_get_show_toggle" + (setf menu-item-toggle-indicator-p)) + :reader menu-item-toggle-indicator-p + :initarg :toggle-indicator + :type boolean) + (submenu-indicator + :allocation :virtual + :location ("gtk_menu_item_get_show_submenu" + (setf menu-item-submenu-indicator-p)) + :reader menu-item-submenu-indicator-p + :initarg :submenu-indicator + :type boolean)) (:metaclass container-class) (:alien-name "GtkMenuItem")) - -(defclass menu-item-child (item-child)) - -(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)) (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))) + ((group + :allocation :virtual + :location ("gtk_radio_menu_item_group") + :reader radio-menu-item-group + :type (static (gslist widget)))) (: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) - () +(defclass dialog (window) + ((main-box + :allocation :alien + :reader dialog-main-box + :type widget) + (action-area + :allocation :alien + :reader dialog-action-area + :type widget)) (:metaclass container-class) - (:alien-name "GtkListItem")) + (:alien-name "GtkDialog")) -(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))) +(defclass color-selection-dialog (dialog) + ((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)) (:metaclass container-class) - (:alien-name "GtkTreeItem")) + (:alien-name "GtkColorSelectionDialog")) -(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 +(defclass file-selection (window) + ((filename + :allocation :virtual + :location ("gtk_file_selection_get_filename" + "gtk_file_selection_set_filename") + :accessor file-selection-filename + :initarg :filename :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)) + (action-area + :allocation :virtual + :location "gtk_file_selection_get_action_area" + :reader file-selection-action-area + :type widget) + (ok-button + :allocation :virtual + :location "gtk_file_selection_get_ok_button" + :reader file-selection-ok-button + :type widget) + (cancel-button + :allocation :virtual + :location "gtk_file_selection_get_cancel_button" + :reader file-selection-cancel-button + :type widget)) (: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) + (:alien-name "GtkFileSelection")) -; (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" @@ -617,450 +404,274 @@ (: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 + :initarg :spacing + :type int) + (child-min-width + :allocation :alien + :offset #.(size-of 'int) + :accessor button-box-child-min-width + :initarg :child-min-width + :type int) + (child-min-height + :allocation :alien + :accessor button-box-child-min-height + :initarg :child-min-height + :type int) + (child-ipad-x + :allocation :alien + :accessor button-box-child-ipad-x + :initarg :child-ipad-x + :type int) + (child-ipad-y + :allocation :alien + :accessor button-box-child-ipad-y + :initarg :child-ipad-y :type int) (layout :allocation :virtual :location ("gtk_button_box_get_layout" "gtk_button_box_set_layout") :accessor button-box-layout + :initarg :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) - () + +(defclass color-selection (vbox) + ((use-opacity + :allocation :virtual + :location ("gtk_color_selection_get_use_opacity" + "gtk_color_selection_set_use_opacity") + :accessor color-selection-use-opacity-p + :initarg :use-opacity + :type boolean) + (use-palette + :allocation :virtual + :location ("gtk_color_selection_get_use_palette" + "gtk_color_selection_set_use_palette") + :accessor color-selection-use-palette-p + :initarg :use-palette + :type boolean) + (color + :allocation :virtual + :location color-selection-color + :initarg :color) + (old-color + :allocation :virtual + :location color-selection-old-color + :initarg :old-color + :type (vector double-float 4))) (:metaclass container-class) - (:alien-name "GtkHButtonBox")) + (:alien-name "GtkColorSelection")) -(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 paned (container) + (position + :allocation :virtual + :location ("gtk_paned_get_position" "gtk_paned_set_position") + :accessor paned-position + :initarg :position + :type int) + (child1 + :allocation :virtual + :location paned-child1 + :initarg :child1 + :type widget) + (child2 + :allocation :virtual + :location paned-child2 + :initarg :child2 + :type widget)) + (:metaclass container-class) + (:alien-name "GtkPaned")) +(defclass layout (container) + ((hadjustment + :allocation :virtual + :location ("gtk_layout_get_hadjustment" "gtk_layout_set_hadjustment") + :accessor layout-hadjustment + :initarg :hadjustment + :type adjustment) + (vadjustment + :allocation :virtual + :location ("gtk_layout_get_vadjustment" "gtk_layout_set_vadjustment") + :accessor layout-vadjustment + :initarg :vadjustment + :type adjustment) + (x-size + :allocation :virtual + :location layout-x-size + :initarg :x-size) + (y-size + :allocation :virtual + :location layout-y-size + :initarg :y-size) + (x-offset + :allocation :alien + :offset #.(+ (size-of 'pointer) (* (size-of 'int) 2)) + :accessor layout-x-offset + :initarg :x-offset + :type unsigned-int) + (y-offset + :allocation :alien + :accessor layout-y-offset + :initarg :y-offset + :type unsigned-int)) + (:metaclass container-class) + (:alien-name "GtkLayout")) -; (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) - () +(defclass menu (menu-shell) + ((accel-group + :allocation :virtual + :location ("gtk_menu_get_accel_group" "gtk_menu_set_accel_group") + :accessor menu-accel-group + :initarg :accel-group + :type accel-group) + (tornoff + :allocation :virtual + :location ("gtk_menu_get_tearoff_state" "gtk_menu_set_tearoff_state") + :accessor menu-tornoff-p + :initarg :tearoff + :type boolean) + (title + :allocation :virtual + :location ("gtk_menu_get_title" "gtk_menu_set_title") + :accessor menu-title + :initarg :title + :type string)) (:metaclass container-class) - (:alien-name "GtkHBox")) + (:alien-name "GtkMenu")) + -(defclass hbox-child (box-child) - () +(defclass table-child (container-child) + (x-expand + :allocation :virtual + :location table-child-x-expand-p + :initarg :x-expand + :type boolean) + (y-expand + :allocation :virtual + :location table-child-y-expand-p + :initarg :y-expand + :type boolean) + (x-shrink + :allocation :virtual + :location table-child-x-shrink-p + :initarg :x-shrink + :type boolean) + (y-shrink + :allocation :virtual + :location table-child-y-shrink-p + :initarg :y-shrink + :type boolean) + (x-fill + :allocation :virtual + :location table-child-x-fill-p + :initarg :x-fill + :type boolean) + (y-fill + :allocation :virtual + :location table-child-y-fill-p + :initarg :y-fill + :type boolean)) (:metaclass child-class)) + +(defclass toolbar (container) + (tooltips + :allocation :virtual + :location ("gtk_toolbar_get_tooltips" "gtk_toolbar_set_tooltips") + :accessor toolbar-tooltips-p + :initarg :tooltips + :type boolean)) + (:metaclass container-class) + (:alien-name "GtkToolbar")) -; (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 combo (hbox) + ((entry + :allocation :virtual + :location "gtk_combo_get_entry" + :reader combo-entry + :type entry)) + (:metaclass widget-class) + (:alien-name "GtkCombo")) + -(defclass calendar (widget) - () +(defclass ruler (widget) + (metric + :allocation :virtual + :location (nil "gtk_ruler_set_metric") + :accessor ruler-metric + :initarg :metric + :type metric-type)) (: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) - () + (:alien-name "GtkRuler")) + +(defclass scale (range) + (value-width + :allocation :virtual + :location "gtk_scale_get_value_width" + :reader ruler-value-width + :type int)) (:metaclass widget-class) - (:alien-name "GtkSeparator")) + (:alien-name "GtkScale")) -(defclass hseparator (separator) - () - (:metaclass widget-class) - (:alien-name "GtkHSeparator")) +(defclass progress (widget) + (format-string + :allocation :virtual + :location ("gtk_progress_get_format_string" + "gtk_progress_set_format_string") + :accessor progress-format-string + :initarg :format-string + :type string) + (adjustment + :allocation :virtual + :location ("gtk_progress_get_adjustment" + "gtk_progress_set_adjustment") + :accessor progress-adjustment + :initarg :adjustment + :type adjustment) + (percentage + :allocation :virtual + :location ("gtk_progress_get_current_percentage" + "gtk_progress_set_percentage") + :accessor progress-percentage + :initarg :percentage + :type single-float) + (value + :allocation :virtual + :location ("gtk_progress_get_value" "gtk_progress_set_value") + :accessor progress-value + :initarg :value + :type single-float) + (:metaclass widget-class) + (:alien-name "GtkProgress")) + -(defclass vseparator (separator) - () +(defclass progress-bar (progress) + (activity-blocks ;; deprecated + :allocation :param + :accessor progress-bar-activity-blocks + :initarg :activity-blocks + :type unsigned-int) (: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) + (:alien-name "GtkProgressBar")) + +|#