]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/scrolbar.cpp
Combine two wxImage-to-pixmap creation functions into one.
[wxWidgets.git] / src / univ / scrolbar.cpp
index 4fe391f0881a04ffcf976631010afc7ddb8b44fe..f446c73f340bdb26b8656f0d271e60522253d7e9 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        univ/scrolbar.cpp
+// Name:        src/univ/scrolbar.cpp
 // Purpose:     wxScrollBar implementation
 // Author:      Vadim Zeitlin
 // Modified by:
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "univscrolbar.h"
-#endif
-
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
 
 #if wxUSE_SCROLLBAR
 
+#include "wx/scrolbar.h"
+
 #ifndef WX_PRECOMP
     #include "wx/timer.h"
-
     #include "wx/dcclient.h"
-    #include "wx/scrolbar.h"
     #include "wx/validate.h"
+    #include "wx/log.h"
 #endif
 
 #include "wx/univ/scrtimer.h"
@@ -42,7 +39,6 @@
 #include "wx/univ/renderer.h"
 #include "wx/univ/inphand.h"
 #include "wx/univ/theme.h"
-#include "wx/log.h"
 
 #define WXDEBUG_SCROLLBAR
 
@@ -256,7 +252,7 @@ void wxScrollBar::SetScrollbar(int position, int thumbSize,
                                int range, int pageSize,
                                bool refresh)
 {
-    // we only refresh everythign when the range changes, thumb position
+    // we only refresh everything when the range changes, thumb position
     // changes are handled in OnIdle
     bool needsRefresh = (range != m_range) ||
                         (thumbSize != m_thumbSize) ||
@@ -554,12 +550,18 @@ bool wxScrollBar::PerformAction(const wxControlAction& action,
             // NB: we assume that scrollbar events are sequentially numbered
             //     but this should be ok as other code relies on this as well
             scrollType += wxEVT_SCROLL_TOP - wxEVT_SCROLLWIN_TOP;
+            wxScrollEvent event(scrollType, this->GetId(), m_thumbPos,
+                                IsVertical() ? wxVERTICAL : wxHORIZONTAL);
+            event.SetEventObject(this);
+            GetEventHandler()->ProcessEvent(event);
+        }
+        else // part of the window
+        {
+            wxScrollWinEvent event(scrollType, m_thumbPos,
+                                   IsVertical() ? wxVERTICAL : wxHORIZONTAL);
+            event.SetEventObject(this);
+            GetParent()->GetEventHandler()->ProcessEvent(event);
         }
-
-        wxScrollWinEvent event(scrollType, m_thumbPos,
-                               IsVertical() ? wxVERTICAL : wxHORIZONTAL);
-        event.SetEventObject(this);
-        GetParent()->GetEventHandler()->ProcessEvent(event);
     }
 
     return true;
@@ -715,10 +717,8 @@ bool wxStdScrollBarInputHandler::HandleKey(wxInputConsumer *consumer,
             case WXK_LEFT:      action = wxACTION_SCROLL_LINE_UP;   break;
             case WXK_HOME:      action = wxACTION_SCROLL_START;     break;
             case WXK_END:       action = wxACTION_SCROLL_END;       break;
-            case WXK_PAGEUP:
-            case WXK_PRIOR:     action = wxACTION_SCROLL_PAGE_UP;   break;
-            case WXK_PAGEDOWN:
-            case WXK_NEXT:      action = wxACTION_SCROLL_PAGE_DOWN; break;
+            case WXK_PAGEUP:    action = wxACTION_SCROLL_PAGE_UP;   break;
+            case WXK_PAGEDOWN:  action = wxACTION_SCROLL_PAGE_DOWN; break;
         }
 
         if ( !action.IsEmpty() )
@@ -849,7 +849,7 @@ bool wxStdScrollBarInputHandler::HandleMouseMove(wxInputConsumer *consumer,
 
     if ( m_winCapture )
     {
-        if ( (m_htLast == wxHT_SCROLLBAR_THUMB) && event.Moving() )
+        if ( (m_htLast == wxHT_SCROLLBAR_THUMB) && event.Dragging() )
         {
             // make the thumb follow the mouse by keeping the same offset
             // between the mouse position and the top/left of the thumb
@@ -864,7 +864,7 @@ bool wxStdScrollBarInputHandler::HandleMouseMove(wxInputConsumer *consumer,
 
     bool isArrow = scrollbar->GetArrows().HandleMouseMove(event);
 
-    if ( event.Moving() )
+    if ( event.Dragging() )
     {
         wxHitTest ht = m_renderer->HitTestScrollbar
                                    (
@@ -907,6 +907,8 @@ bool wxStdScrollBarInputHandler::HandleMouseMove(wxInputConsumer *consumer,
 
 #endif // wxUSE_SCROLLBAR
 
+#if wxUSE_TIMER
+
 // ----------------------------------------------------------------------------
 // wxScrollTimer
 // ----------------------------------------------------------------------------
@@ -950,3 +952,4 @@ void wxScrollTimer::Notify()
     }
 }
 
+#endif // wxUSE_TIMER