X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae3c17b4013e80b99976c750c19fca47729517f6..9e9574fe45b176ee74bba8fad7574cf9906145d1:/interface/wx/vlbox.h?ds=inline diff --git a/interface/wx/vlbox.h b/interface/wx/vlbox.h index d376222010..5f965c9706 100644 --- a/interface/wx/vlbox.h +++ b/interface/wx/vlbox.h @@ -2,13 +2,11 @@ // Name: vlbox.h // 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 @@ -31,7 +29,6 @@ @library{wxcore} @category{ctrl} - @see wxSimpleHtmlListBox, wxHtmlListBox */ @@ -126,6 +123,15 @@ public: */ 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. @@ -183,60 +189,7 @@ public: 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 @@ -278,7 +231,7 @@ public: This is just a synonym for wxVScrolledWindow::SetRowCount(). */ - void SetItemCount(size_t count); + virtual void SetItemCount(size_t count); //@{ /** @@ -316,7 +269,7 @@ public: 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. @@ -324,5 +277,60 @@ public: @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; };