]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/scrolwin.cpp
Added size event for status bar
[wxWidgets.git] / src / generic / scrolwin.cpp
index 4b99809f81ba11584b9e0ebe79025c357e936d8a..2a2eeb014c51fcc5192b5b2498dbc3612ead05b5 100644 (file)
 #include "wx/utils.h"
 #include "wx/dcclient.h"
 
 #include "wx/utils.h"
 #include "wx/dcclient.h"
 
-#ifdef __WXMSW__
-#include "windows.h"
-#endif
-
 #ifdef __BORLANDC__
 #pragma hdrstop
 #endif
 #ifdef __BORLANDC__
 #pragma hdrstop
 #endif
@@ -40,6 +36,10 @@ END_EVENT_TABLE()
 IMPLEMENT_DYNAMIC_CLASS(wxScrolledWindow, wxWindow)
 #endif
 
 IMPLEMENT_DYNAMIC_CLASS(wxScrolledWindow, wxWindow)
 #endif
 
+#ifdef __WXMSW__
+#include "windows.h"
+#endif
+
 wxScrolledWindow::wxScrolledWindow(void)
 {
     m_xScrollPixelsPerLine = 0;
 wxScrolledWindow::wxScrolledWindow(void)
 {
     m_xScrollPixelsPerLine = 0;
@@ -110,6 +110,7 @@ void wxScrolledWindow::SetScrollbars (int pixelsPerUnitX, int pixelsPerUnitY,
    if (do_refresh && !noRefresh) Refresh();
    
 #ifdef __WXMSW__
    if (do_refresh && !noRefresh) Refresh();
    
 #ifdef __WXMSW__
+   // Necessary?
     UpdateWindow ((HWND) GetHWND());
 #endif
 }
     UpdateWindow ((HWND) GetHWND());
 #endif
 }
@@ -121,7 +122,6 @@ void wxScrolledWindow::OnScroll(wxScrollEvent& event)
     int nScrollInc = CalcScrollInc(event);
     if (nScrollInc == 0) return;
 
     int nScrollInc = CalcScrollInc(event);
     if (nScrollInc == 0) return;
 
-    // TODO: should we store the scroll position here as well as in wxWindow?
     if (orient == wxHORIZONTAL)
     {
         int newPos = m_xScrollPosition + nScrollInc;
     if (orient == wxHORIZONTAL)
     {
         int newPos = m_xScrollPosition + nScrollInc;
@@ -133,19 +133,6 @@ void wxScrolledWindow::OnScroll(wxScrollEvent& event)
         SetScrollPos(wxVERTICAL, newPos, TRUE );
     }
 
         SetScrollPos(wxVERTICAL, newPos, TRUE );
     }
 
-/*
-  // TODO We need to multiply the ScrollWindow amount by the scaling
-  // factor, but how do we know what this is in wxWin 2.0???
-  float scaleX = 1.0;
-  float scaleY = 1.0;
-
-  if ( this->IsKindOf(CLASSINFO(wxCanvas)) )
-  {
-    wxDC* dc = ((wxCanvas *)this)->GetDC();
-    dc->GetUserScale(&scaleX, &scaleY);
-  }
-*/
-
     if (orient == wxHORIZONTAL)
     {
         m_xScrollPosition += nScrollInc;
     if (orient == wxHORIZONTAL)
     {
         m_xScrollPosition += nScrollInc;
@@ -234,6 +221,7 @@ int wxScrolledWindow::CalcScrollInc(wxScrollEvent& event)
       break;
     }
   }
       break;
     }
   }
+
   if (orient == wxHORIZONTAL)
   {
     if (m_xScrollPixelsPerLine > 0) {
   if (orient == wxHORIZONTAL)
   {
     if (m_xScrollPixelsPerLine > 0) {
@@ -295,7 +283,8 @@ void wxScrolledWindow::AdjustScrollbars(void)
         m_xScrollPosition = wxMax( 0, m_xScrollPosition );
 
         SetScrollbar(wxHORIZONTAL, m_xScrollPosition, noPagePositions, m_xScrollLines);
         m_xScrollPosition = wxMax( 0, m_xScrollPosition );
 
         SetScrollbar(wxHORIZONTAL, m_xScrollPosition, noPagePositions, m_xScrollLines);
-//      SetScrollPageSize(wxHORIZONTAL, noPagePositions);
+        // The amount by which we scroll when paging
+        SetScrollPageSize(wxHORIZONTAL, noPagePositions);
     }
     else
     { 
     }
     else
     { 
@@ -316,7 +305,8 @@ void wxScrolledWindow::AdjustScrollbars(void)
         m_yScrollPosition = wxMax( 0, m_yScrollPosition );
 
         SetScrollbar(wxVERTICAL, m_yScrollPosition, noPagePositions, m_yScrollLines);
         m_yScrollPosition = wxMax( 0, m_yScrollPosition );
 
         SetScrollbar(wxVERTICAL, m_yScrollPosition, noPagePositions, m_yScrollLines);
-//      SetScrollPageSize(wxVERTICAL, noPagePositions);
+        // The amount by which we scroll when paging
+        SetScrollPageSize(wxVERTICAL, noPagePositions);
     }
     else
     {
     }
     else
     {
@@ -431,6 +421,7 @@ void wxScrolledWindow::Scroll( int x_pos, int y_pos )
     Refresh();
     
 #ifdef __WXMSW__
     Refresh();
     
 #ifdef __WXMSW__
+    // Necessary?
     ::UpdateWindow ((HWND) GetHWND());
 #endif
 }
     ::UpdateWindow ((HWND) GetHWND());
 #endif
 }