X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/d76e9fca7e252fb02a17d64d3e1c3025de3a2670..62f128081bd450f55d7e4ffd6602fb518f8ea304:/gtk/gtktypes.lisp diff --git a/gtk/gtktypes.lisp b/gtk/gtktypes.lisp index 79eb33b..41e599d 100644 --- a/gtk/gtktypes.lisp +++ b/gtk/gtktypes.lisp @@ -15,7 +15,7 @@ ;; 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.27 2004-12-29 21:17:37 espen Exp $ +;; $Id: gtktypes.lisp,v 1.30 2005-01-12 13:38:18 espen Exp $ (in-package "GTK") @@ -126,7 +126,12 @@ (defclass tree-iter (boxed) (deftype tree-path () '(vector integer)) (register-type 'tree-path "GtkTreePath") -(deftype editable-position () '(or int (enum (:start 0) (:end -1)))) +(deftype position () + '(or int (enum (:start 0) (:end -1) (:first 0) (:last -1)))) + +(defmethod reader-function ((type (eql 'position)) &rest args) + (declare (ignore type args)) + (reader-function 'int)) ;; Forward definitions (defclass widget (%object) @@ -158,6 +163,13 @@ (define-types-by-introspection "Gtk" :getter "gtk_widget_get_window" :reader widget-window :type gdk:window) + (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" @@ -190,7 +202,7 @@ (define-types-by-introspection "Gtk" :setter "gtk_widget_set_composite_name" :accessor widget-composite-name :initarg :composite-name - :type string) + :type (copy-of string)) ; will leak the string when setting (settings :allocation :virtual :getter "gtk_widget_get_settings" @@ -223,7 +235,7 @@ (define-types-by-introspection "Gtk" ) (child-type :allocation :virtual - :getter "gtk_containerchild_type" + :getter "gtk_container_child_type" :reader container-child-type :type gtype) (focus-child @@ -452,36 +464,54 @@ (default-height :merge t :unbound -1))) ("GtkToolbar" :slots - ((tooltips + ((show-tooltips :allocation :virtual :getter "gtk_toolbar_get_tooltips" :setter "gtk_toolbar_set_tooltips" - :accessor toolbar-tooltips-p - :initarg :tooltips + :accessor toolbar-show-tooltips-p + :initarg :show-tooltips :type boolean) - (icon-size + (tooltips :allocation :virtual - :getter "gtk_toolbar_get_icon_size" - :setter "gtk_toolbar_set_icon_size" - :accessor toolbar-icon-size - :initarg :icon-size - :type icon-size) + :getter "gtk_toolbar_get_tooltips_object" + :reader toolbar-tooltips + :type tooltips) (toolbar-style :allocation :property :pname "toolbar-style" :initarg :toolbar-style :accessor toolbar-style - :type toolbar-style))) + :type toolbar-style) + (n-items + :allocation :virtual + :getter "gtk_toolbar_get_n_items" + :reader toolbar-n-items + :type int))) ("GtkToolItem" :slots - ((drag-window + ((use-drag-window :allocation :virtual - :getter "gtk_tool_item_get_drag_window" - :setter "gtk_tool_item_set_drag_window" - :accessor tool-item-drag-window + :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))) + :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 @@ -499,16 +529,30 @@ (default-height :merge t :unbound -1))) :allocation :virtual :getter "gtk_radio_tool_button_get_group" :reader radio-tool-button-group - :type (copy-of (gslist widget))))) + :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 + :getter %notebook-current-page :setter (setf notebook-current-page) + :reader notebook-current-page + :type widget :initarg :current-page) - (page :ignore t))) + (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))) ("GtkRuler" :slots @@ -601,7 +645,12 @@ (default-height :merge t :unbound -1))) :allocation :virtual :getter "gtk_radio_button_get_group" :reader radio-button-group - :type (copy-of (gslist widget))))) + :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 @@ -609,25 +658,12 @@ (default-height :merge t :unbound -1))) :allocation :virtual :getter "gtk_radio_menu_item_get_group" :reader radio-menu-item-group - :type (copy-of (gslist widget))))) - - ("GtkFileSelection" - :slots - ((action-area - :allocation :virtual - :getter "gtk_file_selection_get_action_area" - :reader file-selection-action-area - :type widget) - (ok-button - :allocation :virtual - :getter "gtk_file_selection_get_ok_button" - :reader file-selection-ok-button - :type widget) - (cancel-button - :allocation :virtual - :getter "gtk_file_selection_get_cancel_button" - :reader file-selection-cancel-button - :type widget))) + :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 @@ -691,6 +727,14 @@ (default-height :merge t :unbound -1))) :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 @@ -706,7 +750,7 @@ (default-height :merge t :unbound -1))) :setter "gtk_editable_set_position" :reader editable-position :initarg :position - :type editable-position) + :type position) (text :allocation :virtual :getter editable-text @@ -725,31 +769,41 @@ (default-height :merge t :unbound -1))) (current-name :allocation :virtual :setter "gtk_file_chooser_set_current_name" - :accessor file-choser-current-name + :accessor file-chooser-current-name :initarg :current-name :type string) (current-folder :allocation :virtual :setter "gtk_file_chooser_set_current_folder" :setter "gtk_file_chooser_get_current_folder" - :accessor file-choser-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-choser-uri + :accessor file-chooser-uri :initarg :uri :type string) (current-folder-uri :allocation :virtual :setter "gtk_file_chooser_set_current_folder_uri" :setter "gtk_file_chooser_get_current_folder_uri" - :accessor file-choser-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 @@ -841,6 +895,35 @@ (default-height :merge t :unbound -1))) (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 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 @@ -888,6 +971,27 @@ (default-height :merge t :unbound -1))) :allocation :virtual :getter radio-action-value))) + ("GtkColorSelection" + :slots + ((previous-alpha + :allocation :virtual + :getter "gtk_color_selection_get_previous_alpha" + :setter "gtk_color_selection_get_previous_alpha" + :initarg :previous-alpha + :accessor color-selection-previous-alpha + :type (unsigned 16)) + (previous-color + :allocation :virtual + :getter "gtk_color_selection_get_previous_color" + :setter "gtk_color_selection_get_previous_color" + :initarg :previous-color + :accessor color-selection-previous-color + :type gdk:color))) + + ("GtkFontSelection" + :slots + ; deprecated property + ((font :ignore t))) ;; Not needed ("GtkFundamentalType" :ignore t) @@ -911,6 +1015,8 @@ (default-height :merge t :unbound -1))) ("GtkOldEditable" :ignore t) ("GtkCombo" :ignore t) ("GtkOptionMenu" :ignore t) + ("GtkFileSelection" :ignore t) + ("GtkInputDialog") ;; What are these? ("GtkFileSystemModule" :ignore t) @@ -925,7 +1031,7 @@ (defclass text-iter (boxed) :allocation :virtual :getter "gtk_text_iter_get_buffer" :reader text-iter-buffer - :type text-buffer) + :type pointer) ;text-buffer) (offset :allocation :virtual :getter "gtk_text_iter_get_offset" @@ -964,11 +1070,12 @@ (defclass text-iter (boxed) :type int) ;; Workaround to get correct size (dummy14 - :allocation :alien :offset #.(* 13 (size-of 'pointer)) - :type pointer)) + :allocation :alien :offset #.(* 13 (size-of 'pointer)) + :type pointer)) (:metaclass boxed-class ;; I am pretty sure this was working in older versons on CMUCL - :size #.(* 14 (size-of 'pointer)))) +; :size #.(* 14 (size-of 'pointer)) + )) (defclass tooltips-data (struct) @@ -989,3 +1096,26 @@ (defclass tooltips-data (struct) :reader tooltips-data-tip-private :type string)) (: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 struct-class))