Re: Typing with multiple selections in NSTextView
Re: Typing with multiple selections in NSTextView
- Subject: Re: Typing with multiple selections in NSTextView
- From: Georg Seifert <email@hidden>
- Date: Thu, 20 Sep 2018 08:54:48 +0200
Thanks for the explanation.
I wonder why it supports multiple selection in the first place, when you can do
almost nothing with it?
Georg
> On 19. Sep 2018, at 18:26, Martin Wierschin <email@hidden> wrote:
>
> So far as I know this is not possible with a stock NSTextView. The selected
> range array is automatically normalized by NSTextView, to sort and coalesce
> ranges as needed. If any zero-length ranges are in a given selection array,
> only a single zero-length range is allowed and maintained by NSTextView. Any
> other zero-length ranges are discarded straight away.
>
> Even if you override selection methods to coerce NSTextView to maintain
> multiple zero-length selections, I’d be leery about it doing the right thing
> when it comes to text insertion and other behaviors. I doubt it’s written
> with multiple zero-length selections in mind. At the very least you’d
> probably also need to override text insertion and insertion-point drawing,
> but who knows what other things you’d need to shore up.
>
> If I were you and wanted to write this in the safest way possible, to ensure
> no unforeseen consequences, I’d probably subclass NSTextView to add a new
> property like “multipleInsertionPointIndexes”. Only your own code would need
> to interact with this property. Of course you’d still have to add NSTextView
> overrides to handle things and keep those indexes in sync, but this would
> ensure NSTextView’s code never sees multiple zero-length selections and never
> potentially enters unknown states.
>
> Good luck!
>
> ~Martin Wierschin
>
>
>> On Sep 19, 2018, at 12:13 AM, Georg Seifert <email@hidden
>> <mailto:email@hidden>> wrote:
>>
>> Hi
>>
>> Is it possible to make NSTextView to allow typing with multiple insertion
>> points? One can set multiple selection and delete all of them at once. But
>> typing only replaces the first range and ignores the other ranges.
>>
>> Thanks
>> Georg
>> _______________________________________________
>>
>> Cocoa-dev mailing list (email@hidden)
>>
>> Please do not post admin requests or moderator comments to the list.
>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>>
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden <mailto:email@hidden>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden