Matthew Fulmer uploaded a new version of ToolBuilder-Morphic to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Morphic-mtf.70.mcz==================== Summary ====================
Name: ToolBuilder-Morphic-mtf.70
Author: mtf
Time: 4 February 2011, 2:41:28.599 pm
UUID: 3c7f73d0-3004-43a7-bf47-58d2e998fef3
Ancestors: ToolBuilder-Morphic-ul.69
made toolbuilder respect the isDialog preference of window specs. Needed by Cobalt
=============== Diff against ToolBuilder-Morphic-ul.69 ===============
Item was changed:
----- Method: MorphicToolBuilder>>buildPluggableWindow: (in category 'pluggable widgets') -----
buildPluggableWindow: aSpec
| widget children |
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) new.
- widget := (self windowClassFor: aSpec multiWindowStyle) new.
self register: widget id: aSpec name.
widget model: aSpec model.
aSpec label ifNotNil:
[:label|
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!
Item was changed:
----- Method: MorphicToolBuilder>>windowClassFor: (in category 'widget classes') -----
+ windowClassFor: aSpec
+ aSpec isDialog ifTrue: [^ PluggableDialogWindow].
+ ^aSpec multiWindowStyle
- windowClassFor: multiWindowStyle
- ^multiWindowStyle
caseOf:
{ [nil] -> [PluggableSystemWindow].
[#labelButton] -> [PluggableSystemWindowWithLabelButton] }
otherwise: [PluggableSystemWindowWithLabelButton]!