[squeak-dev] The Trunk: ToolBuilder-Kernel-dtl.41.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Mar 4 22:19:16 UTC 2011


David T. Lewis uploaded a new version of ToolBuilder-Kernel to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Kernel-dtl.41.mcz

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

Name: ToolBuilder-Kernel-dtl.41
Author: dtl
Time: 4 March 2011, 5:19:11.522 pm
UUID: e63cb488-9f69-4799-b501-4a112f592b3a
Ancestors: ToolBuilder-Kernel-cmm.40

A Project has a UIManager, and a UIManager has a ToolBuilder, so add #toolBuilder ivar to UIManager and initialize accordingly. This facilitates setting up the appropriate UIManager and ToolBuilder to allow SMxMorphicProject to host a SimpleMorphic world.

=============== Diff against ToolBuilder-Kernel-cmm.40 ===============

Item was changed:
  ----- Method: ToolBuilder class>>default (in category 'accessing') -----
  default
  	"Answer the default tool builder"
+ 	^Default ifNil: [Default := self findDefault]!
- 	| builderClass |
- 	^Default ifNil:[
- 		"Note: The way the following is phrased ensures that you can always make 'more specific' builders merely by subclassing a tool builder and implementing a more specific way of reacting to #isActiveBuilder. For example, a BobsUIToolBuilder can subclass MorphicToolBuilder and (if enabled, say Preferences useBobsUITools) will be considered before the parent (generic MorphicToolBuilder)."
- 		builderClass := self allSubclasses 
- 			detect:[:any| any isActiveBuilder and:[
- 				any subclasses noneSatisfy:[:sub| sub isActiveBuilder]]] ifNone:[nil].
- 		builderClass ifNotNil:[builderClass new]]!

Item was added:
+ ----- Method: ToolBuilder class>>findDefault (in category 'accessing') -----
+ findDefault
+ 	"Answer a default tool builder"
+ 	| builderClass |
+ 	"Note: The way the following is phrased ensures that you can always make 'more specific' builders merely by subclassing a tool builder and implementing a more specific way of reacting to #isActiveBuilder. For example, a BobsUIToolBuilder can subclass MorphicToolBuilder and (if enabled, say Preferences useBobsUITools) will be considered before the parent (generic MorphicToolBuilder)."
+ 	builderClass := self allSubclasses 
+ 		detect:[:any| any isActiveBuilder and:[
+ 			any subclasses noneSatisfy:[:sub| sub isActiveBuilder]]] ifNone:[nil].
+ 	builderClass ifNotNil: [^builderClass new].
+ 	^self error: 'ToolBuilder not found'!

Item was changed:
  Object subclass: #UIManager
+ 	instanceVariableNames: 'toolBuilder'
- 	instanceVariableNames: ''
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'ToolBuilder-Kernel'!
  
  !UIManager commentStamp: 'dtl 5/2/2010 16:06' prior: 0!
  UIManager is a dispatcher for various user interface requests, such as menu and dialog interactions. An instance of UIManager is associated with each Project to implement the appropriate functions for Morphic, MVC or other user interfaces.!

Item was added:
+ ----- Method: UIManager>>toolBuilder (in category 'accessing') -----
+ toolBuilder
+ 	^toolBuilder ifNil: [toolBuilder := ToolBuilder default]!




More information about the Squeak-dev mailing list