]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/scrolwin.h
avoid causing idle event from GetValue(), fixes #11013
[wxWidgets.git] / include / wx / scrolwin.h
index 41726f3aba6040019372374fd862a374f00e5144..1b41c43d9bd102b3b6119897a57e63c484dde4ab 100644 (file)
@@ -70,8 +70,12 @@ public:
                                bool noRefresh = false );
 
     // scroll to the given (in logical coords) position
-    void Scroll(int x, int y) { DoScroll(x, y); }
-    void Scroll(const wxPoint& pt) { DoScroll(pt.x, pt.y); }
+    //
+    // notice that for backwards compatibility reasons Scroll() is virtual as
+    // the existing code could override it but new code should override
+    // DoScroll() instead
+    virtual void Scroll(int x, int y) { DoScroll(x, y); }
+    virtual void Scroll(const wxPoint& pt) { DoScroll(pt.x, pt.y); }
 
     // get/set the page size for this orientation (wxVERTICAL/wxHORIZONTAL)
     int GetScrollPageSize(int orient) const;
@@ -286,7 +290,7 @@ protected:
 
     wxScrollHelperEvtHandler *m_handler;
 
-    DECLARE_NO_COPY_CLASS(wxScrollHelperBase)
+    wxDECLARE_NO_COPY_CLASS(wxScrollHelperBase);
 };
 
 // this macro can be used in a wxScrollHelper-derived class to forward wxWindow
@@ -329,9 +333,9 @@ struct WXDLLIMPEXP_CORE wxScrolledT_Helper
 // but wxScrolledWindow includes wxControlContainer functionality and that's
 // not always desirable.
 template<class T>
-class WXDLLIMPEXP_CORE wxScrolled : public T,
-                                    public wxScrollHelper,
-                                    private wxScrolledT_Helper
+class wxScrolled : public T,
+                   public wxScrollHelper,
+                   private wxScrolledT_Helper
 {
 public:
     wxScrolled() : wxScrollHelper(this) { }
@@ -400,16 +404,17 @@ private:
 
     // VC++ 6 gives warning for the declaration of template member function
     // without definition
-#if !defined(__VISUALC__) || wxCHECK_VISUALC_VERSION(7)
-    DECLARE_NO_COPY_CLASS(wxScrolled)
+#ifndef __VISUALC6__
+    wxDECLARE_NO_COPY_CLASS(wxScrolled);
 #endif
 };
 
-// VC++ <= 6 requires this; it's unlikely any other specializations would
-// be needed by user code _and_ they were using VC6, so we list only wxWindow
-// (typical use) and wxPanel (wxScrolledWindow use) specializations here
-WXDLLIMPEXP_TEMPLATE_INSTANCE_CORE( wxScrolled<wxPanel> )
-WXDLLIMPEXP_TEMPLATE_INSTANCE_CORE( wxScrolled<wxWindow> )
+#ifdef __VISUALC6__
+    // disable the warning about non dll-interface class used as base for
+    // dll-interface class: it's harmless in this case
+    #pragma warning(push)
+    #pragma warning(disable:4275)
+#endif
 
 // for compatibility with existing code, we provide wxScrolledWindow
 // "typedef" for wxScrolled<wxPanel>. It's not a real typedef because we
@@ -432,4 +437,8 @@ public:
 
 typedef wxScrolled<wxWindow> wxScrolledCanvas;
 
+#ifdef __VISUALC6__
+    #pragma warning(pop)
+#endif
+
 #endif // _WX_SCROLWIN_H_BASE_