X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e8225073c5706791c5f80089a523c252c314d60a..10992a81d39da31b79063387b7b71c0ff68737ce:/src/msw/caret.cpp diff --git a/src/msw/caret.cpp b/src/msw/caret.cpp index 5ed485132e..daf68049e9 100644 --- a/src/msw/caret.cpp +++ b/src/msw/caret.cpp @@ -46,7 +46,9 @@ #ifdef __WIN16__ #define CALL_CARET_API(api, args) api args #else // Win32 - #define CALL_CARET_API(api, args) if ( !api args ) wxLogLastError(#api) + #define CALL_CARET_API(api, args) \ + if ( !api args ) \ + wxLogLastError(_T(#api)) #endif // Win16/32 // =========================================================================== @@ -63,7 +65,7 @@ int wxCaretBase::GetBlinkTime() int blinkTime = ::GetCaretBlinkTime(); if ( !blinkTime ) { - wxLogLastError("GetCaretBlinkTime"); + wxLogLastError(wxT("GetCaretBlinkTime")); } return blinkTime; @@ -81,8 +83,8 @@ void wxCaretBase::SetBlinkTime(int milliseconds) bool wxCaret::MSWCreateCaret() { - wxASSERT_MSG( GetWindow(), _T("caret without window cannot be created") ); - wxASSERT_MSG( IsOk(), _T("caret of zero size cannot be created") ); + wxASSERT_MSG( GetWindow(), wxT("caret without window cannot be created") ); + wxASSERT_MSG( IsOk(), wxT("caret of zero size cannot be created") ); if ( !m_hasCaret ) { @@ -127,8 +129,8 @@ void wxCaret::OnKillFocus() void wxCaret::DoShow() { - wxASSERT_MSG( GetWindow(), _T("caret without window cannot be shown") ); - wxASSERT_MSG( IsOk(), _T("caret of zero size cannot be shown") ); + wxASSERT_MSG( GetWindow(), wxT("caret without window cannot be shown") ); + wxASSERT_MSG( IsOk(), wxT("caret of zero size cannot be shown") ); if ( m_hasCaret ) { @@ -153,10 +155,26 @@ void wxCaret::DoMove() { if ( m_hasCaret ) { - wxWindow *winFocus = wxWindow::FindFocus(); - wxASSERT_MSG( winFocus == GetWindow(), "how did we lose focus?" ); + wxASSERT_MSG( wxWindow::FindFocus() == GetWindow(), + wxT("how did we lose focus?") ); CALL_CARET_API(SetCaretPos, (m_x, m_y)); } //else: we don't have caret right now, nothing to do (this does happen) } + + +// --------------------------------------------------------------------------- +// resizing the caret +// --------------------------------------------------------------------------- + +void wxCaret::DoSize() +{ + if ( m_hasCaret ) + { + m_hasCaret = FALSE; + CALL_CARET_API(DestroyCaret, ()); + MSWCreateCaret(); + DoMove(); + } +}