The Trunk: ToolBuilder-Morphic-eem.63.mcz

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

The Trunk: ToolBuilder-Morphic-eem.63.mcz

commits-2
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!