chiark / gitweb /
Added *REENTRANT-MAIN-ITERATION* to control if MAIN-ITERATE-ALL can be
[clg] / gtk / defpackage.lisp
index d80da7f8054b03f43bf53c3b174cca578d23325d..87836f4dbd06debab910bae402a4ce550eb4d36e 100644 (file)
@@ -1,41 +1,46 @@
-;; 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*")
+   "*PERIODIC-POLLING-FUNCTION*" "*MAX-EVENT-TO-SEC*" "*MAX-EVENT-TO-USEC*")
+  #?(and (pkg-config:sbcl>= 1 0 15 6) (not (pkg-config:featurep :win32)))
+  (:import-from "SB-IMPL"
+   "*PERIODIC-POLLING-FUNCTION*" "*PERIODIC-POLLING-PERIOD*")
+  #+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"
+          "*REENTRANT-MAIN-ITERATION*" "*RUNNING-MAIN-ITERATION*")
+  (: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"))
+