]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/vlbox.h
Better name for wxXmlResource::GetDirection() argument.
[wxWidgets.git] / interface / wx / vlbox.h
index 2f7ae80506d829425421e583ae991d5cd28b24b1..5f965c97063bbff59909b1f8c501e90598f405ad 100644 (file)
@@ -2,8 +2,7 @@
 // Name:        vlbox.h
 // Purpose:     interface of wxVListBox
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -30,7 +29,6 @@
 
     @library{wxcore}
     @category{ctrl}
-    <!-- @appearance{vlistbox.png} -->
 
     @see wxSimpleHtmlListBox, wxHtmlListBox
 */
@@ -125,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.
@@ -182,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
@@ -277,7 +231,7 @@ public:
 
         This is just a synonym for wxVScrolledWindow::SetRowCount().
     */
-    void SetItemCount(size_t count);
+    virtual void SetItemCount(size_t count);
 
     //@{
     /**
@@ -315,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.
@@ -323,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;
 };