]>
Commit | Line | Data |
---|---|---|
d77836e4 RR |
1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
2 | %% Name: hvscroll.tex | |
3 | %% Purpose: wxHVScrolledWindow documentation | |
4 | %% Author: Vadim Zeitlin | |
5 | %% Modified by: Brad Anderson | |
6 | %% Created: 24.01.06 | |
7 | %% RCS-ID: $Id$ | |
8 | %% Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwindows.org> | |
9 | %% License: wxWindows license | |
10 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | |
11 | ||
12 | \section{\class{wxHVScrolledWindow}}\label{wxhvscrolledwindow} | |
13 | ||
14 | This class is strongly influenced by | |
15 | \helpref{wxVScrolledWindow}{wxvscrolledwindow}. | |
16 | Like wxVScrolledWindow, this class is here to provide an easy way to implement | |
17 | variable line sizes. The difference is that wxVScrolledWindow only works with | |
18 | vertical scrolling. This class extends the behavior of wxVScrolledWindow to | |
19 | the horizontal axis in addition to the vertical axis. | |
20 | ||
21 | The scrolling is also "virtual" in the sense that row widths and column heights | |
22 | only need to be known for the rows and columns that are currently visible. | |
23 | ||
24 | Like \helpref{wxVScrolledWindow}{wxvscrolledwindow}, this is a generalization | |
25 | of the \helpref{wxScrolledWindow}{wxscrolledwindow} class which can be only | |
26 | used when all rows have a constant height and columns have a constant width. | |
27 | Like wxVScrolledWinow it lacks some of wxScrolledWindow features such as | |
28 | scrolling another window or only scrolling a rectangle of the window and not | |
29 | its entire client area. | |
30 | ||
31 | If only vertical scrolling is needed, wxVScrolledWindow is recommended | |
32 | because it is simpler to use. | |
33 | ||
34 | There is no wxHScrolledWindow but horizontal-only scrolling is implemented | |
35 | easily enough with this class. | |
36 | ||
37 | To use this class, you need to derive from it and implement both the | |
38 | \helpref{OnGetRowHeight()}{wxhvscrolledwindowongetrowheight} and the | |
39 | \helpref{OnGetColumnWidth()}{wxhvscrolledwindowongetcolumnwidth} pure virtual | |
40 | methods. You also must call | |
41 | \helpref{SetRowColumnCounts}{wxhvscrolledwindowsetrowcolumncounts} to let the | |
42 | base class know how many rows and columns it should display. After these | |
43 | requirements are met scrolling is handled entirely by wxHVScrolledWindow. You | |
44 | only need to draw the visible part of contents in your {\tt OnPaint()} method | |
45 | as usual. You should use | |
46 | \helpref{GetVisibleRowsBegin()}{wxhvscrolledwindowgetvisiblerowsbegin}, | |
47 | \helpref{GetVisibleColumnsBegin()}{wxhvscrolledwindowgetvisiblecolumnsbegin}, | |
48 | \helpref{GetVisibleRowsEnd()}{wxhvscrolledwindowgetvisiblerowsend}, and | |
49 | \helpref{GetVisibleColumnsEnd()}{wxhvscrolledwindowgetvisiblecolumnsend} to | |
50 | determine which lines to to display. If physical scrolling is enabled the | |
51 | device context origin is shifted by the scroll position (through | |
52 | {\tt PrepareDC()}), child windows are moved as the window scrolls, and the | |
53 | pixels on the screen are moved to minimize the region that requires painting. | |
54 | Physical scrolling is enabled by default. | |
55 | ||
56 | \wxheading{Derived from} | |
57 | ||
58 | \helpref{wxPanel}{wxpanel} | |
59 | ||
60 | \wxheading{Include files} | |
61 | ||
62 | <wx/vscroll.h> | |
63 | ||
64 | ||
65 | \latexignore{\rtfignore{\wxheading{Members}}} | |
66 | ||
67 | ||
68 | \membersection{wxHVScrolledWindow::wxHVScrolledWindow}\label{wxhvscrolledwindowctor} | |
69 | ||
70 | \func{}{wxHVScrolledWindow}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = wxID\_ANY}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = 0}, \param{const wxString\& }{name = wxPanelNameStr}} | |
71 | ||
72 | This is the normal constructor, no need to call Create() after using this one. | |
73 | ||
74 | Note that {\tt wxVSCROLL} and {\tt wxHSCROLL} are always automatically added to | |
75 | our style, there is no need to specify them explicitly. | |
76 | ||
77 | \func{}{wxHVScrolledWindow}{\void} | |
78 | ||
79 | Default constructor, you must call \helpref{Create()}{wxhvscrolledwindowcreate} | |
80 | later. | |
81 | ||
82 | \wxheading{Parameters} | |
83 | ||
84 | \docparam{parent}{The parent window, must not be {\tt NULL}} | |
85 | ||
86 | \docparam{id}{The identifier of this window, {\tt wxID\_ANY} by default} | |
87 | ||
88 | \docparam{pos}{The initial window position} | |
89 | ||
90 | \docparam{size}{The initial window size} | |
91 | ||
92 | \docparam{style}{The window style. There are no special style bits defined for | |
93 | this class.} | |
94 | ||
95 | \docparam{name}{The name for this window; usually not used} | |
96 | ||
97 | ||
98 | \membersection{wxHVScrolledWindow::Create}\label{wxhvscrolledwindowcreate} | |
99 | ||
100 | \func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = wxID\_ANY}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = 0}, \param{const wxString\& }{name = wxPanelNameStr}} | |
101 | ||
102 | Same as the \helpref{non default ctor}{wxhvscrolledwindowctor} but returns | |
103 | status code: {\tt true} if ok, {\tt false} if the window couldn't have been created. | |
104 | ||
105 | Just as with the ctor above, both the {\tt wxVSCROLL} and the {\tt wxHSCROLL} | |
106 | styles are always used. There is no need to specify either explicitly. | |
107 | ||
108 | \membersection{wxHVScrolledWindow::EnablePhysicalScrolling}\label{wxhvscrolledwindowenablephysicalscrolling} | |
109 | ||
110 | \func{\void}{EnablePhysicalScrolling}{\param{bool }{scrolling = true}} | |
111 | ||
112 | With physical scrolling enabled the device origin is changed properly when a | |
113 | wxDC is prepared using {\tt PrepareDC()}, children are actually moved and layed | |
114 | out according to the current scroll position, and the contents of the window | |
115 | (pixels) are actually moved to reduce the amount of redraw needed. | |
116 | ||
117 | Physical scrolling is enabled by default but can be disable or re-enabled at | |
118 | any time. An example of when you'd want to disable it would be if you have | |
119 | statically positioned graphic elements or children you do not want to move | |
120 | while the window is being scrolled. If you disable physical scrolling you must | |
121 | manually adjust positioning for items within the scrolled window yourself. | |
122 | Also note that an unprepared wxDC requires you to do the same, regardless of | |
123 | the physical scrolling state. | |
124 | ||
125 | ||
126 | \membersection{wxHVScrolledWindow::EstimateTotalHeight}\label{wxhvscrolledwindowestimatetotalheight} | |
127 | ||
128 | \constfunc{virtual wxCoord}{EstimateTotalHeight}{\void} | |
129 | ||
130 | This protected function is used internally by wxHVScrolledWindow to estimate the | |
131 | total height of the window when | |
132 | \helpref{SetRowColumnCounts}{wxhvscrolledwindowsetrowcolumncounts} | |
133 | is called. The default implementation uses the brute force approach if the | |
134 | number of the items in the control is small enough. Otherwise, it tries to find | |
135 | the average row height using some rows in the beginning, middle and the end. | |
136 | ||
137 | If it is undesirable to query all these rows (some of which might be never | |
138 | shown) just for the total height calculation, you may override the function and | |
139 | provide your own guess using a better and/or faster method. | |
140 | ||
141 | Note that although returning a totally wrong value would still work, it risks | |
142 | causing some very strange scrollbar behaviour so this function should really | |
143 | try to make the best guess possible. | |
144 | ||
145 | ||
146 | \membersection{wxHVScrolledWindow::EstimateTotalWidth}\label{wxhvscrolledwindowestimatetotalwidth} | |
147 | ||
148 | \constfunc{virtual wxCoord}{EstimateTotalWidth}{\void} | |
149 | ||
150 | This protected function is used internally by wxHVScrolledWindow to estimate the | |
151 | total width of the window when | |
152 | \helpref{SetRowColumnCounts}{wxhvscrolledwindowsetrowcolumncounts} | |
153 | is called. The default implementation uses the brute force approach if the | |
154 | number of the items in the control is small enough. Otherwise, it tries to find | |
155 | the average column width using some columns in the beginning, middle and the end. | |
156 | ||
157 | If it is undesirable to query all these columns (some of which might be never | |
158 | shown) just for the total width calculation, you may override the function and | |
159 | provide your own guess using a better and/or faster method. | |
160 | ||
161 | Note that although returning a totally wrong value would still work, it risks | |
162 | causing some very strange scrollbar behaviour so this function should really | |
163 | try to make the best guess possible. | |
164 | ||
165 | ||
166 | \membersection{wxHVScrolledWindow::GetColumnCount}\label{wxhvscrolledwindowgetcolumncount} | |
167 | ||
168 | \constfunc{wxSize}{GetColumnCount}{\void} | |
169 | ||
170 | Get the number of columns this window contains (previously set by | |
171 | \helpref{SetRowColumnCounts()}{wxhvscrolledwindowsetrowcolumncounts}) | |
172 | ||
173 | ||
174 | \membersection{wxHVScrolledWindow::GetRowCount}\label{wxhvscrolledwindowgetrowcount} | |
175 | ||
176 | \constfunc{wxSize}{GetRowCount}{\void} | |
177 | ||
178 | Get the number of rows this window contains (previously set by | |
179 | \helpref{SetRowColumnCounts()}{wxhvscrolledwindowsetrowcolumncounts}) | |
180 | ||
181 | ||
182 | \membersection{wxHVScrolledWindow::GetRowColumnCounts}\label{wxhvscrolledwindowgetrowcolumncounts} | |
183 | ||
184 | \constfunc{wxSize}{GetRowColumnCounts}{\void} | |
185 | ||
186 | Get the number of rows (X or width) and columns (Y or height) this window | |
187 | contains (previously set | |
188 | by \helpref{SetRowColumnCounts()}{wxhvscrolledwindowsetrowcolumncounts}) | |
189 | ||
190 | ||
191 | \membersection{wxHVScrolledWindow::GetVisibleBegin}\label{wxhvscrolledwindowgetvisiblebegin} | |
192 | ||
193 | \constfunc{wxPoint}{GetVisibleBegin}{\void} | |
194 | ||
195 | Returns the indicies of the first visible row (Y) and column (X). | |
196 | ||
197 | \wxheading{See also} | |
198 | ||
199 | \helpref{GetVisibleRowsBegin}{wxhvscrolledwindowgetvisiblerowsbegin}, \helpref{GetVisibleColumnsBegin}{wxhvscrolledwindowgetvisiblecolumnsbegin} | |
200 | ||
201 | ||
202 | \membersection{wxHVScrolledWindow::GetVisibleColumnsBegin}\label{wxhvscrolledwindowgetvisiblecolumnsbegin} | |
203 | ||
204 | \constfunc{size\_t}{GetVisibleColumnsBegin}{\void} | |
205 | ||
206 | Returns the index of the first currently visible column. | |
207 | ||
208 | \wxheading{See also} | |
209 | ||
210 | \helpref{GetVisibleColumnsEnd}{wxhvscrolledwindowgetvisiblecolumnsend} | |
211 | ||
212 | ||
213 | \membersection{wxHVScrolledWindow::GetVisibleColumnsEnd}\label{wxhvscrolledwindowgetvisiblecolumnsend} | |
214 | ||
215 | \constfunc{size\_t}{GetVisibleColumnsEnd}{\void} | |
216 | ||
217 | Returns the index of the first column after the currently visible page. If the | |
218 | return value is $0$ it means that no columns are currently shown (which only | |
219 | happens if the control is empty). Note that the index returned by this method | |
220 | is not always a valid index as it may be equal to | |
221 | \helpref{GetColumnCount}{wxhvscrolledwindowgetcolumncount}. | |
222 | ||
223 | \wxheading{See also} | |
224 | ||
225 | \helpref{GetVisibleColumnsBegin}{wxhvscrolledwindowgetvisiblecolumnsbegin} | |
226 | ||
227 | ||
228 | \membersection{wxHVScrolledWindow::GetVisibleEnd}\label{wxhvscrolledwindowgetvisiblebegin} | |
229 | ||
230 | \constfunc{wxPoint}{GetVisibleEnd}{\void} | |
231 | ||
232 | Returns the indicies of the row and column after the last visible row (Y) and | |
233 | last visible column (X), respectively. | |
234 | ||
235 | \wxheading{See also} | |
236 | ||
237 | \helpref{GetVisibleRowsEnd}{wxhvscrolledwindowgetvisiblerowsend}, \helpref{GetVisibleColumnsEnd}{wxhvscrolledwindowgetvisiblecolumnsend} | |
238 | ||
239 | ||
240 | \membersection{wxHVScrolledWindow::GetVisibleRowsBegin}\label{wxhvscrolledwindowgetvisiblerowsbegin} | |
241 | ||
242 | \constfunc{size\_t}{GetVisibleRowsBegin}{\void} | |
243 | ||
244 | Returns the index of the first currently visible row. | |
245 | ||
246 | \wxheading{See also} | |
247 | ||
248 | \helpref{GetVisibleRowsEnd}{wxhvscrolledwindowgetvisiblerowsend} | |
249 | ||
250 | ||
251 | \membersection{wxHVScrolledWindow::GetVisibleRowsEnd}\label{wxhvscrolledwindowgetvisiblerowsend} | |
252 | ||
253 | \constfunc{size\_t}{GetVisibleRowsEnd}{\void} | |
254 | ||
255 | Returns the index of the first row after the currently visible page. If the | |
256 | return value is $0$ it means that no rows are currently shown (which only | |
257 | happens if the control is empty). Note that the index returned by this method | |
258 | is not always a valid index as it may be equal to | |
259 | \helpref{GetRowCount}{wxhvscrolledwindowgetrowcount}. | |
260 | ||
261 | \wxheading{See also} | |
262 | ||
263 | \helpref{GetVisibleRowsBegin}{wxhvscrolledwindowgetvisiblerowsbegin} | |
264 | ||
265 | ||
266 | \membersection{wxHVScrolledWindow::HitTest}\label{wxhvscrolledwindowhittest} | |
267 | ||
268 | \constfunc{wxPoint}{HitTest}{\param{wxCoord }{x}, \param{wxCoord }{y}} | |
269 | ||
270 | \constfunc{wxPoint}{HitTest}{\param{const wxPoint\& }{pt}} | |
271 | ||
272 | Return the position (X as column, Y as row) of the cell occupying the specified | |
273 | position (in physical coordinates). A value of {\tt wxNOT\_FOUND} in either X, | |
274 | Y, or X and Y means it is outside the range availible rows and/or columns. | |
275 | ||
276 | ||
277 | \membersection{wxHVScrolledWindow::IsColumnVisible}\label{wxhvscrolledwindowiscolumnvisible} | |
278 | ||
279 | \constfunc{bool}{IsColumnVisible}{\param{size\_t}{column}} | |
280 | ||
281 | Returns {\tt true} if the given column is at least partially visible or | |
282 | {\tt false} otherwise. | |
283 | ||
284 | ||
285 | \membersection{wxHVScrolledWindow::IsRowVisible}\label{wxhvscrolledwindowisrowvisible} | |
286 | ||
287 | \constfunc{bool}{IsRowVisible}{\param{size\_t }{row}} | |
288 | ||
289 | Returns {\tt true} if the given row is at least partially visible or {\tt false} | |
290 | otherwise. | |
291 | ||
292 | ||
293 | \membersection{wxHVScrolledWindow::IsVisible}\label{wxhvscrolledwindowisvisible} | |
294 | ||
295 | \constfunc{bool}{IsVisible}{\param{size\_t }{row}, \param{size\_t}{column}} | |
296 | ||
297 | Returns {\tt true} if the given row and column are both at least partially | |
298 | visible or {\tt false} otherwise. | |
299 | ||
300 | ||
301 | \membersection{wxHVScrolledWindow::OnGetColumnWidth}\label{wxhvscrolledwindowongetcolumnwidth} | |
302 | ||
303 | \constfunc{wxCoord}{OnGetColumnWidth}{\param{size\_t }{n}} | |
304 | ||
305 | This protected pure virtual function must be overridden in the derived class | |
306 | and should return the width of the given column in pixels. | |
307 | ||
308 | \wxheading{See also} | |
309 | ||
310 | \helpref{OnGetColumnsWidthHint}{wxhvscrolledwindowongetcolumnswidthhint} | |
311 | ||
312 | ||
313 | \membersection{wxHVScrolledWindow::OnGetColumnsWidthHint}\label{wxhvscrolledwindowongetcolumnswidthhint} | |
314 | ||
315 | \constfunc{void}{OnGetColumnsWidthHint}{\param{size\_t }{columnMin}, \param{size\_t }{columnMax}} | |
316 | ||
317 | This function doesn't have to be overridden but it may be useful to do | |
318 | it if calculating the columns' heights is a relatively expensive operation | |
319 | as it gives the user code a possibility to calculate several of them at | |
320 | once. | |
321 | ||
322 | {\tt OnGetColumnsWidthHint()} is normally called just before | |
323 | \helpref{OnGetColumnWidth()}{wxhvscrolledwindowongetcolumnwidth} but you | |
324 | shouldn't rely on the latter being called for all columns in the interval | |
325 | specified here. It is also possible that OnGetColumnWidth() will be | |
326 | called for the columns outside of this interval, so this is really just a | |
327 | hint, not a promise. | |
328 | ||
329 | Finally note that {\it columnMin} is inclusive, while {\it columnMax} is exclusive, | |
330 | as usual. | |
331 | ||
332 | ||
333 | \membersection{wxHVScrolledWindow::OnGetRowHeight}\label{wxhvscrolledwindowongetrowheight} | |
334 | ||
335 | \constfunc{wxCoord}{OnGetRowHeight}{\param{size\_t }{n}} | |
336 | ||
337 | This protected pure virtual function must be overridden in the derived class | |
338 | and should return the height of the given row in pixels. | |
339 | ||
340 | \wxheading{See also} | |
341 | ||
342 | \helpref{OnGetRowsHeightHint}{wxhvscrolledwindowongetrowsheighthint} | |
343 | ||
344 | ||
345 | \membersection{wxHVScrolledWindow::OnGetRowsHeightHint}\label{wxhvscrolledwindowongetrowsheighthint} | |
346 | ||
347 | \constfunc{void}{OnGetRowsHeightHint}{\param{size\_t }{rowMin}, \param{size\_t }{rowMax}} | |
348 | ||
349 | This function doesn't have to be overridden but it may be useful to do | |
350 | it if calculating the row's heights is a relatively expensive operation | |
351 | as it gives the user code a possibility to calculate several of them at | |
352 | once. | |
353 | ||
354 | {\tt OnGetRowsHeightHint()} is normally called just before | |
355 | \helpref{OnGetRowHeight()}{wxhvscrolledwindowongetrowheight} but you | |
356 | shouldn't rely on the latter being called for all rows in the interval | |
357 | specified here. It is also possible that OnGetRowHeight() will be | |
358 | called for the rows outside of this interval, so this is really just a | |
359 | hint, not a promise. | |
360 | ||
361 | Finally note that {\it rowMin} is inclusive, while {\it rowMax} is exclusive, | |
362 | as usual. | |
363 | ||
364 | ||
365 | \membersection{wxHVScrolledWindow::RefreshColumn}\label{wxhvscrolledwindowrefreshcolumn} | |
366 | ||
367 | \func{void}{RefreshColumn}{\param{size\_t }{column}} | |
368 | ||
369 | Refreshes the specified column -- it will be redrawn during the next main loop | |
370 | iteration. | |
371 | ||
372 | ||
373 | \membersection{wxHVScrolledWindow::RefreshRow}\label{wxhvscrolledwindowrefreshrow} | |
374 | ||
375 | \func{void}{RefreshRow}{\param{size\_t }{row}} | |
376 | ||
377 | Refreshes the specified row -- it will be redrawn during the next main loop | |
378 | iteration. | |
379 | ||
380 | ||
381 | \membersection{wxHVScrolledWindow::RefreshRowColumn}\label{wxhvscrolledwindowrefreshrowcolumn} | |
382 | ||
383 | \func{void}{RefreshRowColumn}{\param{size\_t }{row}, \param{size\_t }{column}} | |
384 | ||
385 | Refreshes the specified cell -- it will be redrawn during the next main loop | |
386 | iteration. | |
387 | ||
388 | \wxheading{See also} | |
389 | ||
390 | \helpref{RefreshRowsColumns}{wxhvscrolledwindowrefreshrowscolumns} | |
391 | ||
392 | ||
393 | \membersection{wxHVScrolledWindow::RefreshColumns}\label{wxhvscrolledwindowrefreshcolumns} | |
394 | ||
395 | \func{void}{RefreshColumns}{\param{size\_ t}{fromColumn}, \param{size\_t }{toColumn}} | |
396 | ||
397 | Refreshes the columns between {\it fromColumn} and {\it toColumn} (inclusive). | |
398 | {\it fromColumn} should be less than or equal to {\it toColumn}. | |
399 | ||
400 | \wxheading{See also} | |
401 | ||
402 | \helpref{RefreshColumn}{wxhvscrolledwindowrefreshcolumn} | |
403 | ||
404 | ||
405 | \membersection{wxHVScrolledWindow::RefreshRows}\label{wxhvscrolledwindowrefreshrows} | |
406 | ||
407 | \func{void}{RefreshRows}{\param{size\_ t}{fromRow}, \param{size\_t }{toRow}} | |
408 | ||
409 | Refreshes the rows between {\it fromRow} and {\it toRow} (inclusive). | |
410 | {\it fromRow} should be less than or equal to {\it toRow}. | |
411 | ||
412 | \wxheading{See also} | |
413 | ||
414 | \helpref{RefreshRow}{wxhvscrolledwindowrefreshrow} | |
415 | ||
416 | ||
417 | \membersection{wxHVScrolledWindow::RefreshRowsColumns}\label{wxhvscrolledwindowrefreshrowscolumns} | |
418 | ||
419 | \func{void}{RefreshRowsColumns}{\param{size\_t }{fromRow}, \param{size\_t }{toRow}, \param{size\_ t}{fromColumn}, \param{size\_t }{toColumn}} | |
420 | ||
421 | Refreshes the region of cells between {\it fromRow}, {\it fromColumn} and | |
422 | {\it toRow}, {\it toColumn} (inclusive). {\it fromRow} and {\it fromColumn} | |
423 | should be less than or equal to {\it toRow} and {\it toColumn}, respectively. | |
424 | ||
425 | \wxheading{See also} | |
426 | ||
427 | \helpref{RefreshRowColumn}{wxhvscrolledwindowrefreshrowcolumn} | |
428 | ||
429 | ||
430 | \membersection{wxHVScrolledWindow::RefreshAll}\label{wxhvscrolledwindowrefreshall} | |
431 | ||
432 | \func{void}{RefreshAll}{\void} | |
433 | ||
434 | This function completely refreshes the control, recalculating the number of | |
435 | items shown on screen and repainting them. It should be called when the values | |
436 | returned by either \helpref{OnGetRowHeight}{wxhvscrolledwindowongetrowheight} or | |
437 | \helpref{OnGetColumnWidth}{wxhvscrolledwindowongetcolumnwidth} change for some | |
438 | reason and the window must be updated to reflect this. | |
439 | ||
440 | ||
441 | \membersection{wxHVScrolledWindow::ScrollColumns}\label{wxhvscrolledwindowscrollcolumns} | |
442 | ||
443 | \func{bool}{ScrollColumns}{\param{int }{columns}} | |
444 | ||
445 | Scroll by the specified number of columns which may be positive (to scroll | |
446 | right) or negative (to scroll left). | |
447 | ||
448 | Returns {\tt true} if the window was scrolled, {\tt false} otherwise (for | |
449 | example if we're trying to scroll right but we are already showing the last | |
450 | column). | |
451 | ||
452 | ||
453 | \membersection{wxHVScrolledWindow::ScrollRows}\label{wxhvscrolledwindowscrollrows} | |
454 | ||
455 | \func{bool}{ScrollRows}{\param{int }{rows}} | |
456 | ||
457 | Scroll by the specified number of rows which may be positive (to scroll | |
458 | down) or negative (to scroll up). | |
459 | ||
460 | Returns {\tt true} if the window was scrolled, {\tt false} otherwise (for | |
461 | example if we're trying to scroll down but we are already showing the last | |
462 | row). | |
463 | ||
464 | \wxheading{See also} | |
465 | ||
466 | \helpref{LineUp}{wxwindowlineup}, \helpref{LineDown}{wxwindowlinedown} | |
467 | ||
468 | ||
469 | \membersection{wxHVScrolledWindow::ScrollRowsColumns}\label{wxhvscrolledwindowscrollrowscolumns} | |
470 | ||
471 | \func{bool}{ScrollRowsColumns}{\param{int }{rows}, \param{int }{columns}} | |
472 | ||
473 | Scroll by the specified number of rows and columns which may be positive (to | |
474 | scroll down or right) or negative (to scroll up or left). | |
475 | ||
476 | Returns {\tt true} if the window was scrolled, {\tt false} otherwise (for | |
477 | example if we're trying to scroll down but we are already showing the last | |
478 | row). | |
479 | ||
480 | \wxheading{See also} | |
481 | ||
482 | \helpref{LineUp}{wxwindowlineup}, \helpref{LineDown}{wxwindowlinedown} | |
483 | ||
484 | ||
485 | \membersection{wxHVScrolledWindow::ScrollColumnPages}\label{wxhvscrolledwindowscrollcolumnpages} | |
486 | ||
487 | \func{bool}{ScrollColumnPages}{\param{int }{columnPages}} | |
488 | ||
489 | Scroll by the specified number of column pages, which may be positive (to | |
490 | scroll right) or negative (to scroll left). | |
491 | ||
492 | ||
493 | \membersection{wxHVScrolledWindow::ScrollPages}\label{wxhvscrolledwindowscrollpages} | |
494 | ||
495 | \func{bool}{ScrollPages}{\param{int }{rowPages}, \param{int }{columnPages}} | |
496 | ||
497 | Scroll by the specified number of row pages and column pages, both of which may | |
498 | be positive (to scroll down or right) or negative (to scroll up or left). | |
499 | ||
500 | \wxheading{See also} | |
501 | ||
502 | \helpref{ScrollRowsColumns}{wxhvscrolledwindowscrollrowscolumns},\\ | |
503 | \helpref{PageUp}{wxwindowpageup}, \helpref{PageDown}{wxwindowpagedown} | |
504 | ||
505 | ||
506 | \membersection{wxHVScrolledWindow::ScrollRowPages}\label{wxhvscrolledwindowscrollrowpages} | |
507 | ||
508 | \func{bool}{ScrollRowPages}{\param{int }{rowPages}} | |
509 | ||
510 | Scroll by the specified number of row pages, which may be positive (to scroll | |
511 | down) or negative (to scroll up). | |
512 | ||
513 | \wxheading{See also} | |
514 | ||
515 | \helpref{PageUp}{wxwindowpageup}, \helpref{PageDown}{wxwindowpagedown} | |
516 | ||
517 | ||
518 | \membersection{wxHVScrolledWindow::ScrollToColumn}\label{wxhvscrolledwindowscrolltocolumn} | |
519 | ||
520 | \func{bool}{ScrollToColumn}{\param{size\_t }{column}} | |
521 | ||
522 | Scroll to the specified column. The specified column will be the first visible | |
523 | column on the left side afterwards. | |
524 | ||
525 | Return {\tt true} if we scrolled the window, {\tt false} if nothing was done. | |
526 | ||
527 | ||
528 | \membersection{wxHVScrolledWindow::ScrollToRow}\label{wxhvscrolledwindowscrolltorow} | |
529 | ||
530 | \func{bool}{ScrollToRow}{\param{size\_t }{row}} | |
531 | ||
532 | Scroll to the specified row. The specified column will be the first visible row | |
533 | on the top afterwards. | |
534 | ||
535 | Return {\tt true} if we scrolled the window, {\tt false} if nothing was done. | |
536 | ||
537 | ||
538 | \membersection{wxHVScrolledWindow::ScrollToRowColumn}\label{wxhvscrolledwindowscrolltorowcolumn} | |
539 | ||
540 | \func{bool}{ScrollToRowColumn}{\param{size\_t }{row}, \param{size\_t }{column}} | |
541 | ||
542 | Scroll to the specified row and column. The cell described will be the top left | |
543 | visible cell afterwards. | |
544 | ||
545 | Return {\tt true} if we scrolled the window, {\tt false} if nothing was done. | |
546 | ||
547 | ||
548 | \membersection{wxHVScrolledWindow::SetRowColumnCounts}\label{wxhvscrolledwindowsetrowcolumncounts} | |
549 | ||
550 | \func{void}{SetLineCount}{\param{size\_t }{row}, \param{size\_t }{column}} | |
551 | ||
552 | Set the number of rows and columns the window contains. The derived class must | |
553 | provide the heights for all rows and the widths for all columns with indices up | |
554 | to the respective values given here in its | |
555 | \helpref{OnGetRowHeight()}{wxhvscrolledwindowongetrowheight} and | |
556 | \helpref{OnGetColumnWidth()}{wxhvscrolledwindowongetcolumnwidth} | |
557 | implementations. |