]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/scrolwin.h
added missing WXDLLIMPEXP_CORE for wxGetDisplay() for wxGTK
[wxWidgets.git] / include / wx / scrolwin.h
index dcbc0ef320a672adc5b43e5e663b646c0b228c5a..e7660e93eacf61be5a2ae19d6a442a28c447aece 100644 (file)
@@ -14,8 +14,8 @@
 
 #include "wx/panel.h"
 
 
 #include "wx/panel.h"
 
-class WXDLLEXPORT wxScrollHelperEvtHandler;
-class WXDLLEXPORT wxTimer;
+class WXDLLIMPEXP_FWD_CORE wxScrollHelperEvtHandler;
+class WXDLLIMPEXP_FWD_CORE wxTimer;
 
 // default scrolled window style: scroll in both directions
 #define wxScrolledWindowStyle (wxHSCROLL | wxVSCROLL)
 
 // default scrolled window style: scroll in both directions
 #define wxScrolledWindowStyle (wxHSCROLL | wxVSCROLL)
@@ -68,6 +68,10 @@ public:
     int GetScrollPageSize(int orient) const;
     void SetScrollPageSize(int orient, int pageSize);
 
     int GetScrollPageSize(int orient) const;
     void SetScrollPageSize(int orient, int pageSize);
 
+    // get the number of lines the window can scroll, 
+    // returns 0 if no scrollbars are there.
+    int GetScrollLines( int orient ) const;
+
     // Set the x, y scrolling increments.
     void SetScrollRate( int xstep, int ystep );
 
     // Set the x, y scrolling increments.
     void SetScrollRate( int xstep, int ystep );
 
@@ -177,7 +181,7 @@ protected:
                                          : m_targetWindow->GetClientSize();
     }
 
                                          : m_targetWindow->GetClientSize();
     }
 
-    void GetTargetSize(int *w, int *h)
+    void GetTargetSize(int *w, int *h) const
     {
         wxSize size = GetTargetSize();
         if ( w )
     {
         wxSize size = GetTargetSize();
         if ( w )
@@ -235,12 +239,14 @@ protected:
 // this macro can be used in a wxScrollHelper-derived class to forward wxWindow
 // methods to corresponding wxScrollHelper methods
 #define WX_FORWARD_TO_SCROLL_HELPER()                                         \
 // this macro can be used in a wxScrollHelper-derived class to forward wxWindow
 // methods to corresponding wxScrollHelper methods
 #define WX_FORWARD_TO_SCROLL_HELPER()                                         \
+public:                                                                       \
     virtual void PrepareDC(wxDC& dc) { DoPrepareDC(dc); }                     \
     virtual bool Layout() { return ScrollLayout(); }                          \
     virtual void DoSetVirtualSize(int x, int y)                               \
         { ScrollDoSetVirtualSize(x, y); }                                     \
     virtual wxSize GetBestVirtualSize() const                                 \
         { return ScrollGetBestVirtualSize(); }                                \
     virtual void PrepareDC(wxDC& dc) { DoPrepareDC(dc); }                     \
     virtual bool Layout() { return ScrollLayout(); }                          \
     virtual void DoSetVirtualSize(int x, int y)                               \
         { ScrollDoSetVirtualSize(x, y); }                                     \
     virtual wxSize GetBestVirtualSize() const                                 \
         { return ScrollGetBestVirtualSize(); }                                \
+protected:                                                                    \
     virtual wxSize GetWindowSizeForVirtualSize(const wxSize& size) const      \
         { return ScrollGetWindowSizeForVirtualSize(size); }
 
     virtual wxSize GetWindowSizeForVirtualSize(const wxSize& size) const      \
         { return ScrollGetWindowSizeForVirtualSize(size); }
 
@@ -282,6 +288,12 @@ public:
                 long style = wxScrolledWindowStyle,
                 const wxString& name = wxPanelNameStr);
 
                 long style = wxScrolledWindowStyle,
                 const wxString& name = wxPanelNameStr);
 
+    // we need to return a special WM_GETDLGCODE value to process just the
+    // arrows but let the other navigation characters through
+#ifdef __WXMSW__
+    virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
+#endif // __WXMSW__
+
     WX_FORWARD_TO_SCROLL_HELPER()
 
 protected:
     WX_FORWARD_TO_SCROLL_HELPER()
 
 protected:
@@ -289,12 +301,6 @@ protected:
     // wxScrollHelperEvtHandler::ProcessEvent()
     void OnPaint(wxPaintEvent& event);
 
     // wxScrollHelperEvtHandler::ProcessEvent()
     void OnPaint(wxPaintEvent& event);
 
-    // we need to return a special WM_GETDLGCODE value to process just the
-    // arrows but let the other navigation characters through
-#ifdef __WXMSW__
-    virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
-#endif // __WXMSW__
-
 private:
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxScrolledWindow)
     DECLARE_EVENT_TABLE()
 private:
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxScrolledWindow)
     DECLARE_EVENT_TABLE()