[squeak-dev] The Trunk: Morphic-mt.1347.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Jul 18 08:12:24 UTC 2017

Marcel Taeumel uploaded a new version of Morphic to project The Trunk:

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

Name: Morphic-mt.1347
Author: mt
Time: 18 July 2017, 10:11:56.69381 am
UUID: f95fc4b5-03e5-2f45-9a3f-087fb10cae98
Ancestors: Morphic-eem.1346

Regarding window colors and window listing, improve robustness for models that do not subclass Model and forget to provide #windowColorToUse.

Note that we could have added that message to Object but I do prefer not to clutter the interface any further.

=============== Diff against Morphic-eem.1346 ===============

Item was changed:
  ----- Method: TheWorldMainDockingBar>>listWindowsOn: (in category 'submenu - windows') -----
  listWindowsOn: menu
  	| windows |
  	windows := self allVisibleWindows sorted: [:winA :winB |
  		((winA model isNil or: [winB model isNil]) or: [winA model name = winB model name])
  			ifTrue: [winA label < winB label]
  			ifFalse: [winA model name < winB model name]].
  	windows ifEmpty: [ 
  		menu addItem: [ :item | 
  				contents: 'No Windows' translated;
  				isEnabled: false ] ].
  	windows do: [ :each |
+ 		| windowColor |
+ 		windowColor := (each model respondsTo: #windowColorToUse)
+ 			ifTrue: [each model windowColorToUse]
+ 			ifFalse: [UserInterfaceTheme current get: #uniformWindowColor for: Model]. 
  		menu addItem: [ :item |
  				contents: (self windowMenuItemLabelFor: each);
+ 				icon: (self colorIcon: windowColor);
- 				icon: (each model ifNotNil: [self colorIcon: each model windowColorToUse]);
  				target: each;
  				selector: #comeToFront;
  				subMenuUpdater: self
  				selector: #windowMenuFor:on:
  				arguments: { each };
  				action: [ each beKeyWindow; expand ] ] ].
  		add: 'Close all windows' target: self selector: #closeAllWindowsUnsafe;
  		addItem: [:item | item
  			contents: 'Close all windows without changes';
  			target: self;
  			icon: MenuIcons smallBroomIcon;
  			selector: #closeAllWindows];
  		add: 'Close all windows but workspaces' target: self selector: #closeAllWindowsButWorkspaces.!

More information about the Squeak-dev mailing list