Added dependency to the gtk system and a couple of bug fixes
[clg] / gtk / gtktypes.lisp
index c36d2c5..c949d5e 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.31 2005-02-04 13:15:14 espen Exp $
-
+;; $Id: gtktypes.lisp,v 1.36 2005-04-19 08:11:39 espen Exp $
 
 (in-package "GTK")
 
 ;;   (:metaclass boxed-class))
 
 (deftype tree-path () '(vector integer))
-(register-type 'tree-path "GtkTreePath")
+(register-type 'tree-path '|gtk_tree_path_get_type|)
 
 (deftype position () 
   '(or int (enum (:start 0) (:end -1) (:first 0) (:last -1))))
   (declare (ignore type args))
   (reader-function 'int))
 
-;; Forward definitions
-(defclass widget (%object)
-  ()
-  (:metaclass gobject-class))
-(defclass container (widget)
-  ()
-  (:metaclass gobject-class))
-
-
 (define-types-by-introspection "Gtk"
   ;; Manually defined
   ("GtkObject" :ignore t)
      :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
   ("GtkUIManagerItemType"
    :type ui-manager-item-type)
 
-  ("GtkToggle"
+  ("GtkAction"
    :slots
    ((accelerator
-     :allocation :virtual
-     :getter action-accelerator)))
+     :allocation :user-data :initarg :accelerator 
+     :reader action-accelerator)))
 
   ("GtkToggleAction"
    :slots
      :getter "gtk_radio_button_get_group"
      :reader radio-action-group
      :type (copy-of (gslist widget)))
-    (%value
-     :allocation :property  :pname "value"
-     :readable nil :type int)
+    (self
+     :allocation :property :pname "value" :type int
+     :documentation "A hack so we can use the alien function gtk_radio_action_get_current_value to retrieve the active radio action in a group.")
     (value 
-     :allocation :virtual
-     :getter radio-action-value)))
+     :allocation :user-data :initarg :value :accessor radio-action-value)))
 
   ("GtkColorSelection"
    :slots
      :reader clipboard-display
      :type gdk:display)))
 
+  #+gtk2.6
+  ("GtkIconView"
+   :slots
+   ((text-column :merge t :setter %icon-view-set-text-column)
+    (markup-column :merge t :setter %icon-view-set-markup-column)
+    (pixbuf-column :merge t :setter %icon-view-set-pixbuf-column)))
 
   ;; Not needed
   ("GtkFundamentalType" :ignore t)
   ;; What are these?
   ("GtkFileSystemModule" :ignore t)
   ("GtkIMModule" :ignore t)
-  ("GtkThemeEngine" :ignore t)
-
-  )
+  ("GtkThemeEngine" :ignore t))
 
 
 (defclass text-iter (boxed)