]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/scrolwin.h
Add new wxEVT_COMMAND_WEB_VIEW_TITLE_CHANGED event. Implement for all backends, exten...
[wxWidgets.git] / include / wx / gtk / scrolwin.h
index 92ecc160d7ff302fb2321239b8d385a225b108f6..dac8d766895ffa12f5d424d82216cc803b85c249 100644 (file)
 // wxScrolledWindow
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxScrollHelperNative : public wxScrollHelper
+class WXDLLIMPEXP_CORE wxScrollHelper : public wxScrollHelperBase
 {
+    typedef wxScrollHelperBase base_type;
 public:
     // default ctor doesn't do anything
-    wxScrollHelperNative(wxWindow *win) : wxScrollHelper(win) { }
+    wxScrollHelper(wxWindow *win) : wxScrollHelperBase(win) { }
 
+    // implement the base class methods
     virtual void SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY,
                                int noUnitsX, int noUnitsY,
                                int xPos = 0, int yPos = 0,
                                bool noRefresh = false);
     virtual void AdjustScrollbars();
-    virtual void Scroll(int x, int y);
 
 protected:
+    virtual void DoScroll(int x, int y);
+    virtual void DoShowScrollbars(wxScrollbarVisibility horz,
+                                  wxScrollbarVisibility vert);
+
+private:
     // this does (each) half of AdjustScrollbars() work
-    void DoAdjustScrollbar(GtkAdjustment *adj,
+    void DoAdjustScrollbar(GtkRange* range,
                            int pixelsPerLine,
                            int winSize,
                            int virtSize,
@@ -39,15 +45,33 @@ protected:
                            int *lines,
                            int *linesPerPage);
 
+    void DoAdjustHScrollbar(int winSize, int virtSize)
+    {
+        DoAdjustScrollbar
+        (
+            m_win->m_scrollBar[wxWindow::ScrollDir_Horz],
+            m_xScrollPixelsPerLine, winSize, virtSize,
+            &m_xScrollPosition, &m_xScrollLines, &m_xScrollLinesPerPage
+        );
+    }
+
+    void DoAdjustVScrollbar(int winSize, int virtSize)
+    {
+        DoAdjustScrollbar
+        (
+            m_win->m_scrollBar[wxWindow::ScrollDir_Vert],
+            m_yScrollPixelsPerLine, winSize, virtSize,
+            &m_yScrollPosition, &m_yScrollLines, &m_yScrollLinesPerPage
+        );
+    }
+
     // and this does the same for Scroll()
-    void DoScroll(int orient,
-                  GtkAdjustment *adj,
-                  int pos,
-                  int pixelsPerLine,
-                  int *posOld);
+    void DoScrollOneDir(int orient,
+                        int pos,
+                        int pixelsPerLine,
+                        int *posOld);
 
-private:
-    DECLARE_NO_COPY_CLASS(wxScrollHelperNative)
+    wxDECLARE_NO_COPY_CLASS(wxScrollHelper);
 };
 
 #endif // _WX_GTK_SCROLLWIN_H_