X-Git-Url: https://git.distorted.org.uk/~mdw/clg/blobdiff_plain/0d07716fe78436ae6c9c324cabdd401c25e336af..3cca0b264855b0c4cdbd15ad199dbfcab1028270:/gtk/gtktypes.lisp diff --git a/gtk/gtktypes.lisp b/gtk/gtktypes.lisp index 926e29a..90343a5 100644 --- a/gtk/gtktypes.lisp +++ b/gtk/gtktypes.lisp @@ -15,40 +15,67 @@ ;; 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.6 2001/01/28 14:27:17 espen Exp $ (in-package "GTK") -; (deftype color-type -; (enum -; :foreground -; :background -; :light -; :dark -; :mid -; :text -; :base -; :white -; :black)) +(deftype color-type () + '(enum + :foreground + :background + :light + :dark + :mid + :text + :base + :white + :black)) -(defclass style (gobject) - () +(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")) -; (define-boxed accel-group :c-name "GtkAccelGroup") + +(defclass accel-group (alien-object) + () + (:metaclass alien-class) + (:alien-name "GtkAccelGroup")) + +(deftype accel-entry () 'pointer) ; internal? + -(deftype (accel-group "GtkAccelGroup") () 'pointer) +;; Forward declaration of widget and container +(defclass widget (object) + () + (:metaclass object-class) + (:alien-name "GtkWidget")) + +(defclass container (widget) + () + (:metaclass widget-class) + (:alien-name "GtkContainer")) -(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) @@ -92,37 +119,159 @@ (:alien-name "GtkAdjustment")) -; (define-class tooltips data -; :slots -; ;; slots not accessible through the arg mechanism -; ((delay :type unsigned-int))) +(defclass tooltips (data) + ((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 object-class) + (:alien-name "GtkTooltips")) -;; Forward declaration, the real definition is in gtkwidget.lisp (defclass widget (object) - () + ((child-slots + :allocation :instance + :accessor widget-child-slots + :type container-child) + (name + :allocation :param + :accessor widget-name + :initarg :name + :type string) + (parent + :allocation :param + :accessor widget-parent +; :initarg :parent + :type container) + (x + :allocation :param + :accessor widget-x-position + :initarg :x + :type int) + (y + :allocation :param + :accessor widget-y-position + :initarg :y + :type int) + (width + :allocation :param + :accessor widget-width + :initarg :width + :type int) + (height + :allocation :param + :accessor widget-height + :initarg :height + :type int) + (visible + :allocation :param + :accessor widget-visible-p + :initarg :visible + :type boolean) + (sensitive + :allocation :param + :accessor widget-sensitive-p + :initarg :sensitive + :type boolean) + (app-paintable + :allocation :param + :reader widget-app-paintable-p + :type boolean) + (can-focus + :allocation :param + :accessor widget-can-focus-p + :initarg :can-focus + :type boolean) + (has-focus + :allocation :param + :accessor widget-has-focus-p + :initarg :has-focus + :type boolean) + (can-default + :allocation :param + :accessor widget-can-default-p + :initarg :can-default + :type boolean) + (has-default + :allocation :param + :accessor widget-has-default-p + :initarg :has-default + :type boolean) + (receives-default + :allocation :param + :accessor widget-receives-default-p + :initarg :receives-default + :type boolean) + (composite-child + :allocation :param + :accessor widget-composite-child-p + :initarg :composite-child + :type boolean) + (style + :allocation :param + :accessor widget-style + :initarg :style + :type style) + (events + :allocation :param + :accessor widget-events + :initarg :events + :type gdk:event-mask) + (extension-events + :allocation :param + :accessor widget-extension-events + :initarg :extpension-events + :type gdk:event-mask) + (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 misc (widget) ((xalign - :allocation :arg + :allocation :param :accessor misc-xalign :initarg :xalign :type single-float) (yalign - :allocation :arg + :allocation :param :accessor misc-yalign :initarg :yalign :type single-float) (xpad - :allocation :arg + :allocation :param :accessor misc-xpad :initarg :xpad :type int) (ypad - :allocation :arg + :allocation :param :accessor misc-ypad :initarg :ypad :type int)) @@ -132,22 +281,22 @@ (defclass label (misc) ((label - :allocation :arg + :allocation :param :accessor label-label :initarg :label :type string) (pattern - :allocation :arg + :allocation :param :accessor label-pattern :initarg :pattern :type string) (justify - :allocation :arg + :allocation :param :accessor label-justify :initarg :justify :type justification) (wrap - :allocation :arg + :allocation :param :accessor label-line-wrap-p :initarg :wrap :type boolean)) @@ -157,10 +306,10 @@ (defclass accel-label (label) ((widget - :allocation :arg + :allocation :param :location "GtkAccelLabel::accel_widget" - :accessor accel-widget - :initarg :widget + :accessor accel-label-accel-widget + :initarg :accel-widget :type widget) (width :allocation :virtual @@ -173,22 +322,22 @@ (defclass tips-query (label) ((emit-always - :allocation :arg + :allocation :param :accessor tips-query-emit-always-p :initarg :emit-always :type boolean) (caller - :allocation :arg + :allocation :param :accessor tips-query-caller :initarg :caller :type widget) (label-inactive - :allocation :arg + :allocation :param :accessor tips-query-label-inactive :initarg :label-inactive :type string) (label-no-tip - :allocation :arg + :allocation :param :accessor tips-query-label-no-tip :initarg :label-no-tip :type string)) @@ -198,12 +347,12 @@ (defclass arrow (misc) ((arrow-type - :allocation :arg + :allocation :param :accessor arrow-arrow-type :initarg :arrow-type :type arrow-type) (shadow-type - :allocation :arg + :allocation :param :accessor arrow-shadow-type :initarg :shadow-type :type shadow-type)) @@ -218,14 +367,49 @@ (defclass pixmap (misc) - () + ((source + :allocation :virtual + :location pixmap-source) + (mask + :allocation :virtual + :location pixmap-mask + :type gdk:bitmap)) (:metaclass widget-class) (:alien-name "GtkPixmap")) -;; Forward declaration, the real definition is in gtkcontainer.lisp (defclass container (widget) - () + ((border-width + :allocation :param + :accessor container-border-width + :initarg :border-width + :type unsigned-long) + (resize-mode + :allocation :param + :accessor container-resize-mode + :initarg :resize-mode + :type resize-mode) + (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")) @@ -242,7 +426,6 @@ ((child :allocation :virtual :location bin-child - :initarg :child :type widget)) (:metaclass container-class) (:alien-name "GtkBin")) @@ -252,22 +435,22 @@ (defclass alignment (bin) ((xalign - :allocation :arg + :allocation :param :accessor alignment-xalign :initarg :xalign :type single-float) (yalign - :allocation :arg + :allocation :param :accessor alignment-yalign :initarg :yalign :type single-float) (xscale - :allocation :arg + :allocation :param :accessor alignment-xscale :initarg :xscale :type single-float) (yscale - :allocation :arg + :allocation :param :accessor alignment-yscale :initarg :yscale :type single-float)) @@ -279,22 +462,23 @@ (defclass frame (bin) ((label - :allocation :arg + :allocation :virtual + :location ("gtk_frame_get_label" "gtk_frame_set_label") :accessor frame-label :initarg :label :type string) (label-xalign - :allocation :arg + :allocation :param :accessor frame-label-xalign :initarg :label-xalign :type single-float) (label-yalign - :allocation :arg + :allocation :param :accessor frame-label-yalign :initarg :label-yalign :type single-float) (shadow-type - :allocation :arg + :allocation :param :location "GtkFrame::shadow" :accessor frame-shadow-type :initarg :shadow-type @@ -307,22 +491,22 @@ ; (defclass aspect-frame (frame) ; ((xalign -; :allocation :arg +; :allocation :param ; :accessor aspect-frame-xalign ; :initarg :xalign ; :type single-float) ; (yalign -; :allocation :arg +; :allocation :param ; :accessor aspect-frame-yalign ; :initarg :yalign ; :type single-float) ; (ratio -; :allocation :arg +; :allocation :param ; :accessor aspect-frame-ratio ; :initarg :ratio ; :type single-float) ; (obey-child -; :allocation :arg +; :allocation :param ; :accessor aspect-frame-obey-child-p ; :initarg :obey-child ; :type boolean)) @@ -334,36 +518,39 @@ (defclass button (bin) ((label - :allocation :arg - :accessor button-label + :allocation :param :initarg :label :type string) (relief - :allocation :arg + :allocation :param :accessor button-relief :initarg :relief :type relief-style)) (:metaclass container-class) (:alien-name "GtkButton")) -(defclass button-child (bin-child)) - +(defclass button-child (bin-child) + () + (:metaclass child-class)) + (defclass toggle-button (button) ((active - :allocation :arg + :allocation :param :accessor toggle-button-active-p :initarg :active :type boolean) (draw-indicator - :allocation :arg + :allocation :param :accessor toggle-button-draw-indicator-p :initarg :draw-indicator :type boolean)) (:metaclass container-class) (:alien-name "GtkToggleButton")) -(defclass toggle-button-child (button-child)) +(defclass toggle-button-child (button-child) + () + (:metaclass child-class)) (defclass check-button (toggle-button) @@ -371,19 +558,23 @@ (:metaclass container-class) (:alien-name "GtkCheckButton")) -(defclass check-button-child (toggle-button-child)) +(defclass check-button-child (toggle-button-child) + () + (:metaclass child-class)) (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 radio-button-child (check-button-child) + () + (:metaclass child-class)) (defclass option-menu (button) @@ -402,57 +593,101 @@ (:metaclass container-class) (:alien-name "GtkOptionMenu")) -(defclass option-menu-child (button-child)) +(defclass option-menu-child (button-child) + () + (:metaclass child-class)) (defclass item (bin) () (:metaclass container-class) - (:alien-name "GtkOptionMenu")) - -(defclass item-child (bin-child)) + (:alien-name "GtkItem")) +(defclass item-child (bin-child) + () + (:metaclass child-class)) +;; Forward declaration (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")) + +(defclass menu-item (item) + ((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 menu-item-child (item-child) + () + (:metaclass child-class)) (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))) + ((active + :allocation :virtual + :location ("gtk_check_menu_item_get_active" + "gtk_check_menu_item_set_active") + :accessor check-menu-item-active-p + :initarg :active + :type boolean) + (toggle-indicator + :allocation :virtual + :location ("gtk_check_menu_item_get_show_toggle" + "gtk_check_menu_item_set_show_toggle") + :accessor check-menu-item-toggle-indicator-p + :initarg :toggle-indicator + :type boolean)) (:metaclass container-class) (:alien-name "GtkCheckMenuItem")) -(defclass check-menu-item-child (menu-item-child)) +(defclass check-menu-item-child (menu-item-child) + () + (:metaclass child-class)) + (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 radio-menu-item-child (check-menu-item-child) + () + (:metaclass child-class)) (defclass tearoff-menu-item (menu-item) @@ -460,146 +695,226 @@ (:metaclass container-class) (:alien-name "GtkTearoffMenuItem")) -(defclass tearoff-menu-item-child (menu-item-child)) +(defclass tearoff-menu-item-child (menu-item-child) + () + (:metaclass child-class)) + (defclass list-item (item) () (:metaclass container-class) (:alien-name "GtkListItem")) -(defclass list-item-child (item-child)) - - -(defclass tree-item (item) +(defclass list-item-child (item-child) () -; :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)) - + (:metaclass child-class)) + (defclass window (bin) ((type - :allocation :arg + :allocation :param :accessor window-type :initarg :type :type window-type) (title - :allocation :arg + :allocation :param :accessor window-title :initarg :title :type string) (auto-shrink - :allocation :arg + :allocation :param :accessor window-auto-shrink-p :initarg :auto-shrink :type boolean) (allow-shrink - :allocation :arg + :allocation :param :accessor window-allow-shrink-p :initarg :allow-shrink :type boolean) (allow-grow - :allocation :arg + :allocation :param :accessor window-allow-grow-p :initarg :allow-grow :type boolean) (modal - :allocation :arg + :allocation :param :accessor window-modal-p :initarg :modal :type boolean) (position - :allocation :arg + :allocation :param :location "GtkWindow::window_position" :accessor window-position :initarg :position :type window-position) (default-width - :allocation :arg + :allocation :param :accessor window-default-width :initarg :default-width :type int) (default-height - :allocation :arg + :allocation :param :accessor window-default-height :initarg :default-height :type int)) (:metaclass container-class) (:alien-name "GtkWindow")) -(defclass window-child (bin-child)) +(defclass window-child (bin-child) + () + (:metaclass child-class)) -; (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 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 "GtkDialog")) + +(defclass dialog-child (window-child) + () + (:metaclass child-class)) -; (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 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 "GtkColorSelectionDialog")) + +(defclass color-selection-dialog-child (dialog-child) + () + (:metaclass child-class)) + + +(defclass input-dialog (dialog) + () + (:metaclass container-class) + (:alien-name "GtkInputDialog")) + +(defclass input-dialog-child (dialog-child) + () + (:metaclass child-class)) + + +(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) + (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 "GtkFileSelection")) + +(defclass file-selection-child (window-child) + () + (:metaclass child-class)) + ; (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 event-box (bin) + () + (:metaclass container-class) + (:alien-name "GtkEventBox")) + +(defclass event-box-child (bin-child) + () + (:metaclass child-class)) + + +(defclass handle-box (bin) + ((shadow-type + :allocation :param + :location "GtkHandleBox::shadow" + :accessor handle-box-shadow-type + :initarg :shadow-type + :type shadow-type) + (handle-position + :allocation :param + :accessor handle-box-handle-position + :initarg :handle-position + :type position-type) + (snap-edge + :allocation :param + :accessor handle-box-snap-edge + :initarg :snap-edge + :type position-type)) + (:metaclass container-class) + (:alien-name "GtkHandleBox")) + +(defclass handle-box-child (bin-child) + () + (:metaclass child-class)) + (defclass scrolled-window (bin) ((hadjustment - :allocation :arg + :allocation :param :accessor scrolled-window-hadjustment :initarg :hadjustment :type adjustment) (vadjustment - :allocation :arg + :allocation :param :accessor scrolled-window-vadjustment :initarg :vadjustment :type adjustment) (hscrollbar-policy - :allocation :arg + :allocation :param :accessor scrolled-window-hscrollbar-policy :initarg :hscrollbar-policy :type policy-type) (vscrollbar-policy - :allocation :arg + :allocation :param :accessor scrolled-window-vscrollbar-policy :initarg :vscrollbar-policy :type policy-type) (placement - :allocation :arg + :allocation :param :location "GtkScrolledWindow::window_placement" :accessor scrolled-window-placement :initarg :placement :type corner-type) (shadow-type - :allocation :arg + :allocation :param :location "GtkScrolledWindow::shadow" :accessor scrolled-window-shadow-type :initarg :shadow-type @@ -617,24 +932,43 @@ (:metaclass container-class) (:alien-name "GtkScrolledWindow")) -(defclass scrolled-window-child (bin-child)) +(defclass scrolled-window-child (bin-child) + () + (:metaclass child-class)) +(defclass viewport (bin) + ((hadjustment + :allocation :param + :accessor viewport-hadjustment + :initarg :hadjustment + :type adjustment) + (vadjustment + :allocation :param + :accessor viewport-vadjustment + :initarg :vadjustment + :type adjustment) + (shadow-type + :allocation :param + :accessor viewport-shadow-type + :initarg :shadow-type + :type shadow-type)) + (:metaclass container-class) + (:alien-name "GtkViewport")) -; (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 viewport-child (bin-child) + () + (:metaclass child-class)) + (defclass box (container) ((spacing - :allocation :arg + :allocation :param :accessor box-spacing :initarg :spacing :type int) (homogeneous - :allocation :arg + :allocation :param :accessor box-homogeneous-p :initarg :homogeneous :type boolean)) @@ -675,11 +1009,34 @@ :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")) @@ -688,6 +1045,7 @@ () (:metaclass child-class)) + (defclass hbutton-box (button-box) () (:metaclass container-class) @@ -697,10 +1055,17 @@ () (:metaclass child-class)) + +(defclass vbutton-box (button-box) + () + (:metaclass container-class) + (:alien-name "GtkVButtonBox")) + (defclass vbutton-box-child (button-box-child) () (:metaclass child-class)) + (defclass vbox (box) () (:metaclass container-class) @@ -711,18 +1076,38 @@ (: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 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 "GtkColorSelection")) + +(defclass color-selection-child (vbox-child) + () + (:metaclass child-class)) + + (defclass hbox (box) () (:metaclass container-class) @@ -733,86 +1118,208 @@ (:metaclass child-class)) +(defclass statusbar (hbox) + () + (:metaclass container-class) + (:alien-name "GtkStatusbar")) -; (defclass statusbar hbox) +(defclass statusbar-child (hbox-child) + () + (:metaclass child-class)) -; (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 fixed (container) + () + (:metaclass container-class) + (:alien-name "GtkFixed")) + +(defclass fixed-child (container-child) + () + (:metaclass child-class)) -; (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 notebook (container) + ((tab-pos + :allocation :param + :accessor notebook-tab-pos + :initarg :tab-pos + :type position-type) + (show-tabs + :allocation :param + :accessor notebook-show-tabs-p + :initarg :show-tabs + :type boolean) + (show-border + :allocation :param + :accessor notebook-show-border-p + :initarg :show-border + :type boolean) + (scrollable + :allocation :param + :accessor notebook-scrollable-p + :initarg :scrollable + :type boolean) + (tab-border + :allocation :param + :accessor notebook-tab-border + :initarg :tab-border + :type unsigned-int) + (tab-hborder + :allocation :param + :accessor notebook-tab-hborder + :initarg :tab-hborder + :type unsigned-int) + (tab-vborder + :allocation :param + :accessor notebook-tab-vborder + :initarg :tab-vborder + :type unsigned-int) + (page + :allocation :param + :accessor notebook-page + :initarg :page + :type int) + (enable-popup + :allocation :param + :accessor notebook-enable-popup-p + :initarg :enable-popup + :type boolean) + (homogeneous + :allocation :param + :accessor notebook-homogeneous-p + :initarg :homogeneous + :type boolean)) + (:metaclass container-class) + (:alien-name "GtkNotebook")) + +(defclass notebook-child (container-child) + ((tab-label + :allocation :arg + :accessor notebook-child-tab-label + :initarg :tab-label + :type string) + (menu-label + :allocation :arg + :accessor notebook-child-menu-label + :initarg :menu-label + :type string) + (position + :allocation :arg + :accessor notebook-child-position + :initarg :position + :type int) + (tab-fill + :allocation :arg + :accessor notebook-child-tab-fill-p + :initarg :tab-fill + :type boolean) + (tab-pack + :allocation :arg + :accessor notebook-child-tab-pack-p + :initarg :tab-pack + :type boolean)) + (:metaclass child-class)) + + +(defclass font-selection (notebook) + () + (:metaclass container-class) + (:alien-name "GtkFontSelection")) + +(defclass font-selection-child (notebook-child) + () + (:metaclass child-class)) + + +(defclass paned (container) + ((handle-size + :allocation :param + :accessor paned-handle-size + :initarg handle-size + :type unsigned-int) + (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 paned-child (container-child) + () + (:metaclass child-class)) + + +(defclass hpaned (paned) + () + (:metaclass container-class) + (:alien-name "GtkHPaned")) + +(defclass hpaned-child (paned-child) + () + (:metaclass child-class)) + + +(defclass vpaned (paned) + () + (:metaclass container-class) + (:alien-name "GtkVPaned")) + +(defclass vpaned-child (paned-child) + () + (:metaclass child-class)) + + +(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 layout-child (container-child) + () + (:metaclass child-class)) + ; (defclass list-widget container ; :c-name "GtkList" @@ -821,97 +1328,304 @@ ; :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-shell (container) + () + (:metaclass container-class) + (:alien-name "GtkMenuShell")) -; (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 menu-shell-child (container-child) + () + (:metaclass child-class)) -; (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) +(defclass menu-bar (menu-shell) + ((shadow-type + :allocation :param + :location "GtkMenuBar::shadow" + :accessor menu-bar-shadow-type + :initarg :shadow-type + :type shadow-type)) + (:metaclass container-class) + (:alien-name "GtkMenuBar")) + +(defclass menu-bar-child (menu-shell-child) () -; :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 child-class)) + + +(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 "GtkTree")) + (:alien-name "GtkMenu")) + +(defclass menu-child (menu-shell-child) + () + (:metaclass child-class)) + + +(defclass packer (container) + ((spacing + :allocation :param + :accessor packer-spacing + :initarg :spacing + :type unsigned-int) + (default-border-width + :allocation :param + :accessor packer-default-border-width + :initarg :default-border-width + :type unsigned-int) + (default-pad-x + :allocation :param + :accessor packer-default-pad-x + :initarg :default-pad-x + :type unsigned-int) + (default-pad-y + :allocation :param + :accessor packer-default-pad-y + :initarg :default-pad-y + :type unsigned-int) + (default-ipad-x + :allocation :param + :accessor packer-default-ipad-x + :initarg :default-ipad-x + :type unsigned-int) + (default-ipad-y + :allocation :param + :accessor packer-default-ipad-y + :initarg :default-ipad-y + :type unsigned-int)) + (:metaclass container-class) + (:alien-name "GtkPacker")) + +(defclass packer-child (container-child) + ((side + :allocation :arg + :accessor packer-child-side + :initarg :side + :type side-type) + (anchor + :allocation :arg + :accessor packer-child-anchor + :initarg :anchor + :type anchor-type) + (expand + :allocation :arg + :accessor packer-child-expand-p + :initarg :expand + :type boolean) + (fill-x + :allocation :arg + :accessor packer-child-fill-x-p + :initarg :fill-x + :type boolean) + (fill-y + :allocation :arg + :accessor packer-child-fill-y-p + :initarg :fill-y + :type boolean) + (use-default + :allocation :arg + :accessor packer-child-use-default + :initarg :default + :type boolean) + (border-width + :allocation :arg + :accessor packer-child-border-width + :initarg :default + :type unsigned-int) + (pad-x + :allocation :arg + :accessor packer-child-pad-x + :initarg :pad-x + :type unsigned-int) + (pad-y + :allocation :arg + :accessor packer-child-pad-y + :initarg :pad-y + :type unsigned-int) + (ipad-x + :allocation :arg + :accessor packer-child-ipad-x + :initarg :ipad-x + :type unsigned-int) + (ipad-y + :allocation :arg + :accessor packer-child-ipad-y + :initarg :ipad-y + :type unsigned-int) + (position + :allocation :arg + :accessor packer-child-position + :initarg :iposition + :type long)) + (:metaclass child-class)) + + +;(defclass socket (container)) + + +(defclass table (container) + ((rows + :allocation :param + :location "GtkTable::n_rows" + :accessor table-rows + :initarg :rows + :type unsigned-int) + (columns + :allocation :param + :location "GtkTable::n_columns" + :accessor table-columns + :initarg :columns + :type unsigned-int) + (row-spacing + :allocation :param + :accessor table-default-row-spacing + :initarg :row-spacing + :type unsigned-int) + (column-spacing + :allocation :param + :accessor table-default-column-spacing + :initarg :column-spacing + :type unsigned-int) + (homogeneous + :allocation :param + :accessor table-homogeneous-p + :initarg :homogeneous + :type boolean)) + (:metaclass container-class) + (:alien-name "GtkTable")) + +(defclass table-child (container-child) + ((left-attach + :allocation :arg + :accessor table-child-left-attach + :initarg :left-attach + :type unsigned-int) + (right-attach + :allocation :arg + :accessor table-child-right-attach + :initarg :right-attach + :type unsigned-int) + (top-attach + :allocation :arg + :accessor table-child-top-attach + :initarg :top-attach + :type unsigned-int) + (bottom-attach + :allocation :arg + :accessor table-child-bottom-attach + :initarg :bottom-attach + :type unsigned-int) + (x-options + :allocation :arg + :accessor table-child-x-options + :initarg :x-options + :type attach-options) + (y-options + :allocation :arg + :accessor table-child-y-options + :initarg :y-options + :type attach-options) + (x-padding + :allocation :arg + :accessor table-child-x-padding + :initarg :x-padding + :type unsigned-int) + (y-padding + :allocation :arg + :accessor table-child-y-padding + :initarg :y-padding + :type unsigned-int) + + (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) + ((orientation + :allocation :param + :accessor toolbar-orientation + :initarg :orientation + :type orientation) + (toolbar-style + :allocation :param + :accessor toolbar-style + :initarg :toolbar-style + :type toolbar-style) + (space-size + :allocation :param + :accessor toolbar-space-size + :initarg :space-size + :type unsigned-int) + (space-style + :allocation :param + :accessor toolbar-space-style + :initarg :space-style + :type toolbar-space-style) + (relief + :allocation :param + :accessor toolbar-relief + :initarg :relief + :type relief-style) + (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 toolbar-child (container-child) + () + (:metaclass child-class)) (defclass calendar (widget) @@ -920,7 +1634,10 @@ (:alien-name "GtkCalendar")) -; (defclass drawing-area widget) +(defclass drawing-area (widget) + () + (:metaclass widget-class) + (:alien-name "GtkDrawingArea")) ; (defclass curve drawing-area ; :slots @@ -930,41 +1647,123 @@ ; (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 editable (widget) + ((position + :allocation :param + :location "GtkEditable::text_position" + :accessor ediatable-position + :initarg :position + :type int) + (editable + :allocation :param + :accessor editable-editable-p + :initarg :editable + :type boolean) + (text + :allocation :virtual + :location editable-text + :initarg :text + :type string)) + (:metaclass widget-class) + (:alien-name "GtkEditable")) -; (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 entry (editable) + ((max-length + :allocation :param + :accessor entry-max-length + :initarg :max-length + :type unsigned-int) + (visible + :allocation :param + :location "GtkEntry::visibility" + :accessor entry-visible-p + :initarg :visible + :type boolean)) + (:metaclass widget-class) + (:alien-name "GtkEntry")) + -; (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 combo (hbox) + ((entry + :allocation :virtual + :location "gtk_combo_get_entry" + :reader combo-entry + :type entry) + (use-arrows + :allocation :virtual + :location ("gtk_combo_get_use_arrows" "gtk_combo_set_use_arrows") + :accessor combo-use-arrows-p + :initarg :use-arrows + :type boolean) + (use-arrows-always + :allocation :virtual + :location + ("gtk_combo_get_use_arrows_always" "gtk_combo_set_use_arrows_always") + :accessor combo-use-arrows-always-p + :initarg :use-arrows-always + :type boolean) + (case-sensitive + :allocation :virtual + :location ("gtk_combo_get_case_sensitive" "gtk_combo_set_case_sensitive") + :accessor combo-case-sensitive-p + :initarg :case-sensitive + :type boolean)) + (:metaclass widget-class) + (:alien-name "GtkCombo")) + -; (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 spin-button (entry) + ((adjustment + :allocation :param + :accessor spin-button-adjustment + :initarg :adjustment + :type adjustment) + (climb-rate + :allocation :param + :accessor spin-button-climb-rate + :initarg :climb-rate + :type single-float) + (digits + :allocation :param + :accessor spin-button-digits + :initarg :digits + :type unsigned-int) + (snap-to-ticks + :allocation :param + :accessor spin-button-snap-to-ticks-p + :initarg :snap-to-ticks + :type boolean) + (numeric + :allocation :param + :accessor spin-button-numeric-p + :initarg :numeric + :type boolean) + (wrap + :allocation :param + :accessor spin-button-wrap-p + :initarg :wrap + :type boolean) + (update-policy + :allocation :param + :accessor spin-button-update-policy + :initarg :update-policy + :type spin-button-update-policy) + (shadow-type + :allocation :param + :accessor spin-button-shadow-type + :initarg :shadow-type + :type shadow-type) + (value + :allocation :param + :accessor spin-button-value + :initarg :value + :type single-float)) + (:metaclass widget-class) + (:alien-name "GtkSpinButton")) + +;; Deprecated ; (defclass text editable ; :slots ; ((hadjustment :access-method :arg :type adjustment) @@ -975,44 +1774,120 @@ ; (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 ruler (widget) + ((lower + :allocation :param + :accessor ruler-lower + :initarg :lower + :type single-float) + (upper + :allocation :param + :accessor ruler-upper + :initarg :upper + :type single-float) + (position + :allocation :param + :accessor ruler-position + :initarg :position + :type single-float) + (max-size + :allocation :param + :accessor ruler-max-size + :initarg :max-size + :type single-float) + (metric + :allocation :virtual + :location (nil "gtk_ruler_set_metric") + :accessor ruler-metric + :initarg :metric + :type metric-type)) + (:metaclass widget-class) + (:alien-name "GtkRuler")) -; (defclass hruler ruler) -; (defclass vruler ruler) +(defclass hruler (ruler) + () + (:metaclass widget-class) + (:alien-name "GtkHRuler")) -; (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 vruler (ruler) + () + (:metaclass widget-class) + (:alien-name "GtkVRuler")) + + +(defclass range (widget) + ((update-policy + :allocation :param + :accessor range-update-policy + :initarg :update-policy + :type update-type) + (adjustment + :allocation :virtual + :location ("gtk_range_get_adjustment" "gtk_range_set_adjustment") + :accessor ruler-adjustment + :initarg :adjustment + :type adjustment)) + (:metaclass widget-class) + (:alien-name "GtkRange")) + + +(defclass scale (range) + ((digits + :allocation :param + :accessor scale-digits + :initarg :digits + :type int) + (draw-value + :allocation :param + :accessor scale-draw-value-p + :initarg :draw-value + :type boolean) + (value-position + :allocation :param + :location "GtkScale::value_pos" + :accessor scale-value-position + :initarg :value-position + :type position-type) + (value-width + :allocation :virtual + :location "gtk_scale_get_value_width" + :reader ruler-value-width + :type int)) + (:metaclass widget-class) + (:alien-name "GtkScale")) + + +(defclass hscale (scale) + () + (:metaclass widget-class) + (:alien-name "GtkHScale")) + + +(defclass vscale (scale) + () + (:metaclass widget-class) + (:alien-name "GtkVScale")) -; (defclass hscale scale) -; (defclass vscale scale) +(defclass scrollbar (range) + () + (:metaclass widget-class) + (:alien-name "GtkScrollbar")) + + +(defclass hscrollbar (scrollbar) + () + (:metaclass widget-class) + (:alien-name "GtkHScrollbar")) -; (defclass scrollbar range :constructor nil) -; (defclass hscrollbar scrollbar) +(defclass vscrollbar (scrollbar) + () + (:metaclass widget-class) + (:alien-name "GtkVScrollbar")) -; (defclass vscrollbar scrollbar) (defclass separator (widget) () @@ -1036,31 +1911,106 @@ ; :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 progress (widget) + ((activity-mode + :allocation :param + :accessor progress-activity-mode-p + :initarg :activity-mode + :type boolean) + (show-text + :allocation :param + :accessor progress-show-text-p + :initarg :show-text + :type boolean) + (text-xalign + :allocation :param + :accessor progress-text-xalign + :initarg :text-xalign + :type single-float) + (text-yalign + :allocation :param + :accessor progress-text-yalign + :initarg :text-yalign + :type single-float) + (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) + (text + :allocation :virtual + :location ("gtk_progress_get_current_text") + :reader progress-text + :type string)) + (:metaclass widget-class) + (:alien-name "GtkProgress")) + + +(defclass progress-bar (progress) + ((orientation + :allocation :param + :accessor progress-bar-orientation + :initarg :orientation + :type progress-bar-orientation) + (bar-style + :allocation :param + :accessor progress-bar-style + :initarg :bar-style + :type progress-bar-style) + (activity-step + :allocation :param + :accessor progress-bar-activity-step + :initarg :activity-step + :type unsigned-int) + (activity-blocks + :allocation :param + :accessor progress-bar-activity-blocks + :initarg :activity-blocks + :type unsigned-int) + (discrete-blocks + :allocation :param + :accessor progress-bar-discrete-blocks + :initarg :discrete-blocks + :type unsigned-int) + (fraction + :allocation :param + :accessor progress-bar-fraction + :initarg :fraction + :type single-float) + (pulse-step + :allocation :param + :accessor progress-bar-pulse-step + :initarg :pulse-step + :type single-float) + (text + :allocation :virtual + :location ("gtk_progress_get_current_text" "gtk_progress_bar_set_text") + :accessor progress-bar-text + :type string)) + (:metaclass widget-class) + (:alien-name "GtkProgressBar")) ; (defclass item-factory object)