[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