site_archiver@lists.apple.com Delivered-To: Cocoa-dev@lists.apple.com Dkim-signature: v=1; a=rsa-sha1; c=relaxed; d=nisus.com; h=content-type :mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s= nisus.com; bh=Spqse6aAPpleS7JCRwAsiYfNojw=; b=o+pE8IefowcWYhqbpl Eu8XLiVNV17re/agk6hDgRoymr3W8t+hkA59AMH03+B+2UlZ5HVcKdsqIBVa6qhB J/+P9BWGeMoiF+zkIJUjgUlfKEZ5VE4c7+TSuqLuET0ukSGQNJ7otYLLqRKPHi02 HnTsRC6jp6lh2rg6dxeMbSBmM= NSTextView's support for multiple selections isn't too bad. You can apply formatting to multiple selections out of the box, which is handy and probably the most obvious use case. Oh and you can copy multiple selections to the pasteboard all at once. But I understand your frustration. It can be relatively tricky to enhance the text system in ways not originally conceived of by Apple. Still, NSTextView and friends are overall some nice tools. Best, ~Martin Wierschin
On Sep 19, 2018, at 11:54 PM, Georg Seifert <georg.seifert@gmx.de> wrote:
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 <martin@nisus.com> 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 <georg.seifert@gmx.de <mailto:georg.seifert@gmx.de>> 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 (Cocoa-dev@lists.apple.com) 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: https://lists.apple.com/mailman/options/cocoa-dev/site_archiver%40lists.appl... This email sent to site_archiver@lists.apple.com