// Purpose: interface of wxVListBox
// Author: wxWidgets team
// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
@class wxVListBox
- @wxheader{vlbox.h}
wxVListBox is a wxListBox-like control with the following two main
differences from a regular wxListBox: it can have an arbitrarily huge
@library{wxcore}
@category{ctrl}
- <!-- @appearance{vlistbox.png} -->
@see wxSimpleHtmlListBox, wxHtmlListBox
*/
*/
wxPoint GetMargins() const;
+ /**
+ Returns the rectangle occupied by this item in physical coordinates.
+
+ If the item is not currently visible, returns an empty rectangle.
+
+ @since 2.9.0
+ */
+ wxRect GetItemRect(size_t item) const;
+
/**
Returns the index of the next selected item or @c wxNOT_FOUND if there
are no more.
bool IsSelected(size_t item) const;
/**
- This method is used to draw the items background and, maybe, a border
- around it.
-
- The base class version implements a reasonable default behaviour which
- consists in drawing the selected item with the standard background
- colour and drawing a border around the item if it is either selected or
- current.
-
- @todo Change this function signature to non-const.
- */
- void OnDrawBackground(wxDC& dc, const wxRect& rect, size_t n) const;
-
- /**
- The derived class must implement this function to actually draw the
- item with the given index on the provided DC.
-
- @param dc
- The device context to use for drawing.
- @param rect
- The bounding rectangle for the item being drawn (DC clipping
- region is set to this rectangle before calling this function).
- @param n
- The index of the item to be drawn.
-
- @todo Change this function signature to non-const.
- */
- virtual void OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const;
-
- /**
- This method may be used to draw separators between the lines. The
- rectangle passed to it may be modified, typically to deflate it a bit
- before passing to OnDrawItem().
-
- The base class version of this method doesn't do anything.
-
- @param dc
- The device context to use for drawing.
- @param rect
- The bounding rectangle for the item.
- @param n
- The index of the item.
-
- @todo Change this function signature to non-const.
- */
- virtual void OnDrawSeparator(wxDC& dc, wxRect& rect, size_t n) const;
-
- /**
- The derived class must implement this method to return the height of
- the specified item (in pixels).
- */
- virtual wxCoord OnMeasureItem(size_t n) const;
-
- /**
- Selects or deselects the specified item which must be valid (i.e. not
+ Selects or deselects the specified item which must be valid (i.e.\ not
equal to @c wxNOT_FOUND).
@return @true if the items selection status has changed or @false
This is just a synonym for wxVScrolledWindow::SetRowCount().
*/
- void SetItemCount(size_t count);
+ virtual void SetItemCount(size_t count);
//@{
/**
void SetSelectionBackground(const wxColour& col);
/**
- Toggles the state of the specified @a item, i.e. selects it if it was
+ Toggles the state of the specified @a item, i.e.\ selects it if it was
unselected and deselects it if it was selected.
This method is only valid for multi selection listboxes.
@see Select()
*/
void Toggle(size_t item);
+
+protected:
+
+ /**
+ The derived class must implement this function to actually draw the
+ item with the given index on the provided DC.
+
+ @param dc
+ The device context to use for drawing.
+ @param rect
+ The bounding rectangle for the item being drawn (DC clipping
+ region is set to this rectangle before calling this function).
+ @param n
+ The index of the item to be drawn.
+
+ @todo Change this function signature to non-const.
+ */
+ virtual void OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const = 0;
+
+ /**
+ This method is used to draw the item's background and, maybe, a border
+ around it.
+
+ The base class version implements a reasonable default behaviour which
+ consists in drawing the selected item with the standard background
+ colour and drawing a border around the item if it is either selected or
+ current.
+
+ @todo Change this function signature to non-const.
+ */
+ virtual void OnDrawBackground(wxDC& dc, const wxRect& rect, size_t n) const;
+
+ /**
+ This method may be used to draw separators between the lines. The
+ rectangle passed to it may be modified, typically to deflate it a bit
+ before passing to OnDrawItem().
+
+ The base class version of this method doesn't do anything.
+
+ @param dc
+ The device context to use for drawing.
+ @param rect
+ The bounding rectangle for the item.
+ @param n
+ The index of the item.
+
+ @todo Change this function signature to non-const.
+ */
+ virtual void OnDrawSeparator(wxDC& dc, wxRect& rect, size_t n) const;
+
+ /**
+ The derived class must implement this method to return the height of
+ the specified item (in pixels).
+ */
+ virtual wxCoord OnMeasureItem(size_t n) const = 0;
};