X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0b49ccf8d66e2568e2b0de85c25b406aad39f3b1..c50a4038e3c3a13e3d493c432017d371d4916ce6:/include/wx/vscroll.h diff --git a/include/wx/vscroll.h b/include/wx/vscroll.h index 8ba386cc2f..6ea2b08393 100644 --- a/include/wx/vscroll.h +++ b/include/wx/vscroll.h @@ -5,13 +5,17 @@ // Modified by: // Created: 30.05.03 // RCS-ID: $Id$ -// Copyright: (c) 2003 Vadim Zeitlin +// Copyright: (c) 2003 Vadim Zeitlin // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_VSCROLL_H_ #define _WX_VSCROLL_H_ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface "vscroll.h" +#endif + #include "wx/panel.h" // base class // ---------------------------------------------------------------------------- @@ -62,7 +66,7 @@ public: // just as with the ctor above, wxVSCROLL style is always used, there is no // need to specify it bool Create(wxWindow *parent, - wxWindowID id, + wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, @@ -93,7 +97,11 @@ public: // redraw the specified line void RefreshLine(size_t line); - // return the item at the specified (in physical coordinates) position or + // redraw all lines in the specified range (inclusive) + void RefreshLines(size_t from, size_t to); + + // return the item at the specified (in physical coordinates) position or. + // wxNOT_FOUND if none, i.e. if it is below the last item int HitTest(wxCoord x, wxCoord y) const; int HitTest(const wxPoint& pt) const { return HitTest(pt.x, pt.y); } @@ -138,7 +146,18 @@ protected: // // finally note that lineMin is inclusive, while lineMax is exclusive, as // usual - virtual void OnGetLinesHint(size_t lineMin, size_t lineMax) const { } + virtual void OnGetLinesHint(size_t WXUNUSED(lineMin), + size_t WXUNUSED(lineMax)) const { } + + // when the number of lines changes, we try to estimate the total height + // of all lines which is a rather expensive operation in terms of lines + // access, so if the user code may estimate the average height + // better/faster than we do, it should override this function to implement + // its own logic + // + // this function should return the best guess for the total height it may + // make + virtual wxCoord EstimateTotalHeight() const; // the event handlers @@ -176,6 +195,8 @@ private: DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxVScrolledWindow) + DECLARE_ABSTRACT_CLASS(wxVScrolledWindow) }; #endif // _WX_VSCROLL_H_