Re: setting view positions?

Paul Rohr (paul@abisource.com)
Mon, 20 Sep 1999 10:25:43 -0700


Justin,

As Shaw explained, you're looking for the following idiom, which is littered
throughout a number of the FV_View methods. The concept is pretty simple:

At 09:54 AM 9/20/99 -0500, Shaw Terwilliger wrote:
> if (!isSelectionEmpty())
> {
> _clearSelection();
> }
> else
> {
> _eraseInsertionPoint();
> }

To avoid flicker and cursor dirt, before doing anything that changes or
scrolls the document, first clear the existing selection and/or IP.

> UT_Bool bRes = _findNext(find, matchCase, bDoneEntireDocument);

Do whatever you do that changes the document / view state.

> if (isSelectionEmpty())
> {
> if (!_ensureThatInsertionPointIsOnScreen())
> {
> _fixInsertionPointCoords();
> _drawInsertionPoint();
> }
> }
> else
> {
> _ensureThatInsertionPointIsOnScreen();
> _drawSelection();
> }

When the relevant change is done, let the view relocate itself (if needed)
and then draw the updated selection / IP.

Paul



This archive was generated by hypermail 1.03b2.