Hi,
I am trying to build a complex morph and install it in another morph in a
background process such that it does not impact the rest of the user interface.
After a discussion with Igor, I got to the code below (similar to what can be
found in CodeAnnotationPane).
However, it still does not seem to have the desired effect as the main ui still
appears to be blocked. Can anyone see any problem with the code?
The code can be found in the latest version of Glamour.
Cheers,
Doru
GLMWatcherWindow>>addContent: aBlockWhoseValueReturnsAMorph
| newMorph |
"if we are still rendering some contents for another watcher,
we stop and replace with the current request"
process ifNotNil: [ process terminate ].
process := nil.
process := [
WorldState addDeferredUIMessage: [
newMorph := aBlockWhoseValueReturnsAMorph value.
self contentsMorph
removeAllMorphs;
addMorph: newMorph fullFrame: (LayoutFrame
fractions: (0@0 corner: 1@1))
]
] newProcess.
process priority: Processor userBackgroundPriority.
process resume
--
www.tudorgirba.com
"Problem solving should be focused on describing
the problem in a way that makes the solution obvious."