[squeak-dev] [BUG] TextMorphForEditView wrapFlag

karl ramberg karlramberg at gmail.com
Sat Mar 11 15:13:56 UTC 2023


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/b925e28e/attachment.html>


More information about the Squeak-dev mailing list