ClassLoadInProgressQuery.st
changeset 17348 828f0cfcb5cb
child 23868 f7295016cf59
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ClassLoadInProgressQuery.st	Sun Feb 01 14:19:23 2015 +0100
@@ -0,0 +1,43 @@
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: Smalltalk }"
+
+LoadInProgressQuery subclass:#ClassLoadInProgressQuery
+	instanceVariableNames:'classNameBeingLoaded'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Kernel-Exceptions-Queries'
+!
+
+!ClassLoadInProgressQuery class methodsFor:'documentation'!
+
+documentation
+"
+    This query is answered during class 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.
+"
+! !
+
+!ClassLoadInProgressQuery class methodsFor:'answering queries during load'!
+
+answerNotifyLoading:what do:aBlock
+    [
+        Smalltalk changed:#preClassLoad with:what.
+        self answer:true do:aBlock
+    ] ensure:[
+        Smalltalk changed:#postClassLoad with:what.
+    ].
+! !
+
+!ClassLoadInProgressQuery class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic/ClassLoadInProgressQuery.st,v 1.1 2015-02-01 13:19:23 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libbasic/ClassLoadInProgressQuery.st,v 1.1 2015-02-01 13:19:23 cg Exp $'
+! !
+