]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/caret.cpp
Implement undo and redo for the ie and gtk webkit backends. Extend the sample to...
[wxWidgets.git] / src / msw / caret.cpp
index f1fd767110b7f566514595d60bec92809295f309..4252a732f1dff941723f7577364a066147845159 100644 (file)
@@ -1,11 +1,11 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        msw/caret.cpp
+// Name:        src/msw/caret.cpp
 // Purpose:     MSW implementation of wxCaret
 // Author:      Vadim Zeitlin
 // Modified by:
 // Created:     23.05.99
 // RCS-ID:      $Id$
-// Copyright:   (c) wxWindows team
+// Copyright:   (c) wxWidgets team
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // headers
 // ---------------------------------------------------------------------------
 
-#ifdef __GNUG__
-    #pragma implementation "caret.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 
 #include "wx/caret.h"
 
+#if wxUSE_CARET
+
 #include "wx/msw/private.h"
 
 // ---------------------------------------------------------------------------
 // macros
 // ---------------------------------------------------------------------------
 
-// under Win16 the caret APIs are void but under Win32 they may return an
-// error code which we want to check - this macro does just this
-#ifdef __WIN16__
-    #define CALL_CARET_API(api, args)   api args
-#else // Win32
-    #define CALL_CARET_API(api, args)   \
-        if ( !api args )                \
-            wxLogLastError(_T(#api))
-#endif // Win16/32
+#define CALL_CARET_API(api, args) \
+        if ( !api args ) \
+        { \
+            wxLogLastError(wxT(#api)); \
+        }
 
 // ===========================================================================
 // implementation
@@ -91,7 +85,7 @@ bool wxCaret::MSWCreateCaret()
         CALL_CARET_API(CreateCaret, (GetWinHwnd(GetWindow()), 0,
                                      m_width, m_height));
 
-        m_hasCaret = TRUE;
+        m_hasCaret = true;
     }
 
     return m_hasCaret;
@@ -117,7 +111,7 @@ void wxCaret::OnKillFocus()
 {
     if ( m_hasCaret )
     {
-        m_hasCaret = FALSE;
+        m_hasCaret = false;
 
         CALL_CARET_API(DestroyCaret, ());
     }
@@ -186,9 +180,11 @@ void wxCaret::DoSize()
 {
     if ( m_hasCaret )
     {
-        m_hasCaret = FALSE;
+        m_hasCaret = false;
         CALL_CARET_API(DestroyCaret, ());
         MSWCreateCaret();
-        DoMove();
+        OnSetFocus();
     }
 }
+
+#endif