]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/scrarrow.cpp
Fix history in wxWebViewIE when using a custom file scheme.
[wxWidgets.git] / src / univ / scrarrow.cpp
index 83ad8228370084302385b6478183ddf33dc1e369..988ecbc957e2ac69c67c45ce1f72f26b7a8294e5 100644 (file)
 // headers
 // ----------------------------------------------------------------------------
 
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "univscrarrow.h"
-#endif
-
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
@@ -28,6 +24,7 @@
 #endif
 
 #ifndef WX_PRECOMP
 #endif
 
 #ifndef WX_PRECOMP
+    #include "wx/window.h"
 #endif
 
 #include "wx/univ/scrtimer.h"
 #endif
 
 #include "wx/univ/scrtimer.h"
@@ -49,7 +46,9 @@ struct wxScrollArrowCaptureData
         m_arrowPressed = wxScrollArrows::Arrow_None;
         m_window = NULL;
         m_btnCapture = -1;
         m_arrowPressed = wxScrollArrows::Arrow_None;
         m_window = NULL;
         m_btnCapture = -1;
+#if wxUSE_TIMER
         m_timerScroll = NULL;
         m_timerScroll = NULL;
+#endif // wxUSE_TIMER
     }
 
     ~wxScrollArrowCaptureData()
     }
 
     ~wxScrollArrowCaptureData()
@@ -57,7 +56,9 @@ struct wxScrollArrowCaptureData
         if ( m_window )
             m_window->ReleaseMouse();
 
         if ( m_window )
             m_window->ReleaseMouse();
 
+#if wxUSE_TIMER
         delete m_timerScroll;
         delete m_timerScroll;
+#endif // wxUSE_TIMER
     }
 
     // the arrow being held pressed (may be Arrow_None)
     }
 
     // the arrow being held pressed (may be Arrow_None)
@@ -69,14 +70,18 @@ struct wxScrollArrowCaptureData
     // the window which has captured the mouse
     wxWindow *m_window;
 
     // the window which has captured the mouse
     wxWindow *m_window;
 
+#if wxUSE_TIMER
     // the timer for generating the scroll events
     wxScrollTimer *m_timerScroll;
     // the timer for generating the scroll events
     wxScrollTimer *m_timerScroll;
+#endif
 };
 
 // ----------------------------------------------------------------------------
 // wxScrollArrowTimer: a wxScrollTimer which calls OnArrow()
 // ----------------------------------------------------------------------------
 
 };
 
 // ----------------------------------------------------------------------------
 // wxScrollArrowTimer: a wxScrollTimer which calls OnArrow()
 // ----------------------------------------------------------------------------
 
+#if wxUSE_TIMER
+
 class wxScrollArrowTimer : public wxScrollTimer
 {
 public:
 class wxScrollArrowTimer : public wxScrollTimer
 {
 public:
@@ -99,6 +104,8 @@ protected:
     wxScrollArrows::Arrow m_arrow;
 };
 
     wxScrollArrows::Arrow m_arrow;
 };
 
+#endif // wxUSE_TIMER
+
 // ============================================================================
 // implementation of wxScrollArrows
 // ============================================================================
 // ============================================================================
 // implementation of wxScrollArrows
 // ============================================================================
@@ -116,7 +123,7 @@ wxScrollArrows::wxScrollArrows(wxControlWithArrows *control)
 wxScrollArrows::~wxScrollArrows()
 {
     // it should have been destroyed
 wxScrollArrows::~wxScrollArrows()
 {
     // it should have been destroyed
-    wxASSERT_MSG( !m_captureData, _T("memory leak in wxScrollArrows") );
+    wxASSERT_MSG( !m_captureData, wxT("memory leak in wxScrollArrows") );
 }
 
 // ----------------------------------------------------------------------------
 }
 
 // ----------------------------------------------------------------------------
@@ -167,9 +174,10 @@ bool wxScrollArrows::HandleMouseMove(const wxMouseEvent& event) const
     }
     else // Moving() or Entering(), treat them the same here
     {
     }
     else // Moving() or Entering(), treat them the same here
     {
-        arrow = m_control->HitTest(event.GetPosition());
+        arrow = m_control->HitTestArrow(event.GetPosition());
     }
 
     }
 
+#if wxUSE_TIMER
     if ( m_captureData && m_captureData->m_timerScroll)
     {
         // the mouse is captured, we may want to pause scrolling if it goes
     if ( m_captureData && m_captureData->m_timerScroll)
     {
         // the mouse is captured, we may want to pause scrolling if it goes
@@ -203,6 +211,7 @@ bool wxScrollArrows::HandleMouseMove(const wxMouseEvent& event) const
 
         return false;
     }
 
         return false;
     }
+#endif // wxUSE_TIMER
 
     // reset the wxCONTROL_CURRENT flag for the arrows which don't have the
     // mouse and set it for the one which has
 
     // reset the wxCONTROL_CURRENT flag for the arrows which don't have the
     // mouse and set it for the one which has
@@ -226,7 +235,7 @@ bool wxScrollArrows::HandleMouse(const wxMouseEvent& event) const
     {
         if ( !m_captureData )
         {
     {
         if ( !m_captureData )
         {
-            Arrow arrow = m_control->HitTest(event.GetPosition());
+            Arrow arrow = m_control->HitTestArrow(event.GetPosition());
             if ( arrow == Arrow_None )
             {
                 // mouse pressed over something else
             if ( arrow == Arrow_None )
             {
                 // mouse pressed over something else
@@ -246,22 +255,28 @@ bool wxScrollArrows::HandleMouse(const wxMouseEvent& event) const
             m_captureData->m_window = m_control->GetWindow();
             m_captureData->m_window->CaptureMouse();
 
             m_captureData->m_window = m_control->GetWindow();
             m_captureData->m_window->CaptureMouse();
 
-            // start scrolling                       
+#if wxUSE_TIMER
+            // start scrolling
             wxScrollArrowTimer *tmpTimerScroll =
                 new wxScrollArrowTimer(m_control, arrow);
             wxScrollArrowTimer *tmpTimerScroll =
                 new wxScrollArrowTimer(m_control, arrow);
+#endif // wxUSE_TIMER
 
 
-            // Because in some cases wxScrollArrowTimer can cause 
-            // m_captureData to be destructed we need to test if it 
+            // Because in some cases wxScrollArrowTimer can cause
+            // m_captureData to be destructed we need to test if it
             // is still valid before using.
             if (m_captureData)
             {
             // is still valid before using.
             if (m_captureData)
             {
+#if wxUSE_TIMER
                 m_captureData->m_timerScroll = tmpTimerScroll;
                 m_captureData->m_timerScroll = tmpTimerScroll;
+#endif // wxUSE_TIMER
 
                 m_control->SetArrowFlag(arrow, wxCONTROL_PRESSED, true);
             }
             else
             {
 
                 m_control->SetArrowFlag(arrow, wxCONTROL_PRESSED, true);
             }
             else
             {
+#if wxUSE_TIMER
                 delete tmpTimerScroll;
                 delete tmpTimerScroll;
+#endif // wxUSE_TIMER
             }
         }
         //else: mouse already captured, nothing to do
             }
         }
         //else: mouse already captured, nothing to do
@@ -284,4 +299,3 @@ bool wxScrollArrows::HandleMouse(const wxMouseEvent& event) const
 
     return true;
 }
 
     return true;
 }
-