The Trunk: Morphic-mt.1205.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Morphic-mt.1205.mcz

commits-2
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1205.mcz

==================== Summary ====================

Name: Morphic-mt.1205
Author: mt
Time: 28 July 2016, 3:39:20.355087 pm
UUID: aa6ba894-8f4a-344e-8506-25c7e6418266
Ancestors: Morphic-mt.1204

Provide a simple interface to avoid display updates. For example, if you change a bunch of things in, say, the PluggableButtonMorph and you happen to have one visible on the screen, transcripts or system progress bars will trigger visual updates at a time when code is in an inconsistent state.

=============== Diff against Morphic-mt.1204 ===============

Item was added:
+ ----- Method: MorphicProject>>noDisplayDuring: (in category 'display') -----
+ noDisplayDuring: block
+
+ self world noDisplayDuring: block.!

Item was changed:
  ----- Method: PasteUpMorph>>displayWorld (in category 'world state') -----
  displayWorld
 
+ (self valueOfProperty: #shouldDisplayWorld ifAbsent: [true])
+ ifTrue: [worldState displayWorld: self submorphs: submorphs].!
- worldState displayWorld: self submorphs: submorphs.!

Item was added:
+ ----- Method: PasteUpMorph>>noDisplayDuring: (in category 'world state') -----
+ noDisplayDuring: block
+ "Some morphs insist on updating the display like the system progress bar does. However, some code might be in an inconsistent state. For this, you can use this method to be safe."
+
+ self
+ setProperty: #shouldDisplayWorld
+ toValue: false.
+
+ block ensure: [self removeProperty: #shouldDisplayWorld].!

Item was changed:
  ----- Method: PasteUpMorph>>restoreMorphicDisplay (in category 'world state') -----
  restoreMorphicDisplay
 
+ self removeProperty: #shouldDisplayWorld.
- ThumbnailMorph recursionReset.
 
+ ThumbnailMorph recursionReset.
+
  self
  extent: Display extent;
  viewBox: Display boundingBox;
  handsDo: [:h | h visible: true; showTemporaryCursor: nil];
  restoreFlapsDisplay;
  restoreMainDockingBarDisplay;
  fullRepaintNeeded.
 
  WorldState
  addDeferredUIMessage: [Cursor normal show].
  !