-;; Common Lisp bindings for GTK+ v2.0
-;; Copyright (C) 2000 Espen S. Johnsen <espejohn@online.no>
-;;
-;; 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.
-;;
-;; 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.
-;;
-;; 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$
-
-
(defpackage "GTK"
- (:use "GLIB" "COMMON-LISP" "AUTOEXPORT")
+ (:use "GFFI" "GLIB" "COMMON-LISP" "AUTOEXPORT" "PKG-CONFIG" "CLG-UTILS")
#+cmu(:use "PCL" "EXT")
#+sbcl(:use "SB-PCL" "SB-EXT")
- (:shadowing-import-from "GLIB" "DEFTYPE")
+ #+clisp(:use "CLOS")
+ #+clisp(:shadowing-import-from "GFFI" "SLOT-DEFINITION-TYPE")
+ #+(or cmu sbcl)
(:import-from #+cmu"PCL" #+sbcl"SB-PCL"
"ADD-READER-METHOD" "ADD-WRITER-METHOD")
- (:import-from #+cmu"SYSTEM" #+sbcl"SB-SYS" "SAP-INT" "ADD-FD-HANDLER")
+ #+(or cmu sbcl)
+ (:import-from #+cmu"SYSTEM" #+sbcl"SB-SYS" "SAP-INT" "ADD-FD-HANDLER" "REMOVE-FD-HANDLER")
+ #?(or
+ (pkg-config:featurep :cmu)
+ (and (pkg-config:sbcl< 1 0 6) (not (pkg-config:featurep :win32))))
(:import-from #+cmu"LISP" #+sbcl"SB-IMPL"
"*PERIODIC-POLLING-FUNCTION*" "*MAX-EVENT-TO-SEC*"
- "*MAX-EVENT-TO-USEC*")
- (:export "*CLG-VERSION*")
- (:export "OBJECT" "OBJECT-ARG" "OBJECT-SINK")
- (:export "REGISTER-USER-DATA" "FIND-USER-DATA" "REGISTER-CALLBACK-FUNCTION"
- "*CALLBACK-MARSHAL*" "*DESTROY-MARSHAL*")
+ "*MAX-EVENT-TO-USEC*")
+ #+clisp
+ (:import-from "SOCKET" "SOCKET-STATUS")
(:export "EVENTS-PENDING-P" "GET-CURRENT-EVENT" "MAIN-DO-EVENT" "MAIN"
- "MAIN-LEVEL" "MAIN-QUIT" "MAIN-ITERATION" "MAIN-ITERATE-ALL"
- "TIMEOUT-ADD" "TIMEOUT-REMOVE" "IDLE-ADD" "IDLE-REMOVE")
+ "MAIN-LEVEL" "MAIN-QUIT" "MAIN-ITERATION-DO" "MAIN-ITERATE-ALL")
+ (:export "CONTAINER-CHILD-CLASS" "CONTAINER-CHILD" "CONTAINER-CHILD-CLASS")
+ ;; Signal names that need to be explicit exported
+ (:export "TOGGLED")
+ ;; Symbols re-exported from glib -- will not be exported from
+ ;; this package in the future
(:export "SIGNAL-EMIT-STOP" "SIGNAL-CONNECT" "SIGNAL-DISCONNECT"
- "SIGNAL-HANDLER-BLOCK" "SIGNAL-HANDLER-UNBLOCK")
- (:export "OBJECT-CLASS" "WIDGET-CLASS" "CONTAINER-CLASS" "CHILD-CLASS"))
+ "SIGNAL-HANDLER-BLOCK" "SIGNAL-HANDLER-UNBLOCK"
+ "TIMEOUT-ADD" "TIMEOUT-REMOVE" "IDLE-ADD" "IDLE-REMOVE"))
+
+
+(defpackage "CLG"
+ (:use "GLIB" "GTK")
+ ;; Symbols re-exported from the GLIB package
+ (:export "SIGNAL-EMIT-STOP" "SIGNAL-CONNECT" "SIGNAL-DISCONNECT"
+ "SIGNAL-HANDLER-BLOCK" "SIGNAL-HANDLER-UNBLOCK"
+ "TIMEOUT-ADD" "TIMEOUT-REMOVE" "IDLE-ADD" "IDLE-REMOVE")
+ ;; Symbols re-exported from the GDK package
+ (:import-from "GDK" "TIMEOUT-ADD-WITH-LOCK" "IDLE-ADD-WITH-LOCK")
+ (:export "TIMEOUT-ADD-WITH-LOCK" "IDLE-ADD-WITH-LOCK")
+ ;; Symbols not automatically re-exported from the GTK package
+ (:export "TOGGLE" "CONTAINER-CHILD"))
+