On Thu, Nov 22, 2012, at 02:56 PM, Graham Cox wrote:
> Yes, that's right. The design of the NSRulerViewDelegate protocol
> suggests that doing this is possible. In fact, the documentation
> explicitly states that the delegate method can be used for this purpose.
> However, it does not work, and the presence of an undocumented black line
> in its place suggests that maybe the standard NSRulerMarker is either
> putting a window over mine in the way you suggest, or it's doing some
> hackery that physically prevents my view from getting its updates as
> normal during dragging. Overlaying a whole separate window should not be
> necessary and it strikes me as a heavy-handed approach, though it may be
> a possible solution.

Actually, based on breaking in the debugger, it looks like NSScrollView
is responsible for drawing that black line.

If you think about it, it makes sense that NSTextView cannot be
responsible for the black line, because NSTextView (in its default
configuration) sizes itself vertically to fit the used rect of its text
container, yet the line draws in the entire vertical extent of the
scroll view.

> 
> It looks as if I need to subclass NSRulerMarker and completely
> reimplement its tracking method to allow it to work exactly as
> documented, which is bloody annoying, because what really should have
> been done is that NSTextView should have subclassed NSRulerMarker for its
> special case, or NSRulerMarker should have more public override points so
> that the black line behaviour can be modified or suppressed. At the very
> least these weird behaviours for NSTextView should be documented.

File a radar asking them to expose -[NSScrollView
_updateRulerlineForRuler:oldPosition:newPosition:vertical:] so you can
subclass it.

--Kyle Sluder
_______________________________________________

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/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to