[squeak-dev] The Trunk: Morphic-mt.806.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Apr 2 07:21:30 UTC 2015
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.806.mcz
==================== Summary ====================
Name: Morphic-mt.806
Author: mt
Time: 2 April 2015, 9:20:54.685 am
UUID: 6a7470e3-86ed-7244-958d-35c81e309eff
Ancestors: Morphic-cmm.805
Removed hard-coded margins in scroll panes and added them to lists, text fields, and trees.
This gives tool-specific widgets more control about how to handle/draw this margins.
=============== Diff against Morphic-cmm.805 ===============
Item was changed:
----- Method: LazyListMorph>>display:atRow:on: (in category 'drawing') -----
display: item atRow: row on: canvas
"display the given item at row row"
| drawBounds emphasized rowColor itemAsText |
itemAsText := item asStringOrText.
emphasized := itemAsText isText
ifTrue: [font emphasized: (itemAsText emphasisAt: 1)]
ifFalse: [font].
rowColor := self colorForRow: row.
+ drawBounds := (self drawBoundsForRow: row) translateBy: (self hMargin @ 0).
- drawBounds := self drawBoundsForRow: row.
drawBounds := drawBounds intersect: self bounds.
(self icon: row) ifNotNil:
[ :icon || top |
top := drawBounds top + ((drawBounds height - icon height) // 2).
canvas translucentImage: icon at: drawBounds left @ top.
drawBounds := drawBounds left: drawBounds left + icon width + 2 ].
canvas drawString: itemAsText in: drawBounds font: emphasized color: rowColor!
Item was added:
+ ----- Method: LazyListMorph>>hMargin (in category 'accessing') -----
+ hMargin
+
+ ^ 3!
Item was changed:
----- Method: MulticolumnLazyListMorph>>display:atRow:on: (in category 'drawing') -----
display: items atRow: row on: canvas
"display the specified item, which is on the specified row; for Multicolumn
lists, items will be a list of strings"
| drawBounds |
+ drawBounds := (self drawBoundsForRow: row) translateBy: (self hMargin @ 0).
- drawBounds := self drawBoundsForRow: row.
drawBounds := drawBounds intersect: self bounds.
items
with: (1 to: items size)
do: [:item :index |
"move the bounds to the right at each step"
index > 1
ifTrue: [drawBounds := drawBounds left: drawBounds left + 6
+ (columnWidths at: index - 1)].
item isText
ifTrue: [canvas
drawString: item
in: drawBounds
font: (font
emphasized: (item emphasisAt: 1))
color: (self colorForRow: row)]
ifFalse: [canvas
drawString: item
in: drawBounds
font: font
color: (self colorForRow: row)]]!
Item was changed:
----- Method: PluggableTextMorph>>setText: (in category 'model access') -----
setText: aText
textMorph
ifNil: [textMorph := self textMorphClass new
+ contents: aText
+ wrappedTo: self innerBounds width.
+ textMorph
+ margins: (3 at 0 corner: 0 at 0);
+ setEditView: self.
- contents: aText wrappedTo: self innerBounds width-6.
- textMorph setEditView: self.
scroller addMorph: textMorph]
ifNotNil: [textMorph newContents: aText].
self hasUnacceptedEdits: false.
self setScrollDeltas.!
Item was added:
+ ----- Method: PluggableTextMorph>>wantsBalloon (in category 'as yet unclassified') -----
+ wantsBalloon
+
+ ^ self textMorph contents notEmpty and: [super wantsBalloon]!
Item was changed:
----- Method: ScrollPane>>hMargin (in category 'access') -----
hMargin
"pixels of whitespace at to the left of the scroller when the hScrollBar offset is 0"
+ ^0
- ^3
!
Item was changed:
----- Method: ScrollPane>>initializeScrollBars (in category 'initialization') -----
initializeScrollBars
"initialize the receiver's scrollBar"
(scrollBar := ScrollBar new model: self slotName: 'vScrollBar')
borderWidth: 1;
borderColor: Color black.
(hScrollBar := ScrollBar new model: self slotName: 'hScrollBar')
borderWidth: 1;
borderColor: Color black.
""
scroller := TransformMorph new color: Color transparent.
+ scroller offset: 0 @ 0.
- scroller offset: -3 @ 0.
self addMorph: scroller.
""
scrollBar initializeEmbedded: retractableScrollBar not.
hScrollBar initializeEmbedded: retractableScrollBar not.
retractableScrollBar ifFalse:
[self
addMorph: scrollBar;
addMorph: hScrollBar].
Preferences alwaysShowVScrollbar ifTrue:
[ self alwaysShowVScrollBar: true ].
Preferences alwaysHideHScrollbar
ifTrue:[self hideHScrollBarIndefinitely: true ]
ifFalse:
[Preferences alwaysShowHScrollbar ifTrue:
[ self alwaysShowHScrollBar: true ]].
!
Item was changed:
----- Method: ScrollPane>>innerBounds (in category 'geometry') -----
innerBounds
| inner |
inner := super innerBounds.
retractableScrollBar | (submorphs includes: scrollBar) not ifFalse:[
inner := (scrollBarOnLeft
ifTrue: [scrollBar right @ inner top corner: inner bottomRight]
ifFalse: [inner topLeft corner: scrollBar left @ inner bottom])
].
(retractableScrollBar | self hIsScrollbarShowing not)
ifTrue: [^ inner]
+ ifFalse: [^ inner topLeft corner: (inner bottomRight - (0@(self scrollBarThickness - 1)))].
- ifFalse: [^ inner topLeft corner: (inner bottomRight - (0 at self scrollBarThickness))].
!
More information about the Squeak-dev
mailing list
|