I'm trying to create a row on a pane with a left justified name, some space and a right justified number.
I created the row as follows:
aRow := AlignmentMorph newRow color: aColor. aRow addMorph: (TextMorph new contents: aName); addMorphBack: (AlignmentMorph newSpacer: Color transparent); addMorphBack: (TextMorph new contents: aNumber printString).
Everything displays correctly, but:
- Why is the first submorph left justified and the last one right
justified?
It isn't. Neither is "justified," as I noted in my previous message. What you saw was three "fields," fully filled without padding, and all abutted one to another to make up the aggregate morph. Text is always simultaneously left, center and right justified in a field that is exactly the width of the text. Running your code and inspecting the results with an inspector confirms this:
|aWorld | aWorld _ WorldMorph new initialize. aRow := AlignmentMorph newRow color: aColor. aRow addMorph: (TextMorph new contents: 'hellothere'); addMorphBack: (AlignmentMorph newSpacer: Color transparent); addMorphBack: (TextMorph new contents: (12323 printString)). aWorld addMorph: aRow. aWorld openWithTitle: 'test'.
bounds: 54@46 corner: 112@62 112@46 corner: 114@82 114@46 corner: 126@62 owner: an AlignmentMorph(1871) an AlignmentMorph(1871) an AlignmentMorph(1871) submorphs: () () () fullBounds: 54@46 corner: 112@62 112@46 corner: 114@82 114@46 corner: 126@62 color: (Color r: 0.0 g: 0.0 b: 0.0) (Color r: 0.0 g: 0.0 b: 0.0) (Color transparent) extension: nil nil nil textStyle: a TextStyle NewYork10 a TextStyle NewYork10 text: Text for 'hellothere' Text for '23'
Both TextStyles had alignment set to 0, "left justification".
The resulting morph looked like this:
+---------------------+ |+-----------++--++--+| ||hello there|| ||23|| |+-----------+| |+--+| | | | | | +--+ | +---------------------+
- Why does the first submorph allow editing and the last one doesn't?
I have no idea. I confirm that the second field is not editable, and defer to those who actually know how this stuff works to explain why this should be so.