]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/vscroll.h
Revert HasModifiers() change in behaviour, add HasAnyModifiers().
[wxWidgets.git] / include / wx / vscroll.h
index 4da294ce6055ec1e3cc980833ae2938e265ef96a..6b9fba28c7dcd227008d831a35f111310667645e 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        include/wx/vscroll.h
+// Name:        wx/vscroll.h
 // Purpose:     Variable scrolled windows (wx[V/H/HV]ScrolledWindow)
 // Author:      Vadim Zeitlin
 // Modified by: Brad Anderson, Bryan Petty
@@ -15,7 +15,7 @@
 #include "wx/panel.h"
 #include "wx/position.h"
 
-class WXDLLEXPORT wxVarScrollHelperEvtHandler;
+class WXDLLIMPEXP_FWD_CORE wxVarScrollHelperEvtHandler;
 
 
 // Using the same techniques as the wxScrolledWindow class      |
@@ -59,7 +59,7 @@ class WXDLLEXPORT wxVarScrollHelperEvtHandler;
 // required virtual functions that need to be implemented for any orientation
 // specific work.
 
-class WXDLLEXPORT wxVarScrollHelperBase
+class WXDLLIMPEXP_CORE wxVarScrollHelperBase
 {
 public:
     // constructors and such
@@ -236,7 +236,7 @@ protected:
 
 #ifdef __WXMAC__
     // queue mac window update after handling scroll event
-    virtual void UpdateMacScrollWindow() = 0;
+    virtual void UpdateMacScrollWindow() { }
 #endif // __WXMAC__
 
     // change the target window
@@ -297,7 +297,7 @@ private:
 // Provides public API functions targeted for vertical-specific scrolling,
 // wrapping the functionality of wxVarScrollHelperBase.
 
-class WXDLLEXPORT wxVarVScrollHelper : public wxVarScrollHelperBase
+class WXDLLIMPEXP_CORE wxVarVScrollHelper : public wxVarScrollHelperBase
 {
 public:
     // constructors and such
@@ -370,7 +370,7 @@ protected:
 // Provides public API functions targeted for horizontal-specific scrolling,
 // wrapping the functionality of wxVarScrollHelperBase.
 
-class WXDLLEXPORT wxVarHScrollHelper : public wxVarScrollHelperBase
+class WXDLLIMPEXP_CORE wxVarHScrollHelper : public wxVarScrollHelperBase
 {
 public:
     // constructors and such
@@ -453,7 +453,7 @@ protected:
 // functions to make changing values for both orientations at the same time
 // easier.
 
-class WXDLLEXPORT wxVarHVScrollHelper : public wxVarVScrollHelper,
+class WXDLLIMPEXP_CORE wxVarHVScrollHelper : public wxVarVScrollHelper,
                                         public wxVarHScrollHelper
 {
 public:
@@ -561,7 +561,7 @@ public:
 // in not only those classes, but also in wxHVScrolledWindow where functions
 // are inherited from both.
 
-class WXDLLEXPORT wxVarVScrollLegacyAdaptor : public wxVarVScrollHelper
+class WXDLLIMPEXP_CORE wxVarVScrollLegacyAdaptor : public wxVarVScrollHelper
 {
 public:
     // constructors and such
@@ -576,59 +576,54 @@ public:
 
     // this is the same as GetVisibleRowsBegin(), exists to match
     // GetLastVisibleLine() and for backwards compatibility only
-    size_t GetFirstVisibleLine() const { return GetVisibleRowsBegin(); }
+    wxDEPRECATED( size_t GetFirstVisibleLine() const );
 
     // get the last currently visible line
     //
     // this function is unsafe as it returns (size_t)-1 (i.e. a huge positive
     // number) if the control is empty, use GetVisibleRowsEnd() instead, this
     // one is kept for backwards compatibility
-    size_t GetLastVisibleLine() const { return GetVisibleRowsEnd() - 1; }
+    wxDEPRECATED( size_t GetLastVisibleLine() const );
 
     // "line" to "unit" compatibility functions
     // ----------------------------------------
 
     // get the number of lines this window contains (set by SetLineCount())
-    size_t GetLineCount() const { return GetRowCount(); }
+    wxDEPRECATED( size_t GetLineCount() const );
 
     // set the number of lines the helper contains: the derived class must
     // provide the sizes for all lines with indices up to the one given here
     // in its OnGetLineHeight()
-    void SetLineCount(size_t count) { SetRowCount(count); }
+    wxDEPRECATED( void SetLineCount(size_t count) );
 
     // redraw the specified line
-    virtual void RefreshLine(size_t line) { RefreshRow(line); }
+    wxDEPRECATED( virtual void RefreshLine(size_t line) );
 
     // redraw all lines in the specified range (inclusive)
-    virtual void RefreshLines(size_t from, size_t to) { RefreshRows(from, to); }
+    wxDEPRECATED( virtual void RefreshLines(size_t from, size_t to) );
 
     // scroll to the specified line: it will become the first visible line in
     // the window
     //
     // return true if we scrolled the window, false if nothing was done
-    bool ScrollToLine(size_t line) { return ScrollToRow(line); }
+    wxDEPRECATED( bool ScrollToLine(size_t line) );
 
     // scroll by the specified number of lines/pages
-    virtual bool ScrollLines(int lines) { return ScrollRows(lines); }
-    virtual bool ScrollPages(int pages) { return ScrollRowPages(pages); }
+    wxDEPRECATED( virtual bool ScrollLines(int lines) );
+    wxDEPRECATED( virtual bool ScrollPages(int pages) );
 
 protected:
     // unless the code has been updated to override OnGetRowHeight() instead,
     // this function must be overridden in the derived class and it should
     // return the height of the given row in pixels
-    virtual wxCoord OnGetLineHeight(size_t WXUNUSED(n)) const
-    {
-        wxFAIL_MSG( _T("must be overridden if OnGetRowHeight() isn't!") );
-
-        return -1;
-    }
+    wxDEPRECATED_BUT_USED_INTERNALLY(
+        virtual wxCoord OnGetLineHeight(size_t n) const );
 
     // forwards the calls from base class pure virtual function to pure virtual
     // OnGetLineHeight instead (backwards compatible name)
     // note that we don't need to forward OnGetUnitSize() as it is already
     // forwarded to OnGetRowHeight() in wxVarVScrollHelper
-    virtual wxCoord OnGetRowHeight(size_t n) const
-        { return OnGetLineHeight(n); }
+    virtual wxCoord OnGetRowHeight(size_t n) const;
 
     // this function doesn't have to be overridden but it may be useful to do
     // it if calculating the lines heights is a relatively expensive operation
@@ -643,19 +638,12 @@ protected:
     //
     // finally note that lineMin is inclusive, while lineMax is exclusive, as
     // usual
-    virtual void OnGetLinesHint(size_t WXUNUSED(lineMin),
-                                size_t WXUNUSED(lineMax)) const { }
+    wxDEPRECATED_BUT_USED_INTERNALLY( virtual void OnGetLinesHint(
+        size_t lineMin, size_t lineMax) const );
 
     // forwards the calls from base class pure virtual function to pure virtual
     // OnGetLinesHint instead (backwards compatible name)
-    void OnGetRowsHeightHint(size_t rowMin, size_t rowMax) const
-        { OnGetLinesHint(rowMin, rowMax); }
-
-
-    // get the total height of the lines between lineMin (inclusive) and
-    // lineMax (exclusive)
-    wxCoord GetLinesHeight(size_t lineMin, size_t lineMax) const
-        { return GetRowsHeight(lineMin, lineMax); }
+    void OnGetRowsHeightHint(size_t rowMin, size_t rowMax) const;
 };
 
 #else // !WXWIN_COMPATIBILITY_2_8
@@ -692,7 +680,7 @@ public:                                                                       \
 // wxScrolledWindow features however, notably it can't scroll only a rectangle
 // of the window and not its entire client area.
 
-class WXDLLEXPORT wxVScrolledWindow : public wxPanel,
+class WXDLLIMPEXP_CORE wxVScrolledWindow : public wxPanel,
                                       public wxVarVScrollLegacyAdaptor
 {
 public:
@@ -748,7 +736,7 @@ protected:
 #endif // __WXMAC__
 
 private:
-    DECLARE_NO_COPY_CLASS(wxVScrolledWindow)
+    wxDECLARE_NO_COPY_CLASS(wxVScrolledWindow);
     DECLARE_ABSTRACT_CLASS(wxVScrolledWindow)
 };
 
@@ -768,7 +756,7 @@ private:
 // wxScrolledWindow features however, notably it can't scroll only a rectangle
 // of the window and not its entire client area.
 
-class WXDLLEXPORT wxHScrolledWindow : public wxPanel,
+class WXDLLIMPEXP_CORE wxHScrolledWindow : public wxPanel,
                                       public wxVarHScrollHelper
 {
 public:
@@ -815,7 +803,7 @@ protected:
 #endif // __WXMAC__
 
 private:
-    DECLARE_NO_COPY_CLASS(wxHScrolledWindow)
+    wxDECLARE_NO_COPY_CLASS(wxHScrolledWindow);
     DECLARE_ABSTRACT_CLASS(wxHScrolledWindow)
 };
 
@@ -829,7 +817,7 @@ private:
 // scrolled windows automatically handling everything needed to scroll both
 // axis simultaneously.
 
-class WXDLLEXPORT wxHVScrolledWindow : public wxPanel,
+class WXDLLIMPEXP_CORE wxHVScrolledWindow : public wxPanel,
                                        public wxVarHVScrollHelper
 {
 public:
@@ -852,7 +840,7 @@ public:
                        long style = 0,
                        const wxString& name = wxPanelNameStr)
         : wxPanel(),
-          wxVarHVScrollHelper(this) 
+          wxVarHVScrollHelper(this)
     {
         (void)Create(parent, id, pos, size, style, name);
     }
@@ -880,7 +868,7 @@ protected:
 #endif // __WXMAC__
 
 private:
-    DECLARE_NO_COPY_CLASS(wxHVScrolledWindow)
+    wxDECLARE_NO_COPY_CLASS(wxHVScrolledWindow);
     DECLARE_ABSTRACT_CLASS(wxHVScrolledWindow)
 };