#include </home/zeitlin/src/wx/github/interface/wx/vscroll.h>
This class provides functions wrapping the wxVarHScrollHelper and wxVarVScrollHelper classes, targeted for scrolling a window in both axis.
Since this class is also the join class of the horizontal and vertical scrolling functionality, it also addresses some wrappers that help avoid the need to specify class scope in your wxHVScrolledWindow derived class when using wxVarScrollHelperBase functionality.
Like all three of it's scroll helper base classes, this class is mostly only useful to those classes built into wxWidgets deriving from here, and this documentation is mostly only provided for referencing the functions provided by this class. You will likely want to derive your window from wxHVScrolledWindow rather than from here directly.
Public Member Functions | |
wxVarHVScrollHelper (wxWindow *winToScroll) | |
Constructor taking the target window to be scrolled by this helper class. | |
void | EnablePhysicalScrolling (bool vscrolling=true, bool hscrolling=true) |
With physical scrolling on (when this is true), the device origin is changed properly when a wxPaintDC is prepared, children are actually moved and laid out properly, and the contents of the window (pixels) are actually moved. | |
wxSize | GetRowColumnCount () const |
Returns the number of columns and rows the target window contains. | |
wxPosition | GetVisibleBegin () const |
Returns the index of the first visible column and row based on the current scroll position. | |
wxPosition | GetVisibleEnd () const |
Returns the index of the last visible column and row based on the scroll position. | |
void | SetRowColumnCount (size_t rowCount, size_t columnCount) |
Set the number of rows and columns the target window will contain. | |
bool | IsVisible (size_t row, size_t column) const |
Returns true if both the given row and column are currently visible (even if only partially visible) or false otherwise. | |
bool | IsVisible (const wxPosition &pos) const |
Returns true if both the given row and column are currently visible (even if only partially visible) or false otherwise. | |
virtual void | RefreshRowColumn (size_t row, size_t column) |
Triggers a refresh for just the area shared between the given row and column of the window if it is visible. | |
virtual void | RefreshRowColumn (const wxPosition &pos) |
Triggers a refresh for just the area shared between the given row and column of the window if it is visible. | |
virtual void | RefreshRowsColumns (size_t fromRow, size_t toRow, size_t fromColumn, size_t toColumn) |
Triggers a refresh for the visible area shared between all given rows and columns (inclusive) of the window. | |
virtual void | RefreshRowsColumns (const wxPosition &from, const wxPosition &to) |
Triggers a refresh for the visible area shared between all given rows and columns (inclusive) of the window. | |
bool | ScrollToRowColumn (size_t row, size_t column) |
Scroll to the specified row and column. | |
bool | ScrollToRowColumn (const wxPosition &pos) |
Scroll to the specified row and column. | |
wxPosition | VirtualHitTest (wxCoord x, wxCoord y) const |
Returns the virtual scroll unit under the device unit given accounting for scroll position or wxNOT_FOUND (for the row, column, or possibly both values) if none. | |
wxPosition | VirtualHitTest (const wxPoint &pos) const |
Returns the virtual scroll unit under the device unit given accounting for scroll position or wxNOT_FOUND (for the row, column, or possibly both values) if none. |
wxVarHVScrollHelper::wxVarHVScrollHelper | ( | wxWindow * | winToScroll | ) |
Constructor taking the target window to be scrolled by this helper class.
This will attach scroll event handlers to the target window to catch and handle scroll events appropriately.
void wxVarHVScrollHelper::EnablePhysicalScrolling | ( | bool | vscrolling = true , |
bool | hscrolling = true |
||
) |
With physical scrolling on (when this is true), the device origin is changed properly when a wxPaintDC is prepared, children are actually moved and laid out properly, and the contents of the window (pixels) are actually moved.
When this is false, you are responsible for repainting any invalidated areas of the window yourself to account for the new scroll position.
vscrolling | Specifies if physical scrolling should be turned on when scrolling vertically. |
hscrolling | Specifies if physical scrolling should be turned on when scrolling horizontally. |
wxSize wxVarHVScrollHelper::GetRowColumnCount | ( | ) | const |
Returns the number of columns and rows the target window contains.
wxPosition wxVarHVScrollHelper::GetVisibleBegin | ( | ) | const |
Returns the index of the first visible column and row based on the current scroll position.
Reimplemented from wxVarScrollHelperBase.
wxPosition wxVarHVScrollHelper::GetVisibleEnd | ( | ) | const |
Returns the index of the last visible column and row based on the scroll position.
This includes any partially visible columns or rows.
Reimplemented from wxVarScrollHelperBase.
bool wxVarHVScrollHelper::IsVisible | ( | size_t | row, |
size_t | column | ||
) | const |
Returns true if both the given row and column are currently visible (even if only partially visible) or false otherwise.
bool wxVarHVScrollHelper::IsVisible | ( | const wxPosition & | pos | ) | const |
Returns true if both the given row and column are currently visible (even if only partially visible) or false otherwise.
virtual void wxVarHVScrollHelper::RefreshRowColumn | ( | const wxPosition & | pos | ) | [virtual] |
Triggers a refresh for just the area shared between the given row and column of the window if it is visible.
virtual void wxVarHVScrollHelper::RefreshRowColumn | ( | size_t | row, |
size_t | column | ||
) | [virtual] |
Triggers a refresh for just the area shared between the given row and column of the window if it is visible.
virtual void wxVarHVScrollHelper::RefreshRowsColumns | ( | size_t | fromRow, |
size_t | toRow, | ||
size_t | fromColumn, | ||
size_t | toColumn | ||
) | [virtual] |
Triggers a refresh for the visible area shared between all given rows and columns (inclusive) of the window.
If the target window for both orientations is the same, the rectangle of cells is refreshed; if the target windows differ, the entire client size opposite the orientation direction is refreshed between the specified limits.
virtual void wxVarHVScrollHelper::RefreshRowsColumns | ( | const wxPosition & | from, |
const wxPosition & | to | ||
) | [virtual] |
Triggers a refresh for the visible area shared between all given rows and columns (inclusive) of the window.
If the target window for both orientations is the same, the rectangle of cells is refreshed; if the target windows differ, the entire client size opposite the orientation direction is refreshed between the specified limits.
bool wxVarHVScrollHelper::ScrollToRowColumn | ( | size_t | row, |
size_t | column | ||
) |
Scroll to the specified row and column.
It will become the first visible row and column in the window. Returns true if we scrolled the window, false if nothing was done.
bool wxVarHVScrollHelper::ScrollToRowColumn | ( | const wxPosition & | pos | ) |
Scroll to the specified row and column.
It will become the first visible row and column in the window. Returns true if we scrolled the window, false if nothing was done.
void wxVarHVScrollHelper::SetRowColumnCount | ( | size_t | rowCount, |
size_t | columnCount | ||
) |
Set the number of rows and columns the target window will contain.
The derived class must provide the sizes for all rows and columns with indices up to the ones given here in it's OnGetRowHeight() and OnGetColumnWidth() implementations, respectively.
wxPosition wxVarHVScrollHelper::VirtualHitTest | ( | const wxPoint & | pos | ) | const |
Returns the virtual scroll unit under the device unit given accounting for scroll position or wxNOT_FOUND
(for the row, column, or possibly both values) if none.
wxPosition wxVarHVScrollHelper::VirtualHitTest | ( | wxCoord | x, |
wxCoord | y | ||
) | const |
Returns the virtual scroll unit under the device unit given accounting for scroll position or wxNOT_FOUND
(for the row, column, or possibly both values) if none.