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@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@0; borderWidth: 0; layoutInset: 0; + cellGap: 0; - cellInset: 0; layoutPolicy: TableLayout new; listCentering: #topLeft; cellPositioning: #center; hResizing: #spaceFill; vResizing: #shrinkWrap; yourself! |
Free forum by Nabble | Edit this page |