I'm trying to implement typewriter scrolling in my Cocoa text editor,
keeping the insertion point centered vertically in its scrollview.

Toward this end, I have subclassed NSClipView to provide a
scrollToPointWithoutConstraint method, which scrolls the document to a
specified point without calling constrainScrollPoint. This is
necessary because for short documents the insertion point can't be
centered unless we scroll beyond the document's bounds.

This seems reasonably straightforward so far and does what I want. The
problem comes in when I try to scroll using the scroll bars. If I'm
scrolled to the end of the document, such that part of the scroll view
contains an area outside the document's bounds, trying to scroll up by
a small increment causes the scroll view to jump, immediately clamping
to the document's actual bounds.

I gather that I might need to subclass NSTextView and override the
adjustScroll method; this is where my actual question begins. The
proposedVisibleRect that is passed to adjustScroll already has its
dimensions adjusted so that they lie within the document's actual
bounds. Is there a way that I can change the value of
proposedVisibleRect before adjustScroll is called? Alternatively, am I
going about this entirely wrong? Any suggestions would be greatly
appreciated at this point.
_______________________________________________

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

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

Reply via email to