[squeak-dev] The Trunk: ToolBuilder-Morphic-eem.63.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Jul 1 18:51:50 UTC 2010


Eliot Miranda uploaded a new version of ToolBuilder-Morphic to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Morphic-eem.63.mcz

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

Name: ToolBuilder-Morphic-eem.63
Author: eem
Time: 1 July 2010, 11:51:45.643 am
UUID: e29115f6-3f9e-4fa6-923e-f45307d86db6
Ancestors: ToolBuilder-Morphic-ar.62

ToolBuilder support for browser multi-windows.
3 of 4 (Morphic, ToolBuilder-Kernel, ToolBuilder-Morphic, Tools).

=============== Diff against ToolBuilder-Morphic-ar.62 ===============

Item was added:
+ ----- Method: MorphicToolBuilder>>windowClassFor: (in category 'widget classes') -----
+ windowClassFor: multiWindowStyle
+ 	^multiWindowStyle
+ 		caseOf:
+ 		{	[nil]				->	[PluggableSystemWindow].
+ 			[#labelButton]	->	[PluggableSystemWindowWithLabelButton] }
+ 		otherwise:				[PluggableSystemWindowWithLabelButton]!

Item was changed:
  ----- Method: MorphicToolBuilder>>buildPluggableWindow: (in category 'pluggable widgets') -----
  buildPluggableWindow: aSpec
+ 	| widget children |
- 	| widget children label |
  	aSpec layout == #proportional ifFalse:[
  		"This needs to be implemented - probably by adding a single pane and then the rest"
  		^self error: 'Not implemented'.
  	].
+ 	widget := (self windowClassFor: aSpec multiWindowStyle) new.
- 	widget := self windowClass new.
  	self register: widget id: aSpec name.
  	widget model: aSpec model.
+ 	aSpec label ifNotNil:
+ 		[:label|
- 	(label := aSpec label) ifNotNil:[
  		label isSymbol 
  			ifTrue:[widget getLabelSelector: label]
  			ifFalse:[widget setLabel: label]].
+ 	aSpec multiWindowStyle notNil ifTrue:
+ 		[widget savedMultiWindowState: (SavedMultiWindowState on: aSpec model)].
  	children := aSpec children.
  	children isSymbol ifTrue:[
  		widget getChildrenSelector: children.
  		widget update: children.
  		children := #().
  	].
  	widget closeWindowSelector: aSpec closeAction.
  	panes := OrderedCollection new.
  	self buildAll: children in: widget.
  	self buildHelpFor: widget spec: aSpec. 
  	widget bounds: (RealEstateAgent 
  		initialFrameFor: widget 
  		initialExtent: (aSpec extent ifNil:[widget initialExtent])
  		world: self currentWorld).
  	widget setUpdatablePanesFrom: panes.
  	^widget!




More information about the Squeak-dev mailing list