X-Git-Url: https://git.distorted.org.uk/~mdw/clg/blobdiff_plain/1a1949c751306b0f02c8e76df425ffbae58c6e5d..8beedfa0f30e6f332112485c3e739937e45155f9:/gtk/gtktypes.lisp diff --git a/gtk/gtktypes.lisp b/gtk/gtktypes.lisp index 4397b3c..a31f9fa 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.18 2004-11-07 17:55:29 espen Exp $ +;; $Id: gtktypes.lisp,v 1.26 2004-12-26 11:51:21 espen Exp $ (in-package "GTK") @@ -106,7 +106,25 @@ :accessor stock-item-translation-domain :initarg :translation-domain :type string)) - (:metaclass static-struct-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" @@ -114,21 +132,17 @@ ("GtkObject" :ignore t) ("GtkRequisition" :ignore t) ("GtkBorder" :ignore t) - + ("GtkTreeIter" :ignore t) + ("GtkTreePath" :ignore t) +; ("GtkStyle" :ignore t) ;; Manual override ("GtkWidget" :slots - ((child-slots + ((child-properties :allocation :instance - :accessor widget-child-slots + :accessor widget-child-properties :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) (window :allocation :virtual :getter "gtk_widget_get_window" @@ -178,7 +192,11 @@ :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 @@ -225,14 +243,7 @@ ("GtkWindow" :slots - ((gravity - :allocation :virtual - :getter "gtk_window_get_gravity" - :setter "gtk_window_set_gravity" - :accessor window-gravity - :initarg :gravity - :type gdk:gravity) - (focus-widget + ((focus-widget :allocation :virtual :getter "gtk_window_get_focus" :setter "gtk_window_set_focus" @@ -246,13 +257,6 @@ :accessor window-default-widget :initarg :default-widget :type widget) - (decorated - :allocation :virtual - :getter "gtk_window_get_decorated" - :setter "gtk_window_set_decorated" - :accessor window-decorated-p - :initarg :decorated - :type boolean) (has-frame :allocation :virtual :getter "gtk_window_get_has_frame" @@ -260,25 +264,13 @@ :accessor window-has-frame-p :initarg :has-frame :type boolean) - (role + (icon-list :allocation :virtual - :getter "gtk_window_get_role" - :setter "gtk_window_set_role" - :accessor window-role - :initarg :role - :type string) - (type-hint - :allocation :virtual - :getter "gtk_window_get_type_hint" - :setter "gtk_window_set_type_hint" - :accessor window-type-hint - :initarg :type-hint - :type gdk:window-type-hint) - (icon - :allocation :virtual - :getter window-icon - :setter (setf window-icon) - :initarg :icon) + :getter "gtk_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" @@ -292,8 +284,24 @@ :setter "gtk_window_set_transient_for" :accessor window-transient-for :initarg :transient-for - :type window))) + :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))) + ("GtkWindowGroup" + :slots + ((grabs + :allocation :alien + :accessor window-group-grabs + :type (gslist window)))) + ("GtkTooltips" :slots ((enabled @@ -378,14 +386,16 @@ :slots ((child1 :allocation :virtual - :getter paned-child1 - :setter (setf paned-child1) + :getter "gtk_paned_get_child1" + :setter "gtk_paned_add1" + :accessor paned-child1 :initarg :child1 :type widget) (child2 :allocation :virtual - :getter paned-child2 - :setter (setf paned-child2) + :getter "gtk_paned_get_child2" + :setter "gtk_paned_add2" + :accessor paned-child2 :initarg :child2 :type widget))) @@ -507,13 +517,26 @@ :reader combo-entry :type entry))) + ("GtkEntryCompletion" + :slots + ((entry + :allocation :virtual + :getter "gtk_entry_completion_get_entry" + :reader entry-completion-entry + :type entry) + (minimum-key-length + :merge t :unbound -1) + #+gtk2.6 + (text-column + :merge t :unbound -1))) + ("GtkRadioButton" :slots ((group :allocation :virtual :getter "gtk_radio_button_get_group" :reader radio-button-group - :type (static (gslist widget))))) + :type (copy-of (gslist widget))))) ("GtkRadioMenuItem" :slots @@ -593,7 +616,6 @@ :slots ((file :ignore t))) - ;; Interfaces ("GtkEditable" :slots ((editable @@ -659,7 +681,35 @@ :allocation :virtual :getter "gtk_tree_view_get_columns" :reader tree-view-columns - :type (glist tree-view-column)))) + :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 @@ -670,7 +720,100 @@ :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) @@ -684,7 +827,7 @@ ("GtkTree" :ignore t) ("GtkTreeItem" :ignore t) ("GtkItemFactory" :ignore t) - ("GtkText" :ignore-prefix t :except ("GtkTextDirection")) + ("GtkText" :ignore t) ("GtkPacker" :ignore-prefix t) ("GtkPixmap" :ignore t) ("GtkPreview" :ignore-prefix t) @@ -700,3 +843,54 @@ ("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))))