diff -r 4087090b3581 -r bc7626f46210 VDBAbstractContentsApplication.st --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/VDBAbstractContentsApplication.st Wed Jan 23 22:05:43 2019 +0000 @@ -0,0 +1,90 @@ +" +jv:vdb - Visual / VM Debugger +Copyright (C) 2015-now Jan Vrany + +This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License' + +You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/ +" +"{ Package: 'jv:vdb' }" + +"{ NameSpace: Smalltalk }" + +VDBAbstractApplication subclass:#VDBAbstractContentsApplication + instanceVariableNames:'contentsValid' + classVariableNames:'' + poolDictionaries:'' + category:'VDB-UI-Abstract' +! + +!VDBAbstractContentsApplication class methodsFor:'documentation'! + +copyright +" +jv:vdb - Visual / VM Debugger +Copyright (C) 2015-now Jan Vrany + +This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License' + +You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/ +" +! ! + +!VDBAbstractContentsApplication class methodsFor:'queries'! + +isAbstract + "Return if this class is an abstract class. + True is returned here for myself only; false for subclasses. + Abstract subclasses must redefine this again." + + ^ self == VDBAbstractContentsApplication. +! ! + +!VDBAbstractContentsApplication methodsFor:'change & update'! + +enqueueDelayedUpdateContents + contentsValid := false. + windowVisible ifTrue:[ + self enqueueDelayedUpdate:#delayedUpdateContentsInternal + ] + + "Created: / 01-10-2018 / 12:56:13 / Jan Vrany " + "Modified: / 14-02-2019 / 16:11:13 / Jan Vrany " +! + +updateAfterWindowVisibilityChanged + contentsValid ifFalse:[ + self enqueueDelayedUpdateContents + ]. + + "Created: / 14-02-2019 / 16:17:21 / Jan Vrany " +! ! + +!VDBAbstractContentsApplication methodsFor:'change & update-delayed'! + +delayedUpdateContents + self subclassResponsibility + + "Created: / 14-02-2019 / 16:16:24 / Jan Vrany " +! + +delayedUpdateContentsInternal + "/ For internal use, do not override!!" + contentsValid := false. + windowVisible ifTrue:[ + self delayedUpdateContents. + contentsValid := true. + ]. + + "Created: / 14-02-2019 / 16:09:26 / Jan Vrany " +! ! + +!VDBAbstractContentsApplication methodsFor:'initialization'! + +initialize + super initialize. + contentsValid := false. + + "Created: / 14-02-2019 / 16:18:03 / Jan Vrany " +! ! +