chiark / gitweb /
Changed to MIT license
[clg] / gtk / gtktypes.lisp
index 41e599d3bf32dcd88d7a8c75a384689843ea0489..09fadb152ab7ac7c55957664aa72ff54cd5a7951 100644 (file)
@@ -1,22 +1,26 @@
-;; Common Lisp bindings for GTK+ v2.0.x
-;; Copyright (C) 1999-2001 Espen S. Johnsen <espen@users.sourceforge.org>
+;; Common Lisp bindings for GTK+ v2.x
+;; Copyright 1999-2005 Espen S. Johnsen <espen@users.sf.net>
 ;;
-;; This library is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU Lesser General Public
-;; License as published by the Free Software Foundation; either
-;; version 2 of the License, or (at your option) any later version.
+;; Permission is hereby granted, free of charge, to any person obtaining
+;; a copy of this software and associated documentation files (the
+;; "Software"), to deal in the Software without restriction, including
+;; without limitation the rights to use, copy, modify, merge, publish,
+;; distribute, sublicense, and/or sell copies of the Software, and to
+;; permit persons to whom the Software is furnished to do so, subject to
+;; the following conditions:
 ;;
-;; This library is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; Lesser General Public License for more details.
+;; The above copyright notice and this permission notice shall be
+;; included in all copies or substantial portions of the Software.
 ;;
-;; You should have received a copy of the GNU Lesser General Public
-;; 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.30 2005-01-12 13:38:18 espen Exp $
+;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+;; IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+;; CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+;; 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.37 2005-04-23 16:48:52 espen Exp $
 
 (in-package "GTK")
 
@@ -124,7 +128,7 @@ (defclass tree-iter (boxed)
 ;;   (: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))))
@@ -133,15 +137,6 @@ (defmethod reader-function ((type (eql 'position)) &rest args)
   (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)
@@ -163,6 +158,8 @@ (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
@@ -626,7 +623,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
@@ -941,11 +938,11 @@     (default-height :merge t :unbound -1)))
   ("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
@@ -964,12 +961,11 @@     (default-height :merge t :unbound -1)))
      :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
@@ -993,6 +989,21 @@     (default-height :merge t :unbound -1)))
    ; deprecated property
    ((font :ignore t)))
 
+  ("GtkClipboard"
+   :slots
+   ((display
+     :allocation :virtual
+     :getter "gtk_clipboard_get_display"
+     :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)
   ("GtkArgFlags" :ignore t)
@@ -1021,9 +1032,7 @@     (default-height :merge t :unbound -1)))
   ;; What are these?
   ("GtkFileSystemModule" :ignore t)
   ("GtkIMModule" :ignore t)
-  ("GtkThemeEngine" :ignore t)
-
-  )
+  ("GtkThemeEngine" :ignore t))
 
 
 (defclass text-iter (boxed)