[squeak-dev] [BUG] TextMorphForEditView wrapFlag

karl ramberg karlramberg at gmail.com
Sat Mar 11 18:53:56 UTC 2023


On Sat, Mar 11, 2023 at 7:23 PM Taeumel, Marcel via Squeak-dev <
squeak-dev at lists.squeakfoundation.org> wrote:

> Hi Karl --
>
> Please do not use TextMorohForEditView directly. Only interface it via
> PluggableTextMorph and there use hResizing and vResizing. I think. From the
> top of my hat 😅
>

There is no menu option to access the wrapFlag from PluggableTextMorph
while there are menu options for TextMorphForEditView.

Best,
Karl


> wrapFlag and autoFit might interfere with each other unexpectedly.
>
> If this does not solve the issue, I will take another look at the code
> there next week. 🙃 Sorry for the inconvenience.
>
> Best,
> Marcel
> ------------------------------
> *From:* Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> on
> behalf of karl ramberg <karlramberg at gmail.com>
> *Sent:* Saturday, March 11, 2023 4:13:56 PM
> *To:* The general-purpose Squeak developers list <
> squeak-dev at lists.squeakfoundation.org>
> *Subject:* Re: [squeak-dev] [BUG] TextMorphForEditView wrapFlag
>
>
>
> On Sat, Mar 11, 2023 at 3:58 PM Eduardo Ochs <eduardoochs at gmail.com>
> wrote:
>
> Thanks for working in this! =)
>   Cheers,
>     Eduardo
>
>
> It's quite fun trying to fix these issues :-)
>
> Additionally to my posted fix I think that turning text wrapping off
> should turn on horizontal scrollbar.
>
> Best,
> Karl
>
>
>
> On Sat, 11 Mar 2023 at 11:48, karl ramberg <karlramberg at gmail.com> wrote:
>
> Attached is a change set that fixes turning text wrapFlag both on and off
> in TextMorphForEditView.
> I'm not familiar with the inner workings of these methods to say they are
> the correct fixes.
> The end result looks right but implementation is maybe a little clumsy.
>
> Best,
> Karl
>
>
> On Sat, Mar 11, 2023 at 10:44 AM karl ramberg <karlramberg at gmail.com>
> wrote:
>
> When a you turn preference wrapFlag off in TextMorphForEditViewyou get
> Assertion failure in Morph>>#doLayoutIn:
> ...
> "2.2) Do one additional run on the layout if requested in
> #layoutInBounds:."
> (self hasProperty: #doLayoutAgain) ifTrue: [
> self removeProperty: #doLayoutAgain.
> layout flushLayoutCache.
> layout layout: self in: layoutBounds].
> self assert: (self hasProperty: #doLayoutAgain) not].
> ...
>
> But redoing the layout can add the property #doLayoutAgain.
> I think this has to be changed to :
> ...
> "2.2) Do one additional run on the layout if requested in
> #layoutInBounds:."
> (self hasProperty: #doLayoutAgain) ifTrue: [
> layout flushLayoutCache.
> layout layout: self in: layoutBounds.
> self removeProperty: #doLayoutAgain.].
> self assert: [(self hasProperty: #doLayoutAgain) not]].
> ...
>
>
> Best,
> Karl
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20230311/e9941ba5/attachment.html>


More information about the Squeak-dev mailing list