From fa3541bd156c5efaa448b7869d615588e86cd75c Mon Sep 17 00:00:00 2001 From: Julian Smart <julian@anthemion.co.uk> Date: Mon, 30 Apr 2001 12:35:54 +0000 Subject: [PATCH] Changed generic wxScrolledWindow -> wxGenericScrolledWindow git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9936 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- distrib/msw/tmake/filelist.txt | 2 +- include/wx/generic/scrolwin.h | 18 +++++---- include/wx/gtk/scrolwin.h | 2 + include/wx/gtk1/scrolwin.h | 2 + include/wx/scrolwin.h | 16 ++++++++ src/generic/scrolwin.cpp | 70 ++++++++++++++++++---------------- 6 files changed, 68 insertions(+), 42 deletions(-) diff --git a/distrib/msw/tmake/filelist.txt b/distrib/msw/tmake/filelist.txt index 88958d7bea..282da11867 100644 --- a/distrib/msw/tmake/filelist.txt +++ b/distrib/msw/tmake/filelist.txt @@ -90,7 +90,7 @@ prop.cpp G propform.cpp G proplist.cpp G sashwin.cpp G -scrolwin.cpp G R +scrolwin.cpp G splash.cpp G splitter.cpp G statline.cpp G U,R,P diff --git a/include/wx/generic/scrolwin.h b/include/wx/generic/scrolwin.h index aa4d19a3c5..1c9d92168b 100644 --- a/include/wx/generic/scrolwin.h +++ b/include/wx/generic/scrolwin.h @@ -26,17 +26,19 @@ WXDLLEXPORT_DATA(extern const wxChar*) wxPanelNameStr; // default scrolled window style +#ifndef wxScrolledWindowStyle #define wxScrolledWindowStyle (wxHSCROLL | wxVSCROLL) +#endif // ---------------------------------------------------------------------------- -// wxScrolledWindow +// wxGenericScrolledWindow // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxScrolledWindow : public wxPanel +class WXDLLEXPORT wxGenericScrolledWindow : public wxPanel { public: - wxScrolledWindow(); - wxScrolledWindow(wxWindow *parent, + wxGenericScrolledWindow(); + wxGenericScrolledWindow(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, @@ -46,7 +48,7 @@ public: Create(parent, id, pos, size, style, name); } - ~wxScrolledWindow(); + ~wxGenericScrolledWindow(); bool Create(wxWindow *parent, wxWindowID id, @@ -55,7 +57,7 @@ public: long style = wxScrolledWindowStyle, const wxString& name = wxPanelNameStr); - // Normally the wxScrolledWindow will scroll itself, but in + // Normally the wxGenericScrolledWindow will scroll itself, but in // some rare occasions you might want it to scroll another // window (e.g. a child of it in order to scroll only a portion // the area between the scrollbars (spreadsheet: only cell area @@ -115,7 +117,7 @@ public: // Override this function to draw the graphic (or just process EVT_PAINT) virtual void OnDraw(wxDC& WXUNUSED(dc)) {}; - // Override this function if you don't want to have wxScrolledWindow + // Override this function if you don't want to have wxGenericScrolledWindow // automatically change the origin according to the scroll position. virtual void PrepareDC(wxDC& dc); @@ -145,7 +147,7 @@ protected: private: DECLARE_EVENT_TABLE() - DECLARE_ABSTRACT_CLASS(wxScrolledWindow) + DECLARE_ABSTRACT_CLASS(wxGenericScrolledWindow) }; #endif diff --git a/include/wx/gtk/scrolwin.h b/include/wx/gtk/scrolwin.h index f28f92c8d3..391dadb28e 100644 --- a/include/wx/gtk/scrolwin.h +++ b/include/wx/gtk/scrolwin.h @@ -26,7 +26,9 @@ WXDLLEXPORT_DATA(extern const wxChar*) wxPanelNameStr; // default scrolled window style +#ifndef wxScrolledWindowStyle #define wxScrolledWindowStyle (wxHSCROLL | wxVSCROLL) +#endif // ---------------------------------------------------------------------------- // wxScrolledWindow diff --git a/include/wx/gtk1/scrolwin.h b/include/wx/gtk1/scrolwin.h index f28f92c8d3..391dadb28e 100644 --- a/include/wx/gtk1/scrolwin.h +++ b/include/wx/gtk1/scrolwin.h @@ -26,7 +26,9 @@ WXDLLEXPORT_DATA(extern const wxChar*) wxPanelNameStr; // default scrolled window style +#ifndef wxScrolledWindowStyle #define wxScrolledWindowStyle (wxHSCROLL | wxVSCROLL) +#endif // ---------------------------------------------------------------------------- // wxScrolledWindow diff --git a/include/wx/scrolwin.h b/include/wx/scrolwin.h index 86457a8b50..8ab4f02809 100644 --- a/include/wx/scrolwin.h +++ b/include/wx/scrolwin.h @@ -5,6 +5,22 @@ #include "wx/gtk/scrolwin.h" #else #include "wx/generic/scrolwin.h" +// For non-GTK+ platforms, always use wxGenericScrolledWindow +class WXDLLEXPORT wxScrolledWindow: public wxGenericScrolledWindow +{ +public: + DECLARE_CLASS(wxScrolledWindow) + wxScrolledWindow() {}; + wxScrolledWindow(wxWindow *parent, + wxWindowID id = -1, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxScrolledWindowStyle, + const wxString& name = wxPanelNameStr) + { + wxGenericScrolledWindow::Create(parent, id, pos, size, style, name); + } +}; #endif #endif diff --git a/src/generic/scrolwin.cpp b/src/generic/scrolwin.cpp index f561950be3..858a4262e2 100644 --- a/src/generic/scrolwin.cpp +++ b/src/generic/scrolwin.cpp @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// // Name: generic/scrolwin.cpp -// Purpose: wxScrolledWindow implementation +// Purpose: wxGenericScrolledWindow implementation // Author: Julian Smart // Modified by: // Created: 01/02/97 @@ -54,28 +54,32 @@ #endif #endif +#ifndef __WXGTK__ +IMPLEMENT_CLASS(wxScrolledWindow, wxGenericScrolledWindow) +#endif + // ---------------------------------------------------------------------------- // event tables // ---------------------------------------------------------------------------- -BEGIN_EVENT_TABLE(wxScrolledWindow, wxPanel) - EVT_SCROLLWIN(wxScrolledWindow::OnScroll) - EVT_SIZE(wxScrolledWindow::OnSize) - EVT_PAINT(wxScrolledWindow::OnPaint) - EVT_CHAR(wxScrolledWindow::OnChar) +BEGIN_EVENT_TABLE(wxGenericScrolledWindow, wxPanel) + EVT_SCROLLWIN(wxGenericScrolledWindow::OnScroll) + EVT_SIZE(wxGenericScrolledWindow::OnSize) + EVT_PAINT(wxGenericScrolledWindow::OnPaint) + EVT_CHAR(wxGenericScrolledWindow::OnChar) END_EVENT_TABLE() -IMPLEMENT_DYNAMIC_CLASS(wxScrolledWindow, wxPanel) +IMPLEMENT_DYNAMIC_CLASS(wxGenericScrolledWindow, wxPanel) // ============================================================================ // implementation // ============================================================================ // ---------------------------------------------------------------------------- -// wxScrolledWindow creation +// wxGenericScrolledWindow creation // ---------------------------------------------------------------------------- -wxScrolledWindow::wxScrolledWindow() +wxGenericScrolledWindow::wxGenericScrolledWindow() { m_xScrollPixelsPerLine = 0; m_yScrollPixelsPerLine = 0; @@ -92,7 +96,7 @@ wxScrolledWindow::wxScrolledWindow() m_targetWindow = (wxWindow*) NULL; } -bool wxScrolledWindow::Create(wxWindow *parent, +bool wxGenericScrolledWindow::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, @@ -124,7 +128,7 @@ bool wxScrolledWindow::Create(wxWindow *parent, return ok; } -wxScrolledWindow::~wxScrolledWindow() +wxGenericScrolledWindow::~wxGenericScrolledWindow() { } @@ -136,7 +140,7 @@ wxScrolledWindow::~wxScrolledWindow() * pixelsPerUnitX/pixelsPerUnitY: number of pixels per unit (e.g. pixels per text line) * noUnitsX/noUnitsY: : no. units per scrollbar */ -void wxScrolledWindow::SetScrollbars (int pixelsPerUnitX, int pixelsPerUnitY, +void wxGenericScrolledWindow::SetScrollbars (int pixelsPerUnitX, int pixelsPerUnitY, int noUnitsX, int noUnitsY, int xPos, int yPos, bool noRefresh ) { @@ -220,13 +224,13 @@ void wxScrolledWindow::SetScrollbars (int pixelsPerUnitX, int pixelsPerUnitY, // target window handling // ---------------------------------------------------------------------------- -void wxScrolledWindow::SetTargetWindow( wxWindow *target ) +void wxGenericScrolledWindow::SetTargetWindow( wxWindow *target ) { wxASSERT_MSG( target, wxT("target window must not be NULL") ); m_targetWindow = target; } -wxWindow *wxScrolledWindow::GetTargetWindow() +wxWindow *wxGenericScrolledWindow::GetTargetWindow() { return m_targetWindow; } @@ -235,7 +239,7 @@ wxWindow *wxScrolledWindow::GetTargetWindow() // scrolling implementation itself // ---------------------------------------------------------------------------- -void wxScrolledWindow::OnScroll(wxScrollWinEvent& event) +void wxGenericScrolledWindow::OnScroll(wxScrollWinEvent& event) { int orient = event.GetOrientation(); @@ -281,7 +285,7 @@ void wxScrolledWindow::OnScroll(wxScrollWinEvent& event) #endif } -int wxScrolledWindow::CalcScrollInc(wxScrollWinEvent& event) +int wxGenericScrolledWindow::CalcScrollInc(wxScrollWinEvent& event) { int pos = event.GetPosition(); int orient = event.GetOrientation(); @@ -377,7 +381,7 @@ int wxScrolledWindow::CalcScrollInc(wxScrollWinEvent& event) } // Adjust the scrollbars - new version. -void wxScrolledWindow::AdjustScrollbars() +void wxGenericScrolledWindow::AdjustScrollbars() { int w, h; m_targetWindow->GetClientSize(&w, &h); @@ -446,9 +450,9 @@ void wxScrolledWindow::AdjustScrollbars() } } -// Override this function if you don't want to have wxScrolledWindow +// Override this function if you don't want to have wxGenericScrolledWindow // automatically change the origin according to the scroll position. -void wxScrolledWindow::PrepareDC(wxDC& dc) +void wxGenericScrolledWindow::PrepareDC(wxDC& dc) { dc.SetDeviceOrigin( -m_xScrollPosition * m_xScrollPixelsPerLine, -m_yScrollPosition * m_yScrollPixelsPerLine ); @@ -456,13 +460,13 @@ void wxScrolledWindow::PrepareDC(wxDC& dc) } #if WXWIN_COMPATIBILITY -void wxScrolledWindow::GetScrollUnitsPerPage (int *x_page, int *y_page) const +void wxGenericScrolledWindow::GetScrollUnitsPerPage (int *x_page, int *y_page) const { *x_page = GetScrollPageSize(wxHORIZONTAL); *y_page = GetScrollPageSize(wxVERTICAL); } -void wxScrolledWindow::CalcUnscrolledPosition(int x, int y, float *xx, float *yy) const +void wxGenericScrolledWindow::CalcUnscrolledPosition(int x, int y, float *xx, float *yy) const { if ( xx ) *xx = (float)(x + m_xScrollPosition * m_xScrollPixelsPerLine); @@ -471,7 +475,7 @@ void wxScrolledWindow::CalcUnscrolledPosition(int x, int y, float *xx, float *yy } #endif // WXWIN_COMPATIBILITY -void wxScrolledWindow::GetScrollPixelsPerUnit (int *x_unit, int *y_unit) const +void wxGenericScrolledWindow::GetScrollPixelsPerUnit (int *x_unit, int *y_unit) const { if ( x_unit ) *x_unit = m_xScrollPixelsPerLine; @@ -479,7 +483,7 @@ void wxScrolledWindow::GetScrollPixelsPerUnit (int *x_unit, int *y_unit) const *y_unit = m_yScrollPixelsPerLine; } -int wxScrolledWindow::GetScrollPageSize(int orient) const +int wxGenericScrolledWindow::GetScrollPageSize(int orient) const { if ( orient == wxHORIZONTAL ) return m_xScrollLinesPerPage; @@ -487,7 +491,7 @@ int wxScrolledWindow::GetScrollPageSize(int orient) const return m_yScrollLinesPerPage; } -void wxScrolledWindow::SetScrollPageSize(int orient, int pageSize) +void wxGenericScrolledWindow::SetScrollPageSize(int orient, int pageSize) { if ( orient == wxHORIZONTAL ) m_xScrollLinesPerPage = pageSize; @@ -498,7 +502,7 @@ void wxScrolledWindow::SetScrollPageSize(int orient, int pageSize) /* * Scroll to given position (scroll position, not pixel position) */ -void wxScrolledWindow::Scroll( int x_pos, int y_pos ) +void wxGenericScrolledWindow::Scroll( int x_pos, int y_pos ) { if (!m_targetWindow) return; @@ -555,13 +559,13 @@ void wxScrolledWindow::Scroll( int x_pos, int y_pos ) #endif } -void wxScrolledWindow::EnableScrolling (bool x_scroll, bool y_scroll) +void wxGenericScrolledWindow::EnableScrolling (bool x_scroll, bool y_scroll) { m_xScrollingEnabled = x_scroll; m_yScrollingEnabled = y_scroll; } -void wxScrolledWindow::GetVirtualSize (int *x, int *y) const +void wxGenericScrolledWindow::GetVirtualSize (int *x, int *y) const { if ( x ) *x = m_xScrollPixelsPerLine * m_xScrollLines; @@ -570,7 +574,7 @@ void wxScrolledWindow::GetVirtualSize (int *x, int *y) const } // Where the current view starts from -void wxScrolledWindow::GetViewStart (int *x, int *y) const +void wxGenericScrolledWindow::GetViewStart (int *x, int *y) const { if ( x ) *x = m_xScrollPosition; @@ -578,7 +582,7 @@ void wxScrolledWindow::GetViewStart (int *x, int *y) const *y = m_yScrollPosition; } -void wxScrolledWindow::CalcScrolledPosition(int x, int y, int *xx, int *yy) const +void wxGenericScrolledWindow::CalcScrolledPosition(int x, int y, int *xx, int *yy) const { if ( xx ) *xx = x - m_xScrollPosition * m_xScrollPixelsPerLine; @@ -586,7 +590,7 @@ void wxScrolledWindow::CalcScrolledPosition(int x, int y, int *xx, int *yy) cons *yy = y - m_yScrollPosition * m_yScrollPixelsPerLine; } -void wxScrolledWindow::CalcUnscrolledPosition(int x, int y, int *xx, int *yy) const +void wxGenericScrolledWindow::CalcUnscrolledPosition(int x, int y, int *xx, int *yy) const { if ( xx ) *xx = x + m_xScrollPosition * m_xScrollPixelsPerLine; @@ -599,7 +603,7 @@ void wxScrolledWindow::CalcUnscrolledPosition(int x, int y, int *xx, int *yy) co // ---------------------------------------------------------------------------- // Default OnSize resets scrollbars, if any -void wxScrolledWindow::OnSize(wxSizeEvent& WXUNUSED(event)) +void wxGenericScrolledWindow::OnSize(wxSizeEvent& WXUNUSED(event)) { #if wxUSE_CONSTRAINTS if (GetAutoLayout()) @@ -611,7 +615,7 @@ void wxScrolledWindow::OnSize(wxSizeEvent& WXUNUSED(event)) // This calls OnDraw, having adjusted the origin according to the current // scroll position -void wxScrolledWindow::OnPaint(wxPaintEvent& WXUNUSED(event)) +void wxGenericScrolledWindow::OnPaint(wxPaintEvent& WXUNUSED(event)) { wxPaintDC dc(this); PrepareDC(dc); @@ -623,7 +627,7 @@ void wxScrolledWindow::OnPaint(wxPaintEvent& WXUNUSED(event)) // compatibility here - if we used OnKeyDown(), the programs which process // arrows themselves in their OnChar() would never get the message and like // this they always have the priority -void wxScrolledWindow::OnChar(wxKeyEvent& event) +void wxGenericScrolledWindow::OnChar(wxKeyEvent& event) { int stx, sty, // view origin szx, szy, // view size (total) -- 2.47.2