X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/2ed3bebb9efa151539a23a5ae76a112388f13852..203681e230fc5783f54dabe79d765f4c4cec0351:/gtk/gtktypes.lisp diff --git a/gtk/gtktypes.lisp b/gtk/gtktypes.lisp index 336e94d..1155977 100644 --- a/gtk/gtktypes.lisp +++ b/gtk/gtktypes.lisp @@ -1,1739 +1,1352 @@ -;; Common Lisp bindings for GTK+ v2.0.x -;; Copyright (C) 1999-2000 Espen S. Johnsen +;; Common Lisp bindings for GTK+ v2.x +;; Copyright 1999-2005 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 -;; License as published by the Free Software Foundation; either -;; version 2 of the License, or (at your option) any later version. +;; Permission is hereby granted, free of charge, to any person obtaining +;; a copy of this software and associated documentation files (the +;; "Software"), to deal in the Software without restriction, including +;; without limitation the rights to use, copy, modify, merge, publish, +;; distribute, sublicense, and/or sell copies of the Software, and to +;; permit persons to whom the Software is furnished to do so, subject to +;; the following conditions: ;; -;; This library is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;; Lesser General Public License for more details. +;; The above copyright notice and this permission notice shall be +;; included in all copies or substantial portions of the Software. ;; -;; You should have received a copy of the GNU Lesser General Public -;; License along with this library; if not, write to the Free Software -;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -;; $Id: gtktypes.lisp,v 1.3 2000-09-04 22:17:07 espen Exp $ - +;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +;; IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +;; CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +;; $Id: gtktypes.lisp,v 1.65 2008-10-27 18:42:01 espen Exp $ (in-package "GTK") - -; (deftype color-type -; (enum -; :foreground -; :background -; :light -; :dark -; :mid -; :text -; :base -; :white -; :black)) - - -(defclass style (gobject) - () - (:metaclass gobject-class) - (:alien-name "GtkStyle")) - - -(defclass accel-group (alien-object) - () - (:metaclass alien-class) - (:alien-name "GtkAccelGroup")) - -(deftype accel-entry () 'pointer) ; internal? - - -;; These types are actully a single linked lists of widgets. As long as -;; we don't have to access the individual widgets defining them this way -;; is adequate and most efficient. -(deftype radio-button-group () 'pointer) -(deftype radio-menu-item-group () 'pointer) - - -(defclass data (object) - () - (:metaclass object-class) - (:alien-name "GtkData")) +(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)) -(defclass adjustment (data) - ((lower +(defclass allocation (struct) + ((x :allocation :alien - :accessor adjustment-lower - :initarg :lower - :type single-float) - (upper + :accessor allocation-x + :initarg :x + :type int) + (y :allocation :alien - :accessor adjustment-upper - :initarg :upper - :type single-float) - (value + :accessor allocation-y + :initarg :y + :type int) + (width :allocation :alien - :accessor adjustment-value - :initarg :value - :type single-float) - (step-increment + :accessor allocation-width + :initarg :width + :type int) + (height :allocation :alien - :accessor adjustment-step-increment - :initarg :step-increment - :type single-float) - (page-increment + :accessor allocation-height + :initarg :height + :type int)) + (:metaclass struct-class)) + +(defclass border (boxed) + ((left :allocation :alien - :accessor adjustment-page-increment - :initarg :page-increment - :type single-float) - (page-size + :accessor border-left + :initarg :left + :type int) + (right :allocation :alien - :accessor adjustment-page-size - :initarg :page-size - :type single-float)) - (:metaclass object-class) - (:alien-name "GtkAdjustment")) - - -(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) - () - (:metaclass object-class) - (:alien-name "GtkWidget")) - - -(defclass misc (widget) - ((xalign - :allocation :arg - :accessor misc-xalign - :initarg :xalign - :type single-float) - (yalign - :allocation :arg - :accessor misc-yalign - :initarg :yalign - :type single-float) - (xpad - :allocation :arg - :accessor misc-xpad - :initarg :xpad + :accessor border-right + :initarg :right :type int) - (ypad - :allocation :arg - :accessor misc-ypad - :initarg :ypad + (top + :allocation :alien + :accessor border-top + :initarg :top + :type int) + (bottom + :allocation :alien + :accessor border-bottom + :initarg :bottom :type int)) - (:metaclass widget-class) - (:alien-name "GtkMisc")) + (:metaclass boxed-class)) - -(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 - :type boolean)) - (:metaclass widget-class) - (:alien-name "GtkLabel")) - - -(defclass accel-label (label) - ((widget - :allocation :arg - :location "GtkAccelLabel::accel_widget" - :accessor accel-label-accel-widget - :initarg :accel-widget - :type widget) - (width - :allocation :virtual - :location "gtk_accel_label_get_accel_width" - :reader width - :type unsigned-int)) - (:metaclass widget-class) - (:alien-name "GtkAccelLabel")) - - -(defclass tips-query (label) - ((emit-always - :allocation :arg - :accessor tips-query-emit-always-p - :initarg :emit-always - :type boolean) - (caller - :allocation :arg - :accessor tips-query-caller - :initarg :caller - :type widget) - (label-inactive - :allocation :arg - :accessor tips-query-label-inactive - :initarg :label-inactive +(defclass stock-item (struct) + ((id + :allocation :alien + :accessor stock-item-id + :initarg :id :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) - ((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) - () - (: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 + (label + :allocation :alien + :accessor stock-item-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)) + (modifier + :allocation :alien + :accessor stock-item-modifier + :initarg :modifier + :type gdk:modifier-type) + (keyval + :allocation :alien + :accessor stock-item-keyval + :initarg :keyval + :type int) + (translation-domain + :allocation :alien + :accessor stock-item-translation-domain + :initarg :translation-domain + :type string)) + (:metaclass struct-class) + (:ref stock-item-copy) + (:unref stock-item-free)) + +(defclass tree-iter (boxed) + ((stamp :allocation :alien :type int) + (user-data :allocation :alien :type pointer) + (user-data2 :allocation :alien :type pointer) + (user-data3 :allocation :alien :type pointer)) + (:metaclass boxed-class)) + + +;; (defclass tree-path (boxed) +;; ((depth :allocation :alien :type int) +;; (indices :allocation :alien :type pointer)) +;; (:metaclass boxed-class)) + +(deftype tree-path () '(vector integer)) +(register-type 'tree-path '|gtk_tree_path_get_type|) + +(deftype position () + '(or int (enum (:start 0) (:end -1) (:first 0) (:last -1)))) + +(define-type-method from-alien-form ((type position) form &key ref) + (declare (ignore type ref)) + (from-alien-form 'int form)) + +(define-type-method from-alien-function ((type position) &key ref) + (declare (ignore type ref)) + (from-alien-function 'int)) + +(define-type-method reader-function ((type position) &optional ref) + (declare (ignore type ref)) + (reader-function 'int)) + +;; Register GtkObject in advance so that eg GtkTooltips, which inherits from it, +;; gets a proper supertype. TODO: This is a hack. Where is it supposed to +;; happen? +(register-type '%object "GtkObject") + +(define-types-by-introspection "Gtk" + ;; Manually defined + ("GtkObject" :ignore t) + ("GtkRequisition" :ignore t) + ("GtkBorder" :ignore t) + ("GtkTreeIter" :ignore t) + ("GtkTreePath" :ignore t) +; ("GtkStyle" :ignore t) + + ("GtkMountOperation" :ignore t) ; Needs GIO + + ;; Manual override + ("GtkWidget" + :slots + ((child-properties + :special t + :accessor widget-child-properties + :type container-child) + (window + :allocation :virtual + :getter "gtk_widget_get_window" + :reader widget-window + :type gdk:window) + (parent :merge t :initarg nil) + (visible :merge t :initarg nil) + (parent-window + :allocation :virtual + :getter %widget-parent-window + :setter "gtk_widget_set_parent_window" + :accessor widget-parent-window + :initarg :parent-window + :type gdk:window) + (state + :allocation :virtual + :getter "gtk_widget_get_state" + :setter "gtk_widget_set_state" + :accessor widget-state + :initarg :state + :type state-type) + (colormap + :allocation :virtual + :getter "gtk_widget_get_colormap" + :setter "gtk_widget_set_colormap" + :initarg :colormap + :accessor widget-colormap + :type gdk:colormap) + (visual + :allocation :virtual + :getter "gtk_widget_get_visual" + :reader widget-visual + :type gdk:visual) + (direction + :allocation :virtual + :getter "gtk_widget_get_direction" + :setter "gtk_widget_set_direction" + :accessor widget-direction + :initarg :direction + :type text-direction) + (composite-name + :allocation :virtual + :getter "gtk_widget_get_composite_name" + :setter "gtk_widget_set_composite_name" + :accessor widget-composite-name + :initarg :composite-name + :type (copy-of string)) ; will leak the string when setting + (settings + :allocation :virtual + :getter "gtk_widget_get_settings" + :accessor widget-settings + :type settings) + (child-visible + :allocation :virtual + :getter "gtk_widget_get_child_visible" + :setter "gtk_widget_set_child_visible" + :accessor widget-child-visible-p + :initarg :child-visible + :type boolean) + (width-request + :merge t :unbound -1) + (height-request + :merge t :unbound -1) + #?-(pkg-exists-p "gtk+-2.0" :atleast-version "2.12.0") + (tooltip-window + :allocation :virtual + :getter "gtk_widget_get_tooltip_window" + :setter "gtk_widget_set_tooltip_window" + :accessor widget-tooltip-window + :initarg :tooltip-window + :type window))) + + ("GtkContainer" + :slots + ((child :ignore t) + (children + :allocation :virtual + :setter (setf container-children) + :getter "gtk_container_get_children" + :reader container-children + :type (glist (copy-of widget))) + (internal-children ; for debugging + :allocation :virtual + :getter container-internal-children) + (child-type + :allocation :virtual + :getter "gtk_container_child_type" + :reader container-child-type + :type gtype) + (focus-child + :allocation :virtual + :getter "gtk_container_get_focus_child" + :setter "gtk_container_set_focus_child" + :accessor container-focus-child + :initarg :focus-child + :type widget) + (focus-chain + :allocation :virtual + :getter container-focus-chain + :setter (setf container-focus-chain)) + (focus-hadjustment + :allocation :virtual + :getter "gtk_container_get_focus_hadjustment" + :setter "gtk_container_set_focus_hadjustment" + :accessor container-focus-hadjustment + :initarg :focus-hadjustment + :type adjustment) + (focus-vadjustment + :allocation :virtual + :getter "gtk_container_get_focus_vadjustment" + :setter "gtk_container_set_focus_vadjustment" + :accessor container-focus-vadjustment + :initarg :focus-vadjustment + :type adjustment) + (reallocate-redraws + :allocation :virtual + :getter "gtk_container_get_reallocate_redraws" + :setter "gtk_container_set_reallocate_redraws" + :accessor container-reallocate-redraws + :initarg :reallocate-redraws + :type boolean))) + + ("GtkBin" + :slots + ((child + :allocation :virtual + :getter "gtk_bin_get_child" + :setter (setf bin-child) + :reader bin-child + :type widget))) + + ("GtkWindow" + :slots + ((focus-widget + :allocation :virtual + :getter "gtk_window_get_focus" + :setter "gtk_window_set_focus" + :accessor window-focus-widget + :initarg :focus-widget + :type widget) + (default-widget + :allocation :virtual + :getter "gtk_window_get_default" + :setter "gtk_window_set_default" + :accessor window-default-widget + :initarg :default-widget + :type widget) + (has-frame + :allocation :virtual + :getter "gtk_window_get_has_frame" + :setter "gtk_window_set_has_frame" + :accessor window-has-frame-p + :initarg :has-frame + :type boolean) + (icon-list + :allocation :virtual + :getter %window-get-icon-list + :setter "gtk_window_set_icon_list" + :accessor window-icon-list + :initarg :icon-list + :type (glist gdk:pixbuf)) + (mnemonic-modifier + :allocation :virtual + :getter "gtk_window_get_mnemonic_modifier" + :setter "gtk_window_set_mnemonic_modifier" + :accessor window-mnemonic-modifier + :initarg :mnemonic-modifier + :type gdk:modifier-type) + #?-(pkg-exists-p "gtk+-2.0" :atleast-version "2.10.0") + (transient-for + :allocation :virtual + :getter "gtk_window_get_transient_for" + :setter "gtk_window_set_transient_for" + :accessor window-transient-for + :initarg :transient-for + :type window) + (group + :allocation :virtual + :getter "gtk_window_get_group" + :setter (setf window-group) + :reader window-group + :initarg :group + :type window-group) + (default-width :merge t :unbound -1) + (default-height :merge t :unbound -1))) - -; (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 :virtual - :location 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) - () - (:metaclass child-class)) - - -(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) - () - (:metaclass child-class)) - - -(defclass check-button (toggle-button) - () - (:metaclass container-class) - (:alien-name "GtkCheckButton")) - -(defclass check-button-child (toggle-button-child) - () - (:metaclass child-class)) - - -;; Forward declaration -(defclass radio-button (check-button) - () - (:metaclass container-class) - (:alien-name "GtkRadioButton")) - -(defclass radio-button (check-button) - ((group - :allocation :arg -; :accessor radio-button-group - :initarg :group - :type radio-button)) - (:metaclass container-class) - (:alien-name "GtkRadioButton")) - -(defclass radio-button-child (check-button-child) - () - (:metaclass child-class)) + ("GtkWindowGroup" + :dependencies (window) + :slots + ((grabs + :allocation :alien + :accessor window-group-grabs + :type (gslist window)))) + + ("GtkTooltips" + :slots + ((enabled + :allocation :virtual + :getter "gtk_tooltips_get_enabled" + :setter (setf tooltips-enabled-p) + :reader tooltips-enabled-p + :initarg :enabled + :type boolean))) - -(defclass option-menu (button) - ((menu + ("GtkMenuItem" + :slots + ((label + :allocation :virtual + :getter menu-item-label + :setter (setf menu-item-label) + :type string) + (use-underline + :allocation :user-data + :initform nil + :initarg :use-underline + :accessor menu-item-use-underline-p) + (right-justified + :allocation :virtual + :getter "gtk_menu_item_get_right_justified" + :setter "gtk_menu_item_set_right_justified" + :accessor menu-item-right-justified-p + :initarg :right-justified + :type boolean) + #?-(pkg-exists-p "gtk+-2.0" :atleast-version "2.12.0") + (submenu + :allocation :virtual + :getter "gtk_menu_item_get_submenu" + :setter "gtk_menu_item_set_submenu" + :accessor menu-item-submenu + :initarg :submenu + :type widget))) + + ("GtkMenuShell" + :slots + ((take-focus-p + :allocation :virtual + :getter "gtk_menu_shell_get_take_focus" + :setter "gtk_menu_shell_set_take_focus" + :accessor menu-shell-take-focus-p + :type boolean))) + + ("GtkColorSelectionDialog" + :slots + ((colorsel + :allocation :alien + :reader color-selection-dialog-colorsel + :type widget) + (ok-button + :allocation :alien + :reader color-selection-dialog-ok-button + :type widget) + (cancel-button + :allocation :alien + :reader color-selection-dialog-cancel-button + :type widget) + (help-button + :allocation :alien + :reader color-selection-dialog-help-button + :type widget))) + + ("GtkScrolledWindow" + :slots + (#?-(pkg-exists-p "gtk+-2.0" :atleast-version "2.8.0") + (hscrollbar + :allocation :alien + :reader scrolled-window-hscrollbar + :type widget) + #?-(pkg-exists-p "gtk+-2.0" :atleast-version "2.8.0") + (vscrollbar + :allocation :alien + :reader scrolled-window-vscrollbar + :type widget) + #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.8.0") + (hscrollbar + :allocation :virtual + :getter "gtk_scrolled_window_get_hscrollbar" + :reader scrolled-window-hscrollbar + :type widget) + #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.8.0") + (vscrollbar + :allocation :virtual + :getter "gtk_scrolled_window_get_vscrollbar" + :reader scrolled-window-vscrollbar + :type widget))) + + ("GtkPaned" + :slots + ((child1 :allocation :virtual - :location ("gtk_option_menu_get_menu" (setf option-menu-menu)) - :reader option-menu-menu - :initarg :menu + :getter "gtk_paned_get_child1" + :setter "gtk_paned_add1" + :accessor paned-child1 + :initarg :child1 :type widget) - (history + (child2 :allocation :virtual - :location (nil "gtk_option_menu_set_history") - :writer (setf option-menu-history) - :initarg :history - :type unsigned-int)) - (:metaclass container-class) - (:alien-name "GtkOptionMenu")) - -(defclass option-menu-child (button-child) - () - (:metaclass child-class)) - - -(defclass item (bin) - () - (:metaclass container-class) - (:alien-name "GtkItem")) - -(defclass item-child (bin-child) - () - (:metaclass child-class)) - -;; Forward declaration -(defclass menu-item (item) - () - (:metaclass container-class) - (:alien-name "GtkMenuItem")) + :getter "gtk_paned_get_child2" + :setter "gtk_paned_add2" + :accessor paned-child2 + :initarg :child2 + :type widget))) -(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")) + ("GtkMenu" + :slots + ((accel-group + :allocation :virtual + :getter "gtk_menu_get_accel_group" + :setter "gtk_menu_set_accel_group" + :accessor menu-accel-group + :initarg :accel-group + :type accel-group) + (active + :allocation :virtual + :getter "gtk_menu_get_active" + :setter (setf menu-active) + :reader menu-active + :initarg :active + :type widget) + (screen + :allocation :virtual + :getter "gtk_menu_get_screen" + :setter "gtk_menu_set_screen" + :accessor menu-screen + :initarg :screen + :type gdk:screen) + (attach-widget + :allocation :virtual + :getter "gtk_menu_get_attach_widget" + :reader menu-attach-widget + :type widget) + #?-(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0") + (tearoff-state + :allocation :virtual + :getter "gtk_menu_get_tearoff_state" + :setter "gtk_menu_set_tearoff_state" + :accessor menu-tearoff-state-p + :initarg :tearoff-state + :type boolean))) + + ("GtkPlug" + :slots + ((id + :allocation :virtual + :getter "gtk_plug_get_id" + :reader plug-id + :type gdk:native-window))) + + ("GtkSocket" + :slots + ((id + :allocation :virtual + :getter "gtk_socket_get_id" + :reader socket-id + :type gdk:native-window))) + + ("GtkToolbar" + :slots + ((show-tooltips ;; this slot is equivalent to the property + :allocation :virtual ;; "tooltips" in Gtk+ 2.8 + :getter "gtk_toolbar_get_tooltips" + :setter "gtk_toolbar_set_tooltips" + :accessor toolbar-show-tooltips-p + :initarg :show-tooltips + :type boolean) + (tooltips + :allocation :virtual + :getter "gtk_toolbar_get_tooltips_object" + :reader toolbar-tooltips + :type tooltips) + (toolbar-style ; defined manually to get the accesssor name correct + :allocation :property + :pname "toolbar-style" + :initarg :toolbar-style + :accessor toolbar-style + :type toolbar-style) + (n-items + :allocation :virtual + :getter "gtk_toolbar_get_n_items" + :reader toolbar-n-items + :type int))) + + ("GtkToolItem" + :slots + ((use-drag-window + :allocation :virtual + :getter "gtk_tool_item_get_use_drag_window" + :setter "gtk_tool_item_set_use_drag_window" + :accessor tool-item-use-drag-window-p + :initarg :drag-window + :type boolean) + (tip-text + :allocation :user-data + :setter (setf tool-item-tip-text) + :initarg :tip-text + :reader tool-item-tip-text) + (tip-private + :allocation :user-data + :setter (setf tool-item-tip-private) + :initarg :tip-private + :reader tool-item-tip-private))) + + ("GtkToolButton" + :slots + ((stock-id :merge t :initarg :stock) + (icon-widget :merge t :initarg :icon))) + + ("GtkToggleToolButton" + :slots + ((active + :allocation :virtual + :getter "gtk_toggle_tool_button_get_active" + :setter "gtk_toggle_tool_button_set_active" + :accessor toggle-tool-button-active-p + :initarg :active + :type boolean))) + + ("GtkRadioToolButton" + :slots + ((group + :allocation :virtual + :getter "gtk_radio_tool_button_get_group" + :reader radio-tool-button-group + :type (copy-of (gslist widget))) + (value + :allocation :user-data + :initarg :value + :accessor radio-tool-button-value + :documentation "Value passed as argument to the activate callback"))) + + ("GtkNotebook" + :slots + ((current-page + :allocation :virtual + :getter %notebook-current-page + :setter (setf notebook-current-page) + :reader notebook-current-page + :type widget + :initarg :current-page) + (current-page-num + :allocation :virtual + :getter "gtk_notebook_get_current_page" + :setter "gtk_notebook_set_current_page" + :unbound -1 + :initarg :current-page-num + :accessor notebook-current-page-num + :type position))) -(defclass menu-item-child (item-child) - () - (:metaclass child-class)) + ("GtkRuler" + :slots + ((metric + :allocation :virtual + :getter "gtk_ruler_get_metric" + :setter "gtk_ruler_set_metric" + :accessor ruler-metric + :initarg :metric + :type metric-type))) + + ("GtkProgressBar" + :slots + ; deprecated properties + ((bar-style :ignore t) + (adjustment :ignore t) + (activity-step :ignore t) + (activity-blocks :ignore t) + (discrete-blocks :ignore t))) + + ("GtkHandleBox" + :slots + ; deprecated property + ((shadow :ignore t))) + + ("GtkFrame" + :slots + ; deprecated property + ((shadow :ignore t))) + + ("GtkTable" + :slots + ((column-spacing + :allocation :property :pname "column-spacing" + :initarg :column-spacing + :type unsigned-int) + (row-spacing + :allocation :property :pname "row-spacing" + :initarg :row-spacing + :type unsigned-int))) + + ("GtkDialog" + :slots + ((vbox + :allocation :virtual + :getter "gtk_dialog_get_vbox" + :reader dialog-vbox + :type widget) + (action-area + :allocation :virtual + :getter "gtk_dialog_get_action_area" + :reader dialog-action-area + :type widget))) + + ("GtkEntry" + :slots + ((layout + :allocation :virtual + :getter "gtk_entry_get_layout" + :reader entry-layout + :type pango:layout) + (completion + :allocation :virtual + :getter "gtk_entry_get_completion" + :setter "gtk_entry_set_completion" + :initarg :completion + :accessor entry-completion + :type entry-completion) + (max-length :merge t :unbound 0) + (alignment + :allocation :virtual + :getter "gtk_entry_get_alignment" + :setter "gtk_entry_set_alignment" + :initarg :alignment + :accessor entry-alignment + :type single-float) + #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0") + (width-chars :merge t :unbound -1) + #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.12.0") + (cursor-adjustment + :allocation :virtual + :getter "gtk_entry_get_cursor_hadjustment" + :setter "gtk_entry_set_cursor_hadjustment" + :initarg :cursor-hadjustment + :accessor entry-cursor-hadjustment + :type adjustment))) + + ("GtkEntryCompletion" + :slots + ((entry + :allocation :virtual + :getter "gtk_entry_completion_get_entry" + :reader entry-completion-entry + :type entry) + (minimum-key-length :merge t :unbound -1) + ;; Need to be manually defined, as this value through the property + ;; mechanism doesn't work + #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0") + (text-column + :allocation :virtual + :getter "gtk_entry_completion_get_text_column" + :setter "gtk_entry_completion_set_text_column" + :unbound -1 + :accessor entry-completion-text-column + :type int))) + + ("GtkRadioButton" + :slots + ((group + :allocation :virtual + :getter "gtk_radio_button_get_group" + :reader radio-button-group + :type (copy-of (gslist widget))) + (value + :allocation :user-data + :initarg :value + :accessor radio-button-value + :documentation "Value passed as argument to the activate callback"))) + + ("GtkRadioMenuItem" + :slots + ((group + :allocation :virtual + :getter "gtk_radio_menu_item_get_group" + :reader radio-menu-item-group + :type (copy-of (gslist widget))) + (value + :allocation :user-data + :initarg :value + :accessor radio-menu-item-value + :documentation "Value passed as argument to the activate callback"))) + + ("GtkLayout" + :slots + ((bin-window + :allocation :virtual + :getter "gtk_layout_get_bin_window" + :reader layout-bin-window + :type gdk:window))) + + ("GtkFixed" + :slots + ((has-window + :allocation :virtual + :getter "gtk_fixed_get_has_window" + :setter "gtk_fixed_set_has_window" + :reader fixed-has-window-p + :initarg :has-window + :type boolean))) + + ("GtkRange" + :slots + ((value + :allocation :virtual + :getter "gtk_range_get_value" + :setter "gtk_range_set_value" + :initarg :value + :accessor range-value + :type double-float) + (upper + :allocation :virtual + :getter range-upper + :setter (setf range-upper) + :initarg :upper) + (lower + :allocation :virtual + :getter range-lower + :setter (setf range-lower) + :initarg :lower) + (step-increment + :allocation :virtual + :getter range-step-increment + :setter (setf range-step-increment) + :initarg :step-increment) + (page-increment + :allocation :virtual + :getter range-page-increment + :setter (setf range-page-increment) + :initarg :page-increment))) + + ("GtkImage" + :slots + ((file :ignore t) + #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0") + (pixel-size :merge t :unbound -1))) + + ("GtkLabel" + :slots + ((layout + :allocation :virtual + :getter "gtk_label_get_layout" + :reader label-layout + :type pango:layout))) + + ("GtkScale" + :slots + ((layout + :allocation :virtual + :getter "gtk_scale_get_layout" + :reader scale-layout + :type pango:layout))) + + ("GtkEditable" + :slots + ((editable + :allocation :virtual + :getter "gtk_editable_get_editable" + :setter "gtk_editable_set_editable" + :reader editable-editable-p + :initarg :editable + :type boolean) + (position + :allocation :virtual + :getter "gtk_editable_get_position" + :setter "gtk_editable_set_position" + :reader editable-position + :initarg :position + :type position) + (text + :allocation :virtual + :getter editable-text + :setter (setf editable-text) + :initarg text))) + + ("GtkFileChooser" + :slots + ((filename + :allocation :virtual + :getter "gtk_file_chooser_get_filename" + :setter "gtk_file_chooser_set_filename" + :accessor file-chooser-filename + :initarg :filename + :type string) + (current-name + :allocation :virtual + :setter "gtk_file_chooser_set_current_name" + :accessor file-chooser-current-name + :initarg :current-name + :type string) + (current-folder + :allocation :virtual + :setter "gtk_file_chooser_set_current_folder" + :getter "gtk_file_chooser_get_current_folder" + :accessor file-chooser-current-folder + :initarg :current-folder + :type string) + (uri + :allocation :virtual + :getter "gtk_file_chooser_get_uri" + :setter "gtk_file_chooser_set_uri" + :accessor file-chooser-uri + :initarg :uri + :type string) + (current-folder-uri + :allocation :virtual + :setter "gtk_file_chooser_set_current_folder_uri" + :getter "gtk_file_chooser_get_current_folder_uri" + :accessor file-chooser-current-folder-uri + :initarg :current-folder-uri + :type string))) + + ("GtkFileFilter" + :slots + ((name + :allocation :virtual + :getter "gtk_file_filter_get_name" + :setter "gtk_file_filter_set_name" + :accessor file-filter-name + :initarg :name + :type string))) + + ("GtkTreeView" + :slots + ((columns + :allocation :virtual + :getter "gtk_tree_view_get_columns" + :reader tree-view-columns + :type (glist (copy-of tree-view-column))) + (selection + :allocation :virtual + :getter "gtk_tree_view_get_selection" + :reader tree-view-selection + :type tree-selection))) + + ("GtkTreeModel" + :slots + ((n-columns + :allocation :virtual + :getter "gtk_tree_model_get_n_columns" + :reader tree-model-n-columns + :type int))) + + ("GtkTreeModelFilter" + :slots + ((virtual-root :merge t :type tree-path))) + + ("GtkTreeSelection" + :slots + ((mode + :allocation :virtual + :getter "gtk_tree_selection_get_mode" + :setter "gtk_tree_selection_set_mode" + :accessor tree-selection-mode + :initarg :mode + :type selection-mode) + (tree-view + :allocation :virtual + :getter "gtk_tree_selection_get_tree_view" + :reader tree-selection-tree-view + :type tree-view))) + + ("GtkComboBox" + :slots + ((active-iter + :allocation :virtual + :getter "gtk_combo_box_get_active_iter" + :setter "gtk_combo_box_set_active_iter" + :accessor combo-box-active-iter + :type tree-iter))) + + ("GtkTextBuffer" + :slots + ((line-count + :allocation :virtual + :getter "gtk_text_buffer_get_line_count" + :reader text-buffer-line-count + :type int) + (char-count + :allocation :virtual + :getter "gtk_text_buffer_get_char_count" + :reader text-buffer-char-count + :type int) + (modified + :allocation :virtual + :getter "gtk_text_buffer_get_modified" + :setter "gtk_text_buffer_set_modified" + :accessor text-buffer-modifed-p + :type boolean))) + + ("GtkTextView" + :slots + ((default-attributes + :allocation :virtual + :getter "gtk_text_view_get_default_attributes" + :reader text-view-default-attributes + :type text-attributes))) + + ("GtkTextTagTable" + :slots + ((size + :allocation :virtual + :getter "gtk_text_tag_table_get_size" + :reader text-tag-table-size + :type int))) + + ("GtkTextTag" + :slots + ((priority + :allocation :virtual + :getter "gtk_text_tag_get_priority" + :setter "gtk_text_tag_set_priority" + :accessor text-tag-priority + :type int) + (weight + :merge t :type pango:weight))) + + ("GtkTextMark" + :slots + ((buffer + :allocation :virtual + :getter "gtk_text_mark_get_buffer" + :reader text-mark-buffer + :type text-buffer) + (name + :allocation :virtual + :getter "gtk_text_mark_get_name" + :reader text-mark-name + :type (copy-of string)) + (visible + :allocation :virtual + :getter "gtk_text_mark_get_visible" + :setter "gtk_text_mark_set_visible" + :accessor text-mark-visible-p + :type boolean) + (deleted + :allocation :virtual + :getter "gtk_text_mark_get_deleted" + :reader text-mark-deleted-p + :type boolean) + (left-gravity + :allocation :virtual + :getter "gtk_text_mark_get_left_gravity" + :reader text-mark-left-gravity-p + :type boolean))) + + ("GtkUIManager" + :type ui-manager + :slots + ((action-groups + :allocation :virtual + :getter "gtk_ui_manager_get_action_groups" + :reader ui-manager-action-groups + :type (copy-of (glist action-group))) + (accel-group + :allocation :virtual + :getter "gtk_ui_manager_get_accel_group" + :reader ui-manager-accel-group + :type accel-group))) + + ("GtkUIManagerItemType" + :type ui-manager-item-type) + + ("GtkAction" + :slots + ((accelerator + :allocation :user-data :initarg :accelerator + :reader action-accelerator))) + + #?-(pkg-exists-p "gtk+-2.0" :atleast-version "2.10.0") + ("GtkToggleAction" + :slots + ((active + :allocation :virtual + :getter "gtk_toggle_action_get_active" + :setter "gtk_toggle_action_set_active" +; :initarg :active ;; Handled by initialize-instance + :accessor toggle-action-active-p + :type boolean))) + + ("GtkRadioAction" + :slots + ((group + :allocation :virtual + :getter "gtk_radio_button_get_group" + :reader radio-action-group + :type (copy-of (gslist widget))) + (self + :allocation :property :pname "value" :type int + :documentation "A hack so we can use the alien function gtk_radio_action_get_current_value to retrieve the active radio action in a group.") + (value + :allocation :user-data :initarg :value :accessor radio-action-value) + #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.10.0") + ;; Use radio-action-get-current-value to get the current value of + ;; a radio action group + (current-value :ignore t))) + + ("GtkColorSelection" + :slots + ((previous-alpha + :allocation :virtual + :getter "gtk_color_selection_get_previous_alpha" + :setter "gtk_color_selection_set_previous_alpha" + :initarg :previous-alpha + :accessor color-selection-previous-alpha + :type (unsigned 16)) + (previous-color + :allocation :virtual + :getter color-selection-previous-color + :setter "gtk_color_selection_set_previous_color" + :initarg :previous-color + :writer (setf color-selection-previous-color) + :type gdk:color))) + + ("GtkFontSelection" + :slots + ; deprecated property + ((font :ignore t))) + + ("GtkClipboard" + :slots + ((display + :allocation :virtual + :getter "gtk_clipboard_get_display" + :reader clipboard-display + :type gdk:display))) + + #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.6.0") + ("GtkIconView" + :slots + ((text-column + :allocation :virtual + :getter %icon-view-get-text-column + :setter %icon-view-set-text-column + :boundp %icon-view-text-column-boundp + :initarg :text-column + :accessor icon-view-text-column) + (markup-column + :allocation :virtual + :getter %icon-view-get-markup-column + :setter %icon-view-set-markup-column + :boundp %icon-view-markup-column-boundp + :initarg :markup-column + :accessor icon-view-markup-column) + (pixbuf-column + :allocation :virtual + :getter %icon-view-get-pixbuf-column + :setter %icon-view-set-pixbuf-column + :boundp %icon-view-pixbuf-column-boundp + :initarg :pixbuf-column + :accessor icon-view-pixbuf-column))) + + #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.10.0") + ("GtkAssistant" + :slots + ((current-page + :allocation :virtual + :getter "gtk_assistant_get_current_page" + :setter "gtk_assistant_set_current_page" + :accessor assistant-current-page + :type int) + (num-pages + :allocation :virtual + :getter "gtk_assistant_get_n_page" + :reader assistant-current-page + :type int))) + + #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.10.0") + ("GtkRecentChooser" + :slots + ((current-item + :allocation :virtual + :getter "gtk_recent_chooser_get_current_item" + :reader recent-chooser-current-item + :type recent-info) + (current-uri + :allocation :virtual + :getter "gtk_recent_chooser_get_current_uri" + :setter %recent-chooser-set-current-uri + :accessor recent-chooser-current-uri + :type string))) + + ;; Not needed + ("GtkFundamentalType" :ignore t) + ("GtkArgFlags" :ignore t) -(defclass check-menu-item (menu-item) - ((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 + ;; Deprecated widgets + ("GtkCList" :ignore-prefix t) + ("GtkCTree" :ignore-prefix t) + ("GtkList" :ignore t) + ("GtkListItem" :ignore t) + ("GtkTree" :ignore t) + ("GtkTreeItem" :ignore t) + ("GtkItemFactory" :ignore t) + ("GtkText" :ignore t) + ("GtkPacker" :ignore-prefix t) + ("GtkPixmap" :ignore t) + ("GtkPreview" :ignore-prefix t) + ("GtkProgres" :ignore t) + ("GtkTipsQuery" :ignore t) + ("GtkOldEditable" :ignore t) + ("GtkCombo" :ignore t) + ("GtkOptionMenu" :ignore t) + ("GtkFileSelection" :ignore t) + ("GtkInputDialog") + + ;; What are these? + ("GtkFileSystemModule" :ignore t) + ("GtkIMModule" :ignore t) + ("GtkThemeEngine" :ignore t)) + + +(defclass text-iter (boxed) + ((buffer :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) - () - (:metaclass child-class)) - - -(defclass radio-menu-item (check-menu-item) - ((group + :getter "gtk_text_iter_get_buffer" + :reader text-iter-buffer + :type pointer) ;text-buffer) + (offset :allocation :virtual - :location ("gtk_radio_menu_item_group" "gtk_radio_menu_item_set_group") - :accessor radio-menu-item-group - :type radio-menu-item-group)) - (:metaclass container-class) - (:alien-name "GtkRadioMenuItem")) - -(defclass radio-menu-item-child (check-menu-item-child) - () - (:metaclass child-class)) - - -(defclass tearoff-menu-item (menu-item) - () - (:metaclass container-class) - (:alien-name "GtkTearoffMenuItem")) - -(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) - () - (:metaclass child-class)) - - -;; deprecated -(defclass tree-item (item) - () -; :slots -; ;; slots not accessible through the arg mechanism -; ((subtree :write-method :lisp :type tree-item))) - (:metaclass container-class) - (:alien-name "GtkTreeItem")) - -(defclass tree-item-child (item-child) - () - (:metaclass child-class)) - - -(defclass window (bin) - ((type - :allocation :arg - :accessor window-type - :initarg :type - :type window-type) - (title - :allocation :arg - :accessor window-title - :initarg :title - :type string) - (auto-shrink - :allocation :arg - :accessor window-auto-shrink-p - :initarg :auto-shrink - :type boolean) - (allow-shrink - :allocation :arg - :accessor window-allow-shrink-p - :initarg :allow-shrink - :type boolean) - (allow-grow - :allocation :arg - :accessor window-allow-grow-p - :initarg :allow-grow - :type boolean) - (modal - :allocation :arg - :accessor window-modal-p - :initarg :modal - :type boolean) - (position - :allocation :arg - :location "GtkWindow::window_position" - :accessor window-position - :initarg :position - :type window-position) - (default-width - :allocation :arg - :accessor window-default-width - :initarg :default-width + :getter "gtk_text_iter_get_offset" + :setter "gtk_text_iter_set_offset" + :accessor text-iter-offset :type int) - (default-height - :allocation :arg - :accessor window-default-height - :initarg :default-height - :type int)) - (:metaclass container-class) - (:alien-name "GtkWindow")) - -(defclass window-child (bin-child) - () - (: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) - ((action-area - :allocation :virtual - :location "gtk_dialog_get_action_area" - :reader dialog-action-area - :type widget) - (box - :allocation :virtual - :location "gtk_dialog_get_vbox" - :reader dialog-box - :type widget)) - (:metaclass container-class) - (:alien-name "GtkDialog")) - -(defclass dialog-child (window-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 -; :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) - () - (:metaclass container-class) - (:alien-name "GtkEventBox")) - -(defclass event-box-child (bin-child) - () - (:metaclass child-class)) - - -(defclass handle-box (bin) - ((shadow-type - :allocation :arg - :location "GtkHandleBox::shadow" - :accessor handle-box-shadow-type - :initarg :shadow-type - :type shadow-type) - (handle-position - :allocation :arg - :accessor handle-box-handle-position - :initarg :handle-position - :type position-type) - (snap-edge - :allocation :arg - :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 - :accessor scrolled-window-hadjustment - :initarg :hadjustment - :type adjustment) - (vadjustment - :allocation :arg - :accessor scrolled-window-vadjustment - :initarg :vadjustment - :type adjustment) - (hscrollbar-policy - :allocation :arg - :accessor scrolled-window-hscrollbar-policy - :initarg :hscrollbar-policy - :type policy-type) - (vscrollbar-policy - :allocation :arg - :accessor scrolled-window-vscrollbar-policy - :initarg :vscrollbar-policy - :type policy-type) - (placement - :allocation :arg - :location "GtkScrolledWindow::window_placement" - :accessor scrolled-window-placement - :initarg :placement - :type corner-type) - (shadow-type - :allocation :arg - :location "GtkScrolledWindow::shadow" - :accessor scrolled-window-shadow-type - :initarg :shadow-type - :type shadow-type) - (hscrollbar - :allocation :virtual - :location "gtk_scrolled_window_get_hscrollbar" - :accessor scrolled-window-hscrollbar - :type widget) - (vscrollbar + (line :allocation :virtual - :location "gtk_scrolled_window_get_vscrollbar" - :accessor scrolled-window-vscrollbar - :type widget)) - (:metaclass container-class) - (:alien-name "GtkScrolledWindow")) - -(defclass scrolled-window-child (bin-child) - () - (:metaclass child-class)) - - -(defclass viewport (bin) - ((hadjustment - :allocation :arg - :accessor viewport-hadjustment - :initarg :hadjustment - :type adjustment) - (vadjustment - :allocation :arg - :accessor viewport-vadjustment - :initarg :vadjustment - :type adjustment) - (shadow-type - :allocation :arg - :accessor viewport-shadow-type - :initarg :shadow-type - :type shadow-type)) - (:metaclass container-class) - (:alien-name "GtkViewport")) - -(defclass viewport-child (bin-child) - () - (:metaclass child-class)) - - -(defclass box (container) - ((spacing - :allocation :arg - :accessor box-spacing - :initarg :spacing + :getter "gtk_text_iter_get_line" + :setter "gtk_text_iter_set_line" + :accessor text-iter-line :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 + (line-offset :allocation :virtual - :location ("gtk_button_box_get_spacing" "gtk_button_box_set_spacing") - :accessor button-box-spacing + :getter "gtk_text_iter_get_line_offset" + :setter "gtk_text_iter_set_line_offset" + :accessor text-iter-line-offset :type int) - (layout + (line-index :allocation :virtual - :location ("gtk_button_box_get_layout" "gtk_button_box_set_layout") - :accessor button-box-layout - :type button-box-style)) - (:metaclass container-class) - (:alien-name "GtkButtonBox")) - -(defclass button-box-child (box-child) - () - (:metaclass child-class)) - - -(defclass hbutton-box (button-box) - () - (:metaclass container-class) - (:alien-name "GtkHButtonBox")) - -(defclass hbutton-box-child (button-box-child) - () - (:metaclass child-class)) - - -(defclass vbutton-box (button-box) - () - (:metaclass container-class) - (:alien-name "GtkVButtonBox")) - -(defclass vbutton-box-child (button-box-child) - () - (:metaclass child-class)) - - -(defclass vbox (box) - () - (:metaclass container-class) - (:alien-name "GtkVBox")) - -(defclass vbox-child (box-child) - () - (:metaclass child-class)) - - -; (defclass color-selection vbox -; :slots -; ((policy :c-writer "gtk_color_selection_set_update_policy" -; :read-method :arg :type update-type) -; (use-opacity :c-writer "gtk_color_selection_set_opacity" -; :read-method :arg :type boolean) -; ;; slots not accessible through the arg mechanism -; (color :access-method :lisp))) - -; (defclass gamma-curve vbox) - - -(defclass hbox (box) - () - (:metaclass container-class) - (:alien-name "GtkHBox")) - -(defclass hbox-child (box-child) - () - (:metaclass child-class)) - - -(defclass statusbar (hbox) - () - (:metaclass container-class) - (:alien-name "GtkStatusbar")) - -(defclass statusbar-child (hbox-child) - () - (:metaclass child-class)) - -;; CList and CTree is deprecated -; (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) - () - (:metaclass container-class) - (:alien-name "GtkFixed")) - -(defclass fixed-child (container-child) - () - (:metaclass child-class)) - - -(defclass notebook (container) - ((tab-pos - :allocation :arg - :accessor notebook-tab-pos - :initarg :tab-pos - :type position-type) - (show-tabs - :allocation :arg - :accessor notebook-show-tabs-p - :initarg :show-tabs - :type boolean) - (show-border - :allocation :arg - :accessor notebook-show-border-p - :initarg :show-border - :type boolean) - (scrollable - :allocation :arg - :accessor notebook-scrollable-p - :initarg :scrollable - :type boolean) - (tab-border - :allocation :arg - :accessor notebook-tab-border - :initarg :tab-border - :type unsigned-int) - (tab-hborder - :allocation :arg - :accessor notebook-tab-hborder - :initarg :tab-hborder - :type unsigned-int) - (tab-vborder - :allocation :arg - :accessor notebook-tab-vborder - :initarg :tab-vborder - :type unsigned-int) - (page - :allocation :arg - :accessor notebook-page - :initarg :page + :getter "gtk_text_iter_get_line_index" + :setter "gtk_text_iter_set_line_index" + :accessor text-iter-line-index :type int) - (enable-popup - :allocation :arg - :accessor notebook-enable-popup-p - :initarg :enable-popup - :type boolean) - (homogeneous - :allocation :arg - :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 + (visible-line-index + :allocation :virtual + :getter "gtk_text_iter_get_visible_line_index" + :setter "gtk_text_iter_set_visible_line_index" + :accessor text-iter-visible-line-index :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 :arg - :accessor paned-handle-size - :initarg handle-size - :type unsigned-int) - (position + (visible-line-offset :allocation :virtual - :location ("gtk_paned_get_position" "gtk_paned_set_position") - :accessor paned-position - :initarg :position + :getter "gtk_text_iter_get_visible_line_offset" + :setter "gtk_text_iter_set_visible_line_offset" + :accessor text-iter-visible-line-offset :type int)) - (:metaclass container-class) - (:alien-name "GtkPaned")) - -(defclass paned-child (container-child) - () - (:metaclass child-class)) - - -(defclass hpaned (paned) - () - (:metaclass container-class) - (:alien-name "GtkHPaned")) + (:metaclass boxed-class) + (:size #.(* 14 (size-of 'pointer)))) -(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)) - (:metaclass container-class) - (:alien-name "GtkLayout")) - -(defclass layout-child (container-child) - () - (:metaclass child-class)) - - -; (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) - () - (:metaclass container-class) - (:alien-name "GtkMenuShell")) - -(defclass menu-shell-child (container-child) - () - (:metaclass child-class)) - - -(defclass menu-bar (menu-shell) - ((shadow-type - :allocation :arg - :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) - () - (: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 +(defclass tooltips-data (struct) + ((tooltips + :allocation :alien + :reader tooltips-data-tooltips + :type tooltips) + (widget + :allocation :alien + :reader tooltips-data-widget + :type widget) + (tip-text + :allocation :alien + :reader tooltips-data-tip-text + :type string) + (tip-private + :allocation :alien + :reader tooltips-data-tip-private :type string)) - (:metaclass container-class) - (:alien-name "GtkMenu")) - -(defclass menu-child (menu-shell-child) - () - (:metaclass child-class)) - - -(defclass packer (container) - ((spacing - :allocation :arg - :accessor packer-spacing - :initarg :spacing - :type unsigned-int) - (default-border-width - :allocation :arg - :accessor packer-default-border-width - :initarg :default-border-width - :type unsigned-int) - (default-pad-x - :allocation :arg - :accessor packer-default-pad-x - :initarg :default-pad-x - :type unsigned-int) - (default-pad-y - :allocation :arg - :accessor packer-default-pad-y - :initarg :default-pad-y - :type unsigned-int) - (default-ipad-x - :allocation :arg - :accessor packer-default-ipad-y - :initarg :default-ipad-y - :type unsigned-int) - (default-ipad-y - :allocation :arg - :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 :arg - :location "GtkTable::n_rows" - :accessor table-rows - :initarg :rows - :type unsigned-int) - (columns - :allocation :arg - :location "GtkTable::n_columns" - :accessor table-columns - :initarg :columns - :type unsigned-int) - (row-spacing - :allocation :arg - :accessor table-default-row-spacing - :initarg :row-spacing - :type unsigned-int) - (column-spacing - :allocation :arg - :accessor table-default-column-spacing - :initarg :column-spacing - :type unsigned-int) - (homogeneous - :allocation :arg - :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 :arg - :accessor toolbar-orientation - :initarg :orientation - :type orientation) - (toolbar-style - :allocation :arg - :accessor toolbar-style - :initarg :toolbar-style - :type toolbar-style) - (space-size - :allocation :arg - :accessor toolbar-space-size - :initarg :space-size - :type unsigned-int) - (space-style - :allocation :arg - :accessor toolbar-space-style - :initarg :space-style - :type toolbar-space-style) - (relief - :allocation :arg - :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)) - - -;; Deprecated -(defclass tree (container) - () -; :slots -; ;; slots not accessible through the arg mechanism -; ((selection-mode :type selection-mode) -; (view-mode :type tree-view-mode) -; (view-lines :type boolean) -; (root-tree :read-only t :type tree))) - (:metaclass container-class) - (:alien-name "GtkTree")) - - -(defclass calendar (widget) - () - (:metaclass widget-class) - (:alien-name "GtkCalendar")) - - -(defclass drawing-area (widget) - () - (:metaclass widget-class) - (:alien-name "GtkDrawingArea")) - -; (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) - ((position - :allocation :arg - :location "GtkEditable::text_position" - :accessor ediatable-position - :initarg :position - :type int) - (editable - :allocation :arg - :accessor editable-editable-p - :initarg :editable - :type boolean) - (text - :allocation :virtual - :location editable-text - :initarg :text + (:metaclass struct-class)) + +(defclass file-filter-info (struct) + ((contains + :allocation :alien + :initarg :contains + :type file-filter-flags) + (filename + :allocation :alien + :initarg :filename + :type string) + (uri + :allocation :alien + :initarg :uri + :type string) + (display-name + :allocation :alien + :initarg :display-name + :type string) + (mime-type + :allocation :alien + :initarg :mime-type :type string)) - (:metaclass widget-class) - (:alien-name "GtkEditable")) - - -(defclass entry (editable) - ((max-length - :allocation :arg - :accessor entry-max-length - :initarg :max-length - :type unsigned-int) - (visible - :allocation :arg - :location "GtkEntry::visibility" - :accessor entry-visible-p - :initarg :visible - :type boolean)) - (:metaclass widget-class) - (:alien-name "GtkEntry")) - + (:metaclass struct-class)) -(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) - ((adjustment - :allocation :arg - :accessor spin-button-adjustment - :initarg :adjustment - :type adjustment) - (climb-rate - :allocation :arg - :accessor spin-button-climb-rate - :initarg :climb-rate - :type single-float) - (digits - :allocation :arg - :accessor spin-button-digits - :initarg :digits +(defclass accel-key (struct) + ((key + :allocation :alien :type unsigned-int) - (snap-to-ticks - :allocation :arg - :accessor spin-button-snap-to-ticks-p - :initarg :snap-to-ticks - :type boolean) - (numeric - :allocation :arg - :accessor spin-button-numeric-p - :initarg :numeric - :type boolean) - (wrap - :allocation :arg - :accessor spin-button-wrap-p - :initarg :wrap - :type boolean) - (update-policy - :allocation :arg - :accessor spin-button-update-policy - :initarg :update-policy - :type spin-button-update-policy) - (shadow-type - :allocation :arg - :accessor spin-button-shadow-type - :initarg :shadow-type - :type shadow-type) - (value - :allocation :arg - :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) -; (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) - ((lower - :allocation :arg - :accessor ruler-lower - :initarg :lower - :type single-float) - (upper - :allocation :arg - :accessor ruler-upper - :initarg :upper - :type single-float) - (position - :allocation :arg - :accessor ruler-position - :initarg :position - :type single-float) - (max-size - :allocation :arg - :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) - () - (:metaclass widget-class) - (:alien-name "GtkHRuler")) - - -(defclass vruler (ruler) - () - (:metaclass widget-class) - (:alien-name "GtkVRuler")) - - -(defclass range (widget) - ((update-policy - :allocation :arg - :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 :arg - :accessor scale-digits - :initarg :digits - :type int) - (draw-value - :allocation :arg - :accessor scale-draw-value-p - :initarg :draw-value - :type boolean) - (value-position - :allocation :arg - :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 scrollbar (range) - () - (:metaclass widget-class) - (:alien-name "GtkScrollbar")) - - -(defclass hscrollbar (scrollbar) - () - (:metaclass widget-class) - (:alien-name "GtkHScrollbar")) - - -(defclass vscrollbar (scrollbar) - () - (:metaclass widget-class) - (:alien-name "GtkVScrollbar")) - - -(defclass separator (widget) - () - (:metaclass widget-class) - (:alien-name "GtkSeparator")) - + (modifiers + :allocation :alien + :type gdk:modifier-type) + (flags + :allocation :alien + :type (unsigned 16))) + (:metaclass struct-class)) -(defclass hseparator (separator) - () - (:metaclass widget-class) - (:alien-name "GtkHSeparator")) +(defclass accel-group-entry (struct) + ((key + :allocation :alien + :setter nil + :type (inlined accel-key)) + (gclosure + :allocation :alien + :type gclosure) + (accel_path_quark + :allocation :alien + :type quark)) + (:metaclass struct-class)) +#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.8.0") +(define-enum-type drop-position + :no-drop :drop-into :drop-left :drop-right :drop-above :drop-below) -(defclass vseparator (separator) - () - (:metaclass widget-class) - (:alien-name "GtkVSeparator")) - - -; (defclass preview widget -; :slots -; ((expand :read-method :arg :type boolean))) - -; (defclass progress widget -; :slots -; ((activity-mode :read-method :arg :type boolean) -; (show-text :read-method :arg :type boolean) -; (text-xalign :access-method :arg :type single-float) -; (text-yalign :access-method :arg :type single-float) -; ;; slots not accessible through the arg mechanism -; (format-string :type string) -; (adjustment :type adjustment) -; (percentage :c-reader "gtk_progress_get_current_percentage" -; :type single-float) -; (value :type single-float) -; (text :c-reader "gtk_progress_get_current_text" -; :read-only t :type string))) - -; (defclass progress-bar progress -; :slots -; ((adjustment :c-writer "gtk_progress_set_adjustment" -; :read-method :arg :type adjustment) -; (orientation :read-method :arg :type progress-bar-orientation) -; (bar-style :read-method :arg :accessor progress-bar-style -; :type progress-bar-style) -; (activity-step :read-method :arg :type unsigned-int) -; (activity-blocks :read-method :arg :type unsigned-int) -; (discrete-blocks :read-method :arg :type unsigned-int))) - -; (defclass item-factory object) +(defclass target-entry (struct) + ((target + :allocation :alien + :accessor target-entry-target + :initarg :target + :type string) + (flags + :allocation :alien + :accessor target-entry-flags + :initarg :flags + :type target-flags) + (id + :allocation :alien + :accessor target-entry-id + :initarg :id + :type unsigned-int)) + (:metaclass struct-class)) + + +(defclass selection-data (boxed) + ((selection + :allocation :alien :type gdk:atom + :reader selection-data-selection) + (target + :allocation :alien :type gdk:atom + :reader selection-data-target) + (type + :allocation :alien :type gdk:atom + :reader selection-data-type) + (format + :allocation :alien :type int + :reader selection-data-format) + (data + :allocation :alien :type pointer + :reader selection-data-data) + (length + :allocation :alien :type int + :reader selection-data-length) + (display + :allocation :alien :type gdk:display + :reader selection-data-display)) + (:metaclass boxed-class)) + + +#?-(pkg-exists-p "gtk+-2.0" :atleast-version "2.10.0") +(defclass target-list (proxy) + () + (:metaclass proxy-class) + (:ref target-list-ref) + (:unref target-list-unref)) + +#?(pkg-exists-p "gtk+-2.0" :atleast-version "2.10.0") +(defclass target-list (boxed) + () + (:metaclass boxed-class))