Index: abi/src/wp/ap/beos/ap_BeOSFrame.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/ap/beos/ap_BeOSFrame.cpp,v retrieving revision 1.24 diff -u -r1.24 ap_BeOSFrame.cpp --- abi/src/wp/ap/beos/ap_BeOSFrame.cpp 2000/03/30 21:35:56 1.24 +++ abi/src/wp/ap/beos/ap_BeOSFrame.cpp 2000/04/17 04:36:45 @@ -88,6 +88,7 @@ AV_ListenerId lidScrollbarViewListener; UT_uint32 nrToolbars; UT_uint32 point = 0; + PT_DocPosition iSelectionAnchor = 0; //pG = new GR_BeOSGraphics(m_dArea->window, fontManager); pG = new GR_BeOSGraphics(getBeDocView()); @@ -103,6 +104,7 @@ if (m_pView != NULL) { point = ((FV_View *) m_pView)->getPoint(); + iSelectionAnchor = ((FV_View *)m_pView)->getSelectionAnchor(); } ENSUREP(pView); @@ -211,7 +213,12 @@ updateTitle(); if (point != 0) + { ((FV_View *) m_pView)->moveInsPtTo(point); + UT_Bool bForward = ( iSelectionAnchor - point > 0 ) ? UT_TRUE : UT_FALSE; + UT_uint32 iCount = ( bForward ) ? iSelectionAnchor - point : point - iSelectionAnchor; + ((FV_View *) m_pView)->extSelHorizontal( bForward, iCount ); + } #if 1 /* Index: abi/src/wp/ap/qnx/ap_QNXFrame.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/ap/qnx/ap_QNXFrame.cpp,v retrieving revision 1.12 diff -u -r1.12 ap_QNXFrame.cpp --- abi/src/wp/ap/qnx/ap_QNXFrame.cpp 2000/04/06 12:05:43 1.12 +++ abi/src/wp/ap/qnx/ap_QNXFrame.cpp 2000/04/17 04:36:49 @@ -94,6 +94,7 @@ AV_ListenerId lidScrollbarViewListener; UT_uint32 nrToolbars; UT_uint32 point = 0; + PT_DocPosition iSelectionAnchor = 0; pG = new GR_QNXGraphics(m_wTopLevelWindow, m_dArea); ENSUREP(pG); @@ -109,6 +110,7 @@ if (m_pView != NULL) { point = ((FV_View *) m_pView)->getPoint(); + iSelectionAnchor = ((FV_View *)m_pView)->getSelectionAnchor(); } ENSUREP(pView); @@ -224,7 +226,13 @@ updateTitle(); if (point != 0) + { ((FV_View *) m_pView)->moveInsPtTo(point); + UT_Bool bForward = ( iSelectionAnchor - point > 0 ) ? UT_TRUE : UT_FALSE; + UT_uint32 iCount = ( bForward ) ? iSelectionAnchor - point : point - iSelectionAnchor; + ((FV_View *) m_pView)->extSelHorizontal( bForward, iCount ); + } + #if 1 /* UPDATE: this code is back, but I'm leaving these comments as Index: abi/src/wp/ap/unix/ap_UnixFrame.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/ap/unix/ap_UnixFrame.cpp,v retrieving revision 1.60 diff -u -r1.60 ap_UnixFrame.cpp --- abi/src/wp/ap/unix/ap_UnixFrame.cpp 2000/03/30 21:35:57 1.60 +++ abi/src/wp/ap/unix/ap_UnixFrame.cpp 2000/04/17 04:36:53 @@ -92,6 +92,7 @@ AV_ListenerId lidScrollbarViewListener; UT_uint32 nrToolbars; UT_uint32 point = 0; + PT_DocPosition iSelectionAnchor = 0; XAP_UnixFontManager * fontManager = ((XAP_UnixApp *) getApp())->getFontManager(); @@ -108,6 +109,7 @@ if (m_pView != NULL) { point = ((FV_View *) m_pView)->getPoint(); + iSelectionAnchor = ((FV_View *)m_pView)->getSelectionAnchor(); } ENSUREP(pView); @@ -220,7 +222,13 @@ updateTitle(); if (point != 0) + { ((FV_View *) m_pView)->moveInsPtTo(point); + UT_Bool bForward = ( iSelectionAnchor - point > 0 ) ? UT_TRUE : UT_FALSE; + UT_uint32 iCount = ( bForward ) ? iSelectionAnchor - point : point - iSelectionAnchor; + ((FV_View *) m_pView)->extSelHorizontal( bForward, iCount ); + } + #if 1 /* UPDATE: this code is back, but I'm leaving these comments as Index: abi/src/wp/ap/win/ap_Win32Frame.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/ap/win/ap_Win32Frame.cpp,v retrieving revision 1.54 diff -u -r1.54 ap_Win32Frame.cpp --- abi/src/wp/ap/win/ap_Win32Frame.cpp 2000/04/06 01:10:56 1.54 +++ abi/src/wp/ap/win/ap_Win32Frame.cpp 2000/04/17 04:37:00 @@ -179,6 +179,7 @@ AV_ListenerId lid; AV_ListenerId lidScrollbarViewListener; UT_uint32 point = 0; + PT_DocPosition iSelectionAnchor = 0; UT_uint32 nrToolbars, k; HWND hwnd = m_hwndDocument; @@ -195,7 +196,8 @@ pView = new FV_View(getApp(), this, pDocLayout); if (m_pView != NULL) { - point = ((FV_View *) m_pView)->getPoint(); + point = ((FV_View *)m_pView)->getPoint(); + iSelectionAnchor = ((FV_View *)m_pView)->getSelectionAnchor(); } ENSUREP(pView); @@ -307,7 +309,12 @@ updateTitle(); if (point != 0) + { ((FV_View *) m_pView)->moveInsPtTo(point); + UT_Bool bForward = ( iSelectionAnchor - point > 0 ) ? UT_TRUE : UT_FALSE; + UT_uint32 iCount = ( bForward ) ? iSelectionAnchor - point : point - iSelectionAnchor; + ((FV_View *) m_pView)->extSelHorizontal( bForward, iCount ); + } if (((AP_FrameData*)m_pData)->m_pTopRuler) ((AP_FrameData*)m_pData)->m_pTopRuler->draw(NULL);