X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae3c17b4013e80b99976c750c19fca47729517f6..5b88a837ba75928cd3835a6b97ae2bf5ad983a6e:/interface/wx/vlbox.h?ds=inline diff --git a/interface/wx/vlbox.h b/interface/wx/vlbox.h index d376222010..8569dac0fe 100644 --- a/interface/wx/vlbox.h +++ b/interface/wx/vlbox.h @@ -8,7 +8,6 @@ /** @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 +30,6 @@ @library{wxcore} @category{ctrl} - @see wxSimpleHtmlListBox, wxHtmlListBox */ @@ -126,6 +124,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. @@ -182,59 +189,6 @@ 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 equal to @c wxNOT_FOUND). @@ -278,7 +232,7 @@ public: This is just a synonym for wxVScrolledWindow::SetRowCount(). */ - void SetItemCount(size_t count); + virtual void SetItemCount(size_t count); //@{ /** @@ -324,5 +278,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 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. + */ + 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; };