[squeak-dev] Proposal: Morphs in Text

Marcel Taeumel marcel.taeumel at hpi.de
Wed May 29 06:51:25 UTC 2019


Yes, I also think that textAnchorType refers to further interaction between morph and the surrounding text (layout or paragraph).


Best,
Marcel
Am 28.05.2019 18:40:24 schrieb Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>:
Hi Patrick,


i did not have time to inquire about the .cs but I can partially answer


Le mar. 28 mai 2019 à 18:27, <patrick.rein at hpi.uni-potsdam.de [mailto:patrick.rein at hpi.uni-potsdam.de]> a écrit :

Hi everyone,

please find attached a change set which includes:
1.) Some fixes to the Scanner infrastructure to support Morphs in Text better
2.) Improvements to describe how a Morph should be aligned with regard to the text. Relevant methods on Morph are:
#textAnchorVerticalAlignment:
#textAnchorPadding:
#textAnchorConsumesHorizontalSpace:

You can see an example by executing the body of the test:
TextAnchorTest>>#testHavingAnAnchorCanBeAlignedDifferently

!Warning: As this touches Scanner code a lot, loading this change set might make your image unresponsive!

I would like to point out that the test cases are preliminary and a few of the methods still require polishing. Nevertheless, I would like to ask for comments on the change set, in particular regarding:
1.) Should the alignment information be stored in the Morph or the TextAnchorAttribute? Currently the information is stored in the Morph which parallels LayoutProperties.

I think it should be in Morph, because Morph can have its own notion of baseline etc... (imagine for example that I want to render a FractionMathMorph 1/(1/x+1), then I want the main (upper) fraction bar to be somehow aligned with the text baseline)
If Morph does not carry such information, then we can wrap in another Morph that does (but I'm not sure that's how Morph works currently...)

 
2.) Is using caseOf: in Scanner code fine? I suspect it to be quite expensive which is probably not a good thing in Scanners?

unless you have thousands of Morphs, you won't be able to measure any difference


3.) Should the cursor allow users to navigate (or select?) the "start of header" character that is used to denote the text anchor placement?

If Morph is aligned with text (renderd as if a single character), then i would expect so (so as to be able to copy/paste for example)

4.) Does anyone remember / know what the textAnchorType was intended for? The previous implementation largely ignored it and this one does so too.

I guess it could be like classical editors: Morph aligned with text (as a single character) or super-imposed over text, or text wraps around the morph, or ...


Thanks and best wishes,
Patrick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190529/97cd6d89/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 9855 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190529/97cd6d89/attachment-0001.png>


More information about the Squeak-dev mailing list