PackageLoadInProgressQuery.st
changeset 17349 06bea52b36af
child 23871 9d219359fd84
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PackageLoadInProgressQuery.st	Sun Feb 01 14:19:54 2015 +0100
@@ -0,0 +1,43 @@
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: Smalltalk }"
+
+LoadInProgressQuery subclass:#PackageLoadInProgressQuery
+	instanceVariableNames:'packageBeingLoaded'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Kernel-Exceptions-Queries'
+!
+
+!PackageLoadInProgressQuery class methodsFor:'documentation'!
+
+documentation
+"
+    This query is answered during package loading,
+    and allows for browsers to defer their updates.
+    E.g. to bundle redraws when multiple changes are to come
+    for a class or package.
+"
+! !
+
+!PackageLoadInProgressQuery class methodsFor:'answering queries during load'!
+
+answerNotifyLoading:what do:aBlock
+    [
+        Smalltalk changed:#prePackageLoad with:what.
+        self answer:true do:aBlock
+    ] ensure:[
+        Smalltalk changed:#postPackageLoad with:what.
+    ].
+! !
+
+!PackageLoadInProgressQuery class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic/PackageLoadInProgressQuery.st,v 1.1 2015-02-01 13:19:54 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libbasic/PackageLoadInProgressQuery.st,v 1.1 2015-02-01 13:19:54 cg Exp $'
+! !
+