The Trunk: Morphic-mt.2220.mcz
[email protected] Mon, 27 Jul 2026 07:05:05 0000
| Newsgroups | gmane.comp.lang.smalltalk.squeak.general |
|---|---|
| Message-ID | <[email protected]> |
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.2220.mcz
==================== Summary ====================
Name: Morphic-mt.2220
Author: mt
Time: 27 July 2026, 9:05:03.268417 am
UUID: a61262da-713a-1543-b63c-b93315ff8831
Ancestors: Morphic-mt.2219
Fixes some older method timestamps. For Release Notes, adds example to ScrollPane.
=============== Diff against Morphic-mt.2219 ===============
Item was changed:
----- Method: MorphicModel>>installModelIn: (in category 'debug and other') -----
installModelIn: aWorld
self wantsSlot ifFalse: [^ self]. "No real need to install"
slotName := aWorld model addPartNameLike: self class name withValue: self.
slotName ifNil: [^ self]. "user chose bad slot name"
self model: aWorld model slotName: slotName.
self compilePropagationMethods.
aWorld model compileAccessForSlot: slotName.
!
Item was changed:
----- Method: MorphicModel>>wantsSlot (in category 'accessing') -----
wantsSlot
"Override this default for models that want to be installed in theri model"
^ false!
Item was changed:
----- Method: PolygonMorph>>makeBackArrow (in category 'menu') -----
makeBackArrow
arrows := #back.
self computeBounds!
Item was changed:
----- Method: PolygonMorph>>makeBothArrows (in category 'menu') -----
makeBothArrows
arrows := #both.
self computeBounds!
Item was changed:
----- Method: PolygonMorph>>makeForwardArrow (in category 'menu') -----
makeForwardArrow
arrows := #forward.
self computeBounds!
Item was changed:
----- Method: PolygonMorph>>makeNoArrows (in category 'menu') -----
makeNoArrows
arrows := #none.
self computeBounds!
Item was added:
+ ----- Method: ScrollPane class>>exampleNested (in category 'examples') -----
+ exampleNested
+
+ | row1 row2 scrollPane1 scrollPane2 |
+ scrollPane1 := ScrollPane new.
+ scrollPane1 extent: 300 px asPoint.
+ scrollPane1 layoutFrame: LayoutFrame fullFrame.
+ scrollPane1 showHScrollBarOnlyWhenNeeded.
+ scrollPane1 scroller
+ changeTableLayout;
+ cellPositioning: #topLeft;
+ addMorphBack: 'Outer scroll pane' asMorph.
+ scrollPane2 := ScrollPane new.
+ scrollPane2 extent: 150 px asPoint.
+ scrollPane2 showHScrollBarOnlyWhenNeeded.
+ row2 := Morph new
+ color: Color orange;
+ changeTableLayout;
+ hResizing: #shrinkWrap;
+ vResizing: #shrinkWrap;
+ listDirection: #leftToRight;
+ cellPositioning: #topLeft;
+ cellGap: 2 px;
+ addMorphBack: 'This is a watch:' asMorph;
+ addMorphBack: (WatchMorph new extent: 200 px asPoint);
+ addMorphBack: ('That was the watch.' asMorph cellPositioning: #bottomRight);
+ yourself.
+ scrollPane2 scroller
+ changeTableLayout;
+ cellPositioning: #topLeft;
+ addMorphBack: 'Inner scroll pane' asMorph;
+ addMorphBack: row2;
+ addMorphBack: 'Carpe Squeak!!' asText allBold asMorph.
+ row1 := Morph new
+ color: Color yellow;
+ changeTableLayout;
+ hResizing: #shrinkWrap;
+ vResizing: #shrinkWrap;
+ listDirection: #leftToRight;
+ cellPositioning: #topLeft;
+ cellGap: 2 px;
+ addMorphBack: 'Nested pane...' asMorph;
+ addMorphBack: scrollPane2;
+ addMorphBack: '...is over.' asMorph;
+ yourself.
+ scrollPane1 scroller
+ addMorphBack: row1;
+ addMorphBack: Text textSample asMorph.
+ ^ scrollPane1 openInWindow!
Item was changed:
----- Method: ScrollPane>>wantsSlot (in category 'accessing') -----
wantsSlot
"For now do it the old way, until we sort this out"
^ true!
Item was changed:
----- Method: SimpleButtonMorph>>extent: (in category 'geometry') -----
extent: newExtent
| label |
super extent: newExtent.
submorphs size = 1 ifTrue:
["keep the label centered"
"NOTE: may want to test more that it IS a label..."
label := self firstSubmorph.
label position: self center - (label extent // 2)]!
Item was changed:
----- Method: Slider>>wantsSlot (in category 'testing') -----
wantsSlot
"For now do it the old way, until we sort this out"
^ true!
Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]