X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1169a91932273bc84c23ed9dbd0a2da064d59d66..d51305e81eb593bedd92cda864671e15209c268f:/include/wx/generic/scrolwin.h diff --git a/include/wx/generic/scrolwin.h b/include/wx/generic/scrolwin.h index 9ff4daa828..91c76bbbf3 100644 --- a/include/wx/generic/scrolwin.h +++ b/include/wx/generic/scrolwin.h @@ -23,7 +23,7 @@ #include "wx/window.h" #include "wx/panel.h" -WXDLLEXPORT_DATA(extern const wxChar*) wxPanelNameStr; +extern WXDLLEXPORT_DATA(const wxChar*) wxPanelNameStr; // default scrolled window style #ifndef wxScrolledWindowStyle @@ -43,13 +43,17 @@ class WXDLLEXPORT wxGenericScrolledWindow : public wxPanel, public wxScrollHelper { public: - wxGenericScrolledWindow(); + wxGenericScrolledWindow() : wxScrollHelper(this) { } wxGenericScrolledWindow(wxWindow *parent, - wxWindowID winid = -1, + wxWindowID winid = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxScrolledWindowStyle, - const wxString& name = wxPanelNameStr); + const wxString& name = wxPanelNameStr) + : wxScrollHelper(this) + { + Create(parent, winid, pos, size, style, name); + } virtual ~wxGenericScrolledWindow(); @@ -67,6 +71,17 @@ public: virtual void DoSetVirtualSize(int x, int y); + // wxWindow's GetBestVirtualSize returns the actual window size, + // whereas we want to return the virtual size + virtual wxSize GetBestVirtualSize() const; + + // Return the size best suited for the current window + // (this isn't a virtual size, this is a sensible size for the window) + virtual wxSize DoGetBestSize() const; + +#ifdef __WXMAC__ + virtual bool MacClipChildren() const { return true ; } +#endif protected: // this is needed for wxEVT_PAINT processing hack described in // wxScrollHelperEvtHandler::ProcessEvent() @@ -75,7 +90,7 @@ protected: // we need to return a special WM_GETDLGCODE value to process just the // arrows but let the other navigation characters through #ifdef __WXMSW__ - virtual long MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam); + virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam); #endif // __WXMSW__ private: