The Trunk: ToolBuilder-Morphic-mt.142.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: ToolBuilder-Morphic-mt.142.mcz

commits-2
Marcel Taeumel uploaded a new version of ToolBuilder-Morphic to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Morphic-mt.142.mcz

==================== Summary ====================

Name: ToolBuilder-Morphic-mt.142
Author: mt
Time: 29 April 2015, 6:11:35.977 pm
UUID: e9144d76-2044-f848-974b-c1dbfbed17b3
Ancestors: ToolBuilder-Morphic-mt.141

Fixed some minor layout issues when building panes or windows.

=============== Diff against ToolBuilder-Morphic-mt.141 ===============

Item was changed:
  ----- Method: MorphicToolBuilder>>add:to: (in category 'private') -----
  add: aMorph to: aParent
+
+ aMorph layoutFrame
+ ifNotNil: [aParent addMorph: aMorph fullFrame: aMorph layoutFrame]
+ ifNil: [aParent addMorphBack: aMorph].!
- aParent addMorphBack: aMorph.
- aParent isSystemWindow ifTrue:[
- aParent addPaneMorph: aMorph.
- ].!

Item was changed:
  ----- Method: MorphicToolBuilder>>buildPluggablePanel: (in category 'widgets required') -----
  buildPluggablePanel: aSpec
+
+ | widget |
- | widget children frame |
  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]).
+ widget layoutInset: (aSpec padding ifNil: [0]).
+ 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].
+
- widget color: Color transparent.
- children := aSpec children.
- children isSymbol ifTrue:[
- widget getChildrenSelector: children.
- widget update: children.
- children := #().
- ].
- self buildAll: children in: widget.
- self buildHelpFor: widget spec: aSpec.
  self setFrame: aSpec frame in: widget.
- parent ifNotNil:[self add: widget to: parent].
  self setLayout: aSpec layout in: widget.
+ self setLayoutHintsFor: widget spec: aSpec.
+
+ parent ifNotNil:[self add: widget to: parent].
+
- widget layoutInset: 0.
  widget borderWidth: 0.
+ self buildHelpFor: widget spec: aSpec.
- widget submorphsDo:[:sm|
- (frame := sm layoutFrame) ifNotNil:[
- (frame rightFraction = 0 or:[frame rightFraction = 1])
- ifFalse:[frame rightOffset:1].
- (frame bottomFraction = 0 or:[frame bottomFraction = 1])
- ifFalse:[frame bottomOffset: 1]]].
  widget color: Color transparent.
- self setLayoutHintsFor: widget spec: aSpec.
 
+ ^ widget!
- ^widget!

Item was changed:
  ----- Method: MorphicToolBuilder>>buildPluggableWindow: (in category 'widgets required') -----
  buildPluggableWindow: aSpec
+ | widget |
+
- | widget children |
  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]).
+ widget layoutInset: (aSpec padding 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|
- aSpec label ifNotNil:
- [:label|
  label isSymbol
  ifTrue:[widget getLabelSelector: label]
  ifFalse:[widget setLabel: label]].
+
  aSpec multiWindowStyle notNil ifTrue:
  [widget savedMultiWindowState: (SavedMultiWindowState on: aSpec model)].
+
- children := aSpec children.
- children isSymbol ifTrue:[
- widget getChildrenSelector: children.
- widget update: children.
- children := #().
- ].
  widget closeWindowSelector: aSpec closeAction.
- panes := OrderedCollection new.
- self buildAll: children in: widget.
  self buildHelpFor: widget spec: aSpec.
+
  widget bounds: (RealEstateAgent
  initialFrameFor: widget
  initialExtent: (aSpec extent ifNil:[widget initialExtent])
  world: self currentWorld).
-
  self setLayoutHintsFor: widget spec: aSpec.
+
+ ^ widget!
-
- widget setUpdatablePanesFrom: panes.
- ^widget!

Item was changed:
  ----- Method: MorphicToolBuilder>>setLayout:in: (in category 'private') -----
  setLayout: layout in: widget
  layout == #proportional ifTrue:[
  widget layoutPolicy: ProportionalLayout new.
  ^self].
  layout == #horizontal ifTrue:[
  widget layoutPolicy: TableLayout new.
  widget listDirection: #leftToRight.
  widget submorphsDo:[:m| m hResizing: #spaceFill; vResizing: #spaceFill].
+ "widget cellInset: 1@1.
+ widget layoutInset: 1@1."
- widget cellInset: 1@1.
- widget layoutInset: 1@1.
  widget color: Color transparent.
  "and then some..."
  ^self].
  layout == #vertical ifTrue:[
  widget layoutPolicy: TableLayout new.
  widget listDirection: #topToBottom.
  widget submorphsDo:[:m| m hResizing: #spaceFill; vResizing: #spaceFill].
+ "widget cellInset: 1@1.
+ widget layoutInset: 1@1."
- widget cellInset: 1@1.
- widget layoutInset: 1@1.
  widget color: Color transparent.
  "and then some..."
  ^self].
  ^self error: 'Unknown layout: ', layout.!