X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/68f519e0e99a023834e3bc0db73ca3ae9e40d64a..112ac1d33aa8f9b7f3d2f9542d15431f152b1d35:/gtk/gtktypes.lisp diff --git a/gtk/gtktypes.lisp b/gtk/gtktypes.lisp index 41e599d..09fadb1 100644 --- a/gtk/gtktypes.lisp +++ b/gtk/gtktypes.lisp @@ -1,22 +1,26 @@ -;; Common Lisp bindings for GTK+ v2.0.x -;; Copyright (C) 1999-2001 Espen S. Johnsen +;; Common Lisp bindings for GTK+ v2.x +;; Copyright 1999-2005 Espen S. Johnsen ;; -;; 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)