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,
Create(parent, id, pos, size, style, name);
}
- ~wxScrolledWindow();
+ ~wxGenericScrolledWindow();
bool Create(wxWindow *parent,
wxWindowID id,
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
// 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);
private:
DECLARE_EVENT_TABLE()
- DECLARE_ABSTRACT_CLASS(wxScrolledWindow)
+ DECLARE_ABSTRACT_CLASS(wxGenericScrolledWindow)
};
#endif
/////////////////////////////////////////////////////////////////////////////
// Name: generic/scrolwin.cpp
-// Purpose: wxScrolledWindow implementation
+// Purpose: wxGenericScrolledWindow implementation
// Author: Julian Smart
// Modified by:
// Created: 01/02/97
#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;
m_targetWindow = (wxWindow*) NULL;
}
-bool wxScrolledWindow::Create(wxWindow *parent,
+bool wxGenericScrolledWindow::Create(wxWindow *parent,
wxWindowID id,
const wxPoint& pos,
const wxSize& size,
return ok;
}
-wxScrolledWindow::~wxScrolledWindow()
+wxGenericScrolledWindow::~wxGenericScrolledWindow()
{
}
* 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 )
{
// 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;
}
// scrolling implementation itself
// ----------------------------------------------------------------------------
-void wxScrolledWindow::OnScroll(wxScrollWinEvent& event)
+void wxGenericScrolledWindow::OnScroll(wxScrollWinEvent& event)
{
int orient = event.GetOrientation();
#endif
}
-int wxScrolledWindow::CalcScrollInc(wxScrollWinEvent& event)
+int wxGenericScrolledWindow::CalcScrollInc(wxScrollWinEvent& event)
{
int pos = event.GetPosition();
int orient = event.GetOrientation();
}
// Adjust the scrollbars - new version.
-void wxScrolledWindow::AdjustScrollbars()
+void wxGenericScrolledWindow::AdjustScrollbars()
{
int w, h;
m_targetWindow->GetClientSize(&w, &h);
}
}
-// 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 );
}
#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);
}
#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;
*y_unit = m_yScrollPixelsPerLine;
}
-int wxScrolledWindow::GetScrollPageSize(int orient) const
+int wxGenericScrolledWindow::GetScrollPageSize(int orient) const
{
if ( orient == wxHORIZONTAL )
return m_xScrollLinesPerPage;
return m_yScrollLinesPerPage;
}
-void wxScrolledWindow::SetScrollPageSize(int orient, int pageSize)
+void wxGenericScrolledWindow::SetScrollPageSize(int orient, int pageSize)
{
if ( orient == wxHORIZONTAL )
m_xScrollLinesPerPage = 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;
#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;
}
// 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;
*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;
*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;
// ----------------------------------------------------------------------------
// Default OnSize resets scrollbars, if any
-void wxScrolledWindow::OnSize(wxSizeEvent& WXUNUSED(event))
+void wxGenericScrolledWindow::OnSize(wxSizeEvent& WXUNUSED(event))
{
#if wxUSE_CONSTRAINTS
if (GetAutoLayout())
// 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);
// 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)