[squeak-dev] The Trunk: ToolBuilder-Morphic-mt.239.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Aug 22 13:23:12 UTC 2019
Marcel Taeumel uploaded a new version of ToolBuilder-Morphic to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Morphic-mt.239.mcz
==================== Summary ====================
Name: ToolBuilder-Morphic-mt.239
Author: mt
Time: 22 August 2019, 3:23:14.140931 pm
UUID: 58f445df-8248-a143-8d2e-82b27bef37f2
Ancestors: ToolBuilder-Morphic-mt.238
Complements Morphic-mt.1506 including cellInset-to-cellGap conversion.
=============== Diff against ToolBuilder-Morphic-mt.238 ===============
Item was changed:
----- Method: DialogWindow>>openAsTool (in category '*ToolBuilder-Morphic-opening') -----
openAsTool
+
- self flag: #dev.
- "cm: The following line may no longer be necessary."
- preferredPosition isMorph ifFalse: [ self moveToHand ].
^ self getUserResponse!
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 paneMorph cellInset: (aSpec spacing ifNil: [ProportionalSplitterMorph gripThickness]).
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!
Item was changed:
----- Method: MorphicToolBuilder>>buildPluggablePanel: (in category 'widgets required') -----
buildPluggablePanel: aSpec
| widget |
widget := self panelClass new.
self register: widget id: aSpec name.
widget model: aSpec model.
"Set child dependent layout properties."
widget wantsPaneSplitters: (aSpec wantsResizeHandles ifNil: [false]).
self setLayoutHintsFor: widget spec: aSpec.
widget layoutInset: (aSpec padding ifNil: [0]).
+ widget cellGap: (aSpec spacing ifNil: [
- widget cellInset: (aSpec spacing ifNil: [
widget wantsPaneSplitters
ifTrue: [ProportionalSplitterMorph gripThickness]
ifFalse: [2]]).
"Now create the children."
aSpec children isSymbol
ifTrue: [
widget getChildrenSelector: aSpec children.
widget update: aSpec children]
ifFalse: [
self buildAll: aSpec children in: widget].
self setFrame: aSpec frame in: widget.
self setLayout: aSpec layout in: widget.
parent ifNotNil:[self add: widget to: parent].
widget borderWidth: 0.
self buildHelpFor: widget spec: aSpec.
widget color: Color transparent.
^ widget!
Item was changed:
----- Method: MorphicToolBuilder>>buildPluggableWindow: (in category 'widgets required') -----
buildPluggableWindow: aSpec
| 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."
widget wantsPaneSplitters: (aSpec wantsResizeHandles ifNil: [true]).
self setLayoutHintsFor: widget spec: aSpec.
widget layoutInset: (aSpec padding ifNil: [ProportionalSplitterMorph gripThickness]).
+ widget cellGap: (aSpec spacing ifNil: [ProportionalSplitterMorph gripThickness]).
- widget cellInset: (aSpec spacing ifNil: [ProportionalSplitterMorph gripThickness]).
"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].
widget setUpdatablePanesFrom: panes.
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.
widget bounds: (RealEstateAgent
initialFrameFor: widget
initialExtent: (aSpec extent ifNil:[widget initialExtent])
world: self currentWorld).
^ widget!
Item was changed:
----- Method: PluggableCheckBoxMorph>>basicPanel (in category 'installing') -----
basicPanel
^BorderedMorph new
beTransparent;
extent: 0 at 0;
borderWidth: 0;
layoutInset: 0;
+ cellGap: 0;
- cellInset: 0;
layoutPolicy: TableLayout new;
listCentering: #topLeft;
cellPositioning: #center;
hResizing: #spaceFill;
vResizing: #shrinkWrap;
yourself!
Item was changed:
----- Method: PluggableDropDownListMorph>>basicPanel (in category 'drawing') -----
basicPanel
^BorderedMorph new
beTransparent;
extent: 0 at 0;
borderWidth: 0;
layoutInset: 0;
+ cellGap: 0;
- cellInset: 0;
layoutPolicy: TableLayout new;
listCentering: #topLeft;
cellPositioning: #center;
hResizing: #spaceFill;
vResizing: #shrinkWrap;
yourself!
More information about the Squeak-dev
mailing list
|