chiark / gitweb /
Changes necessary to allow saving of core images with clg.
[clg] / gtk / gtktypes.lisp
index f73eaf0e25f76d96a12add6acf4f8486352348f1..aeab0f6d5be330eb7511df1b99f5dc795bddc4b8 100644 (file)
@@ -15,8 +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.29 2005-01-07 00:28:36 espen Exp $
-
+;; $Id: gtktypes.lisp,v 1.34 2005-03-06 17:26:23 espen Exp $
 
 (in-package "GTK")
 
@@ -124,18 +123,14 @@ (defclass tree-iter (boxed)
 ;;   (:metaclass boxed-class))
 
 (deftype tree-path () '(vector integer))
-(register-type 'tree-path "GtkTreePath")
-
-(deftype position () '(or int (enum (:start 0) (:end -1))))
+(register-type 'tree-path '|gtk_tree_path_get_type|)
 
-;; Forward definitions
-(defclass widget (%object)
-  ()
-  (:metaclass gobject-class))
-(defclass container (widget)
-  ()
-  (:metaclass gobject-class))
+(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))
 
 (define-types-by-introspection "Gtk"
   ;; Manually defined
@@ -158,6 +153,15 @@ (define-types-by-introspection "Gtk"
      :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"
@@ -190,7 +194,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"
@@ -528,10 +532,19 @@     (default-height :merge t :unbound -1)))
    :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
@@ -605,7 +618,7 @@     (default-height :merge t :unbound -1)))
      :type entry-completion)
     (max-length :merge t :unbound 0)
     #+gtk2.6
-    (with-chars :merge t :unbound -1)))
+    (width-chars :merge t :unbound -1)))
 
   ("GtkEntryCompletion"
    :slots
@@ -644,24 +657,6 @@     (default-height :merge t :unbound -1)))
      :accessor radio-menu-item-value
      :documentation "Value passed as argument to the activate callback")))
 
-  ("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)))
-
   ("GtkLayout"
    :slots
    ((bin-window
@@ -724,6 +719,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
@@ -758,31 +761,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
@@ -950,6 +963,36 @@     (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)))
+
+  ("GtkClipboard"
+   :slots
+   ((display
+     :allocation :virtual
+     :getter "gtk_clipboard_get_display"
+     :reader clipboard-display
+     :type gdk:display)))
+
 
   ;; Not needed
   ("GtkFundamentalType" :ignore t)
@@ -973,13 +1016,13 @@     (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)
   ("GtkIMModule" :ignore t)
-  ("GtkThemeEngine" :ignore t)
-
-  )
+  ("GtkThemeEngine" :ignore t))
 
 
 (defclass text-iter (boxed)
@@ -987,7 +1030,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"
@@ -1026,11 +1069,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)
@@ -1051,3 +1095,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))