Marcel Taeumel uploaded a new version of ToolBuilder-Morphic to project The Trunk: http://source.squeak.org/trunk/ToolBuilder-Morphic-mt.324.mcz
==================== Summary ====================
Name: ToolBuilder-Morphic-mt.324 Author: mt Time: 20 January 2023, 6:49:45.023382 pm UUID: e0f58c03-a2e9-7e41-be5a-6d358b029d59 Ancestors: ToolBuilder-Morphic-tpr.323
Complements System-mt.1385
=============== Diff against ToolBuilder-Morphic-tpr.323 ===============
Item was changed: ----- Method: MorphicToolBuilder>>buildPluggableWindow: (in category 'widgets required') ----- buildPluggableWindow: aSpec + | widget initialExtent | - | widget |
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. self register: widget id: aSpec name. widget model: aSpec model.
"Set child dependent layout properties." MorphicProject worldGridEnabled ifTrue: [ "Snap both #position and #extent to grid." aSpec horizontalResizing ifNil: [aSpec horizontalResizing: #spaceFill]. aSpec verticalResizing ifNil: [aSpec verticalResizing: #spaceFill]]. self setLayoutHintsFor: widget spec: aSpec. widget layoutInset: (aSpec padding ifNil: [self windowPadding]). widget morphicLayerNumber: widget class windowLayer. self flag: #todo. "ct: Below, there is a lot of duplication with #buildPluggablePanel:. Can we factor out some of this, or even just collect all children in a PluggablePanelMorph?" widget cellGap: (aSpec spacing ifNil: [self windowSpacing]). widget wantsGrips: true. widget wantsPaneSplitters: (aSpec wantsResizeHandles ifNil: [true]). "Now create the children." panes := OrderedCollection new. aSpec children isSymbol ifTrue: [ widget getChildrenSelector: aSpec children. widget update: aSpec children] ifFalse: [ widget rebuildPaneAfter: [ self buildAll: aSpec children in: widget]]. widget setUpdatablePanesFrom: panes.
aSpec defaultFocus ifNotNil: [:name | widget defaultFocusMorph: name]. aSpec label ifNotNil: [:label| label isSymbol ifTrue:[widget getLabelSelector: label] ifFalse:[widget setLabel: label]].
aSpec multiWindowStyle notNil ifTrue: [widget savedMultiWindowState: (SavedMultiWindowState on: aSpec model)].
widget closeWindowSelector: aSpec closeAction. self buildHelpFor: widget spec: aSpec.
+ initialExtent := (RealEstateAgent savedExtentFor: aSpec model) + ifNil: [aSpec extent ifNil: [widget initialExtent]]. widget bounds: (RealEstateAgent initialFrameFor: widget + initialExtent: (initialExtent * RealEstateAgent windowScaleFactor * RealEstateAgent scaleFactor) rounded - initialExtent: ((aSpec extent ifNil:[widget initialExtent]) * RealEstateAgent windowScaleFactor * RealEstateAgent scaleFactor) rounded world: self currentWorld).
widget refreshWindowColor.
^ widget!
packages@lists.squeakfoundation.org