chiark / gitweb /
Fix compilation for Gtk with the new, stricter inheritance
[clg] / gtk / gtktypes.lisp
index 3831120bdf3cc85d11dd9a75aed40c6476d68f83..1155977335ed41716f7fdbe2158537d53e8e8528 100644 (file)
@@ -20,7 +20,7 @@
 ;; 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.58 2007-10-17 16:55:47 espen Exp $
+;; $Id: gtktypes.lisp,v 1.65 2008-10-27 18:42:01 espen Exp $
 
 (in-package "GTK")
 
@@ -41,13 +41,13 @@ (defclass requisition (boxed)
 (defclass allocation (struct)
   ((x
     :allocation :alien
-    :accessor allocation-width
+    :accessor allocation-x
     :initarg :x
     :type int)
    (y
     :allocation :alien
-    :accessor allocation-width
-    :initarg :width
+    :accessor allocation-y
+    :initarg :y
     :type int)
    (width
     :allocation :alien
@@ -145,6 +145,11 @@ (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)
@@ -154,6 +159,8 @@ (define-types-by-introspection "Gtk"
   ("GtkTreePath" :ignore t)
 ;  ("GtkStyle" :ignore t)
 
+  ("GtkMountOperation" :ignore t) ; Needs GIO
+
   ;; Manual override
   ("GtkWidget"
    :slots
@@ -223,7 +230,15 @@ (define-types-by-introspection "Gtk"
     (width-request
      :merge t :unbound -1)
     (height-request
-     :merge t :unbound -1)))
+     :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
@@ -376,6 +391,7 @@     (default-height :merge t :unbound -1)))
      :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"
@@ -563,7 +579,7 @@     (default-height :merge t :unbound -1)))
    ((active
      :allocation :virtual
      :getter "gtk_toggle_tool_button_get_active"
-     :setter "gtk_toggle_tool_button_get_active"
+     :setter "gtk_toggle_tool_button_set_active"
      :accessor toggle-tool-button-active-p
      :initarg :active
      :type boolean)))
@@ -667,8 +683,23 @@     (default-height :merge t :unbound -1)))
      :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)))
+    (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
@@ -825,7 +856,7 @@     (default-height :merge t :unbound -1)))
     (current-folder
      :allocation :virtual
      :setter "gtk_file_chooser_set_current_folder"
-     :setter "gtk_file_chooser_get_current_folder"
+     :getter "gtk_file_chooser_get_current_folder"
      :accessor file-chooser-current-folder
      :initarg :current-folder
      :type string)
@@ -839,7 +870,7 @@     (default-height :merge t :unbound -1)))
     (current-folder-uri
      :allocation :virtual
      :setter "gtk_file_chooser_set_current_folder_uri"
-     :setter "gtk_file_chooser_get_current_folder_uri"
+     :getter "gtk_file_chooser_get_current_folder_uri"
      :accessor file-chooser-current-folder-uri
      :initarg :current-folder-uri
      :type string)))
@@ -860,7 +891,7 @@     (default-height :merge t :unbound -1)))
      :allocation :virtual
      :getter "gtk_tree_view_get_columns"
      :reader tree-view-columns 
-     :type (glist tree-view-column))
+     :type (glist (copy-of tree-view-column)))
     (selection
      :allocation :virtual
      :getter "gtk_tree_view_get_selection"
@@ -875,6 +906,10 @@     (default-height :merge t :unbound -1)))
      :reader tree-model-n-columns 
      :type int)))
 
+  ("GtkTreeModelFilter"
+   :slots
+   ((virtual-root :merge t :type tree-path)))
+
   ("GtkTreeSelection"
    :slots
    ((mode
@@ -1030,16 +1065,16 @@     (default-height :merge t :unbound -1)))
    ((previous-alpha
      :allocation :virtual
      :getter "gtk_color_selection_get_previous_alpha"
-     :setter "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 "gtk_color_selection_get_previous_color"
-     :setter "gtk_color_selection_get_previous_color"
+     :getter color-selection-previous-color
+     :setter "gtk_color_selection_set_previous_color"
      :initarg :previous-color
-     :accessor color-selection-previous-color
+     :writer (setf color-selection-previous-color)
      :type gdk:color)))
 
   ("GtkFontSelection"
@@ -1068,7 +1103,7 @@     (default-height :merge t :unbound -1)))
     (markup-column
      :allocation :virtual
      :getter %icon-view-get-markup-column
-     :setter %icon-view-set-tmarkup-column
+     :setter %icon-view-set-markup-column
      :boundp %icon-view-markup-column-boundp
      :initarg :markup-column
      :accessor icon-view-markup-column)