Marcel Taeumel uploaded a new version of ToolBuilder-Morphic to project The Trunk: http://source.squeak.org/trunk/ToolBuilder-Morphic-mt.280.mcz
==================== Summary ====================
Name: ToolBuilder-Morphic-mt.280 Author: mt Time: 2 December 2021, 5:26:45.972715 pm UUID: 2f5a09f9-48fe-ce42-a70d-00b47c1513c3 Ancestors: ToolBuilder-Morphic-mt.279
Fixes high-dpi scaling of dialog windows.
=============== Diff against ToolBuilder-Morphic-mt.279 ===============
Item was changed: ----- Method: MorphicToolBuilder>>buildPluggableDialog: (in category 'widgets optional') ----- buildPluggableDialog: aSpec
| widget |
widget := self dialogClass new. self register: widget id: aSpec name. widget model: aSpec model.
"Set child dependent layout properties. The pane morph holds the special contents." widget paneMorph wantsPaneSplitters: (aSpec wantsResizeHandles ifNil: [true]). self setLayoutHintsFor: widget paneMorph spec: aSpec. widget paneMorph layoutInset: (aSpec padding ifNil: [ProportionalSplitterMorph gripThickness]). widget paneMorph cellGap: (aSpec spacing ifNil: [ProportionalSplitterMorph gripThickness]). widget morphicLayerNumber: widget class dialogLayer. widget paneMorph wantsPaneSplitters ifTrue: [ widget paneMorph addCornerGrips"addEdgeGrips". widget paneMorph grips do: [:ea | ea showHandle: true]].
"Now create the children." panes := OrderedCollection new. aSpec children isSymbol ifTrue: [ widget getChildrenSelector: aSpec children. widget update: aSpec children] ifFalse: [ self buildAll: aSpec children in: widget paneMorph].
"Now create the buttons." aSpec buttons isSymbol ifTrue: [ widget getButtonsSelector: aSpec buttons. widget update: aSpec buttons] ifFalse: [ self buildAll: aSpec buttons in: widget buttonRowMorph. widget updateButtonProperties].
aSpec title ifNotNil: [:label | label isSymbol ifTrue:[widget getTitleSelector: label; update: label] ifFalse:[widget title: label]]. aSpec message ifNotNil: [:label | label isSymbol ifTrue:[widget getMessageSelector: label; update: label] ifFalse:[widget message: label]]. "Interaction behavior." aSpec autoCancel ifNotNil: [:b | widget autoCancel: b]. aSpec exclusive ifNotNil: [:b | widget exclusive: b]. widget closeDialogSelector: aSpec closeAction. self buildHelpFor: widget spec: aSpec.
"Everything is shrink-wrapped around the pane morph." + widget paneMorph extent: ((aSpec extent ifNil:[widget initialExtent]) + + (widget paneMorph layoutInset * 2) asPoint * RealEstateAgent scaleFactor) truncated. - widget paneMorph extent: (aSpec extent ifNil:[widget initialExtent]) - + (widget paneMorph layoutInset * 2) asPoint.
^ widget!
Item was added: + ----- Method: PluggableDialogWindow>>initialExtent (in category 'initialization') ----- + initialExtent + + ^ model initialExtent!
squeak-dev@lists.squeakfoundation.org