• 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: Outline view and horizontal scrolling
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Outline view and horizontal scrolling


  • Subject: Re: Outline view and horizontal scrolling
  • From: John Stiles <email@hidden>
  • Date: Tue, 04 Dec 2007 17:48:48 -0800

I tried

NSRect r = [outlineView frameOfCellAtColumn:0 row:[outlineView rowForItem:item]];

but this seems to consistently give me a rectangle at origin (16, 0) with size (-16, 0), regardless of the item's actual depth within the tree.
Weird.



Greg Titus wrote:

On Dec 4, 2007, at 4:41 PM, John Stiles wrote:

OK, so I've been trying to implement the "accepting defeat" solution and even that is proving to be a challenge.
I can't seem to find a way to properly determine the width of the "indentation marker" (the disclosure triangle) and there doesn't appear to be one. The icon itself is 16 pixels across, but there's padding as well and I don't want to just hard-code a value unless I have to. Because of this, I come up short by 25 pixels or so when I do this:


   NSAttributedString* str = ... my item's title ...;
   int level = ... the depth of my item in the tree ...;
   float indent = [outlineView indentationPerLevel];
   float width = [str size].width + (indent * level);

Is there a better way that I'm missing? I never would have guessed that this would be difficult.
Leopard added a method "frameOfOutlineCellAtRow:" which would probably do the right thing, but I'm not ready to require Leopard just for this (I am using the 10.4 SDK so it was inconvenient to even see if this generated good results or not).

Try -frameOfCellAtColumn:row: (a method from NSTableView). I believe that should already have the indentation applied to it (so the origin.x will be where your string starts), so you ought to be able to just add on the string width to the rect's origin.x.


Hope this helps,
    - Greg
_______________________________________________

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: 
 >Outline view and horizontal scrolling (From: John Stiles <email@hidden>)
 >Re: Outline view and horizontal scrolling (From: John Stiles <email@hidden>)
 >Re: Outline view and horizontal scrolling (From: Greg Titus <email@hidden>)

  • Prev by Date: Re: -[NSManagedObjectContext save:] fails but gives no NSError
  • Next by Date: Re: How to Make a Very Thin Window?
  • Previous by thread: Re: Outline view and horizontal scrolling
  • Next by thread: More Problems with archiving.
  • Index(es):
    • Date
    • Thread