• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: [SOLVED--AGAIN] Re: Printing a range of text in a particular container --
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [SOLVED--AGAIN] Re: Printing a range of text in a particular container --


  • Subject: Re: [SOLVED--AGAIN] Re: Printing a range of text in a particular container --
  • From: John Velman <email@hidden>
  • Date: Mon, 29 Dec 2008 11:35:31 -0800

Martin -- still thanks, but, I found a fourth method:

NSLayoutManager -setTextContainer:forGlyphRange:

This is embarrassing because I've been pouring over all the text guidelines
and class documentation for days now, and didn't see this until after I got
your response and tried it.   I stumbled on this by accident looking for
something else in the NSLayoutManager documentation.

So here is a fourth alternative, and seems to work quite well (one test so
far).

I can imagine circumstances when the \f would be more convenient, and some
where the -setTextContainer:forGlyphRange: would be more convenient.

Well, thanks again,

John Velman

On Mon, Dec 29, 2008 at 09:21:50AM -0800, John Velman wrote:
>
> Thanks, Martin.

[snip]

>
> Thanks again,
>
> John V.
>
>
> On Sun, Dec 28, 2008 at 11:23:32PM -0800, Martin Wierschin wrote:
> > Hi John,
> >
> >> If I have a particular range of glyphs that I want to put in,
> >> say,textContainer1, and a different (as it happens, contiguous) range I
> >> want to put in textContainer2, is there a way to do it?
> >>
> >> I've tried
> >>
> >>     [layoutManager drawGlyphsForGlyphRange: glyphRangeStringOne
> >> atPoint:startPoint];
> >
> > In general you don't really tell the text layout system what glyphs you
> > want in which container. You'll note the documentation for the drawing
> > method states:
> >
> > 	"Draws the glyphs in the given glyph range, which must lie completely
> > within a single text container."
> >
> > Under normal operation you simply give NSLayoutManager the full text and a
> > series of connected containers/views and it figure the rest out for you. If
> > you really must have one chunk of text displayed in one area and a second
> > chunk in another you have these options:
> >
> > 1. Use a separate NSTextStorage and NSLayoutManager pair for each text
> > chunk.
> > 2. Separate the chunks of text in your NSTextStorage by a break character
> > (NSFormFeedCharacter).
> >
> > There's also an unsavory third option where you size your NSTextContainers
> > so the text happens to break into the second container at exactly the right
> > point. I really wouldn't recommend this approach.
> >
> > One other thought: if you're really not using NSTextView and are doing all
> > the drawing manually via NSLayoutManager, you might also be able to use a
> > single infinitely tall NSTextContainer. That way NSLayoutManager will
> > always be able to draw the glyph range you request. Just make sure your
> > chunks of text are separated by a newline character so the second block's
> > horizontal offset is flush with the rest of the text.
> >
> > ~Martin
> _______________________________________________
>
> 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
_______________________________________________

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

References: 
 >Printing a range of text in a particular container -- (From: John Velman <email@hidden>)
 >Re: Printing a range of text in a particular container -- (From: Martin Wierschin <email@hidden>)
 >[SOLVED!] Re: Printing a range of text in a particular container -- (From: John Velman <email@hidden>)

  • Prev by Date: Re: Pull Down Toolbar Item
  • Next by Date: Re: Overriding NSHTTPCookieStorage for WebView
  • Previous by thread: [SOLVED!] Re: Printing a range of text in a particular container --
  • Next by thread: Re: [SOLVED!] Re: Printing a range of text in a particular container --
  • Index(es):
    • Date
    • Thread