X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/f5b67f2b6882561e4fd055f672de8d92a5ee55d4..aa77651ba00395671cb93c22be674b492129f536:/gtk/gtktypes.lisp diff --git a/gtk/gtktypes.lisp b/gtk/gtktypes.lisp index 7de1010..3e72cad 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.15 2002-04-02 15:03:47 espen Exp $ +;; $Id: gtktypes.lisp,v 1.22 2004-12-17 00:42:55 espen Exp $ (in-package "GTK") @@ -31,8 +31,8 @@ (defclass requisition (boxed) :accessor requisition-height :initarg :height :type int)) - (:metaclass boxed-class) - (:alien-name "GtkTypeRequisition")) + (:metaclass boxed-class)) + (defclass allocation (struct) ((x @@ -55,7 +55,7 @@ (defclass allocation (struct) :accessor allocation-height :initarg :height :type int)) - (:metaclass proxy-class)) + (:metaclass struct-class)) (defclass border (boxed) ((left @@ -78,47 +78,7 @@ (defclass border (boxed) :accessor border-bottom :initarg :bottom :type int)) - (:metaclass boxed-class) - (:alien-name "GtkTypeBorder")) - -(defclass adjustment (%object) - ((lower - :allocation :alien - :accessor adjustment-lower - :initarg :lower - :type single-float) - (upper - :allocation :alien - :accessor adjustment-upper - :initarg :upper - :type single-float) - (%value ; to get the offset right - :allocation :alien - :type single-float) - (step-increment - :allocation :alien - :accessor adjustment-step-increment - :initarg :step-increment - :type single-float) - (page-increment - :allocation :alien - :accessor adjustment-page-increment - :initarg :page-increment - :type single-float) - (page-size - :allocation :alien - :accessor adjustment-page-size - :initarg :page-size - :type single-float) - (value - :allocation :virtual - :getter "gtk_adjustment_get_value" - :setter "gtk_adjustment_set_value" - :accessor adjustment-value - :initarg :value - :type single-float)) - (:metaclass gobject-class) - (:alien-name "GtkAdjustment")) + (:metaclass boxed-class)) (defclass stock-item (struct) ((id @@ -146,8 +106,25 @@ (defclass stock-item (struct) :accessor stock-item-translation-domain :initarg :translation-domain :type string)) - (:metaclass proxy-class)) + (:metaclass struct-class)) + +;; We don't really need to access any of these slots, but we need to +;; specify the size of the struct somehow +(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 "GtkTreePath") (define-types-by-introspection "Gtk" @@ -155,25 +132,21 @@ (define-types-by-introspection "Gtk" ("GtkObject" :ignore t) ("GtkRequisition" :ignore t) ("GtkBorder" :ignore t) - ("GtkAdjustment" :ignore t) + ("GtkTreeIter" :ignore t) + ("GtkTreePath" :ignore t) +; ("GtkStyle" :ignore t) - ;; Manual override ("GtkWidget" :slots ((child-slots - :allocation :instance - :accessor widget-child-slots - :type container-child) - (parent-window - :allocation :virtual - :getter "gtk_widget_get_parent_window" - :setter "gtk_widget_set_parent_window" - :accessor widget-parent-window - :type gdk:window) + :allocation :instance + :accessor widget-child-slots + :type container-child) (window :allocation :virtual :getter "gtk_widget_get_window" + :unbound nil :reader widget-window :type gdk:window) (state @@ -187,12 +160,14 @@ (define-types-by-introspection "Gtk" :allocation :virtual :getter "gtk_widget_get_colormap" :setter "gtk_widget_set_colormap" + :unbound nil :initarg :colormap :accessor widget-colormap :type gdk:colormap) (visual :allocation :virtual :getter "gtk_widget_get_visual" + :unbound nil :reader widget-visual :type gdk:visual) (direction @@ -212,6 +187,7 @@ (define-types-by-introspection "Gtk" (settings :allocation :virtual :getter "gtk_widget_get_settings" + :unbound nil :accessor widget-settings :type settings) (child-visible @@ -220,7 +196,11 @@ (define-types-by-introspection "Gtk" :setter "gtk_widget_set_child_visible" :accessor widget-child-visible-p :initarg :child-visible - :type boolean))) + :type boolean) + (width-request + :merge t :unbound -1) + (height-request + :merge t :unbound -1))) ("GtkContainer" :slots @@ -417,7 +397,7 @@ (default-widget :type widget))) ("GtkPaned" - :slot + :slots ((child1 :allocation :virtual :getter paned-child1 @@ -477,7 +457,13 @@ (default-widget :setter "gtk_toolbar_set_icon_size" :accessor toolbar-icon-size :initarg :icon-size - :type icon-size))) + :type icon-size) + (toolbar-style + :allocation :property + :pname "toolbar-style" + :initarg :toolbar-style + :accessor toolbar-style + :type toolbar-style))) ("GtkNotebook" :slots @@ -524,10 +510,10 @@ (default-widget ("GtkDialog" :slots - ((main-area + ((vbox :allocation :virtual :getter "gtk_dialog_get_vbox" - :reader dialog-main-area + :reader dialog-vbox :type widget) (action-area :allocation :virtual @@ -549,7 +535,7 @@ (default-widget :allocation :virtual :getter "gtk_radio_button_get_group" :reader radio-button-group - :type (static (gslist widget))))) + :type (copy-of (gslist widget))))) ("GtkRadioMenuItem" :slots @@ -580,6 +566,7 @@ (default-widget ("GtkLayout" :slots ((bin-window + :allocation :virtual :getter "gtk_layout_get_bin_window" :reader layout-bin-window :type gdk:window))) @@ -587,12 +574,245 @@ (default-widget ("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))) + + ("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 int) + (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-choser-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 + :initarg :current-folder + :type string) + (uri + :allocation :virtual + :getter "gtk_file_chooser_get_uri" + :setter "gtk_file_chooser_set_uri" + :accessor file-choser-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 + :initarg :current-folder-uri + :type string))) + + ("GtkTreeView" + :slots + ((columns + :allocation :virtual + :getter "gtk_tree_view_get_columns" + :reader tree-view-columns + :type (glist 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))) + + ("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_mode" + :reader tree-selection-mode + :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))) + + ("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) + + ("GtkToggle" + :slots + ((accelerator + :allocation :virtual + :getter action-accelerator))) + + ("GtkToggleAction" + :slots + ((active + :allocation :virtual + :getter "gtk_toggle_action_get_active" + :setter "gtk_toggle_action_set_active" + :initarg :active + :accessor toggle-action-active-p + :type boolean))) + + ("GtkRadioAction" + :slots + ((group + :allocation :virtual + :getter "gtk_radio_button_get_group" + :reader radio-button-group + :type (copy-of (gslist widget))) + (%value + :allocation :property :pname "value" + :readable nil :type int) + (value + :allocation :virtual + :getter radio-action-value))) + + ;; Not needed ("GtkFundamentalType" :ignore t) ("GtkArgFlags" :ignore t) @@ -601,12 +821,75 @@ (default-widget ;; Deprecated widgets ("GtkCList" :ignore-prefix t) ("GtkCTree" :ignore-prefix t) - ("GtkList" :ignore-prefix t) + ("GtkList" :ignore t) + ("GtkListItem" :ignore t) ("GtkTree" :ignore t) ("GtkTreeItem" :ignore t) - ("GtkText" :ignore-prefix t :except ("GtkTextDirection")) + ("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)) + ("GtkOldEditable" :ignore t) + ("GtkCombo" :ignore t) + ("GtkOptionMenu" :ignore t) + + ;; What are these? + ("GtkFileSystemModule" :ignore t) + ("GtkIMModule" :ignore t) + ("GtkThemeEngine" :ignore t) + + ) + + +(defclass text-iter (boxed) + ((buffer + :allocation :virtual + :getter "gtk_text_iter_get_buffer" + :reader text-iter-buffer + :type text-buffer) + (offset + :allocation :virtual + :getter "gtk_text_iter_get_offset" + :setter "gtk_text_iter_set_offset" + :accessor text-iter-offset + :type int) + (line + :allocation :virtual + :getter "gtk_text_iter_get_line" + :setter "gtk_text_iter_set_line" + :accessor text-iter-line + :type int) + (line-offset + :allocation :virtual + :getter "gtk_text_iter_get_line_offset" + :setter "gtk_text_iter_set_line_offset" + :accessor text-iter-line-offset + :type int) + (line-index + :allocation :virtual + :getter "gtk_text_iter_get_line_index" + :setter "gtk_text_iter_set_line_index" + :accessor text-iter-line-index + :type int) + (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) + (visible-line-offset + :allocation :virtual + :getter "gtk_text_iter_get_visible_line_offset" + :setter "gtk_text_iter_set_visible_line_offset" + :accessor text-iter-visible-line-offset + :type int) + ;; Workaround to get correct size + (dummy14 + :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))))