]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/vlbox.h
describe wxMemory* streams
[wxWidgets.git] / interface / wx / vlbox.h
index 2f7ae80506d829425421e583ae991d5cd28b24b1..8569dac0fe35cf04a9acf2b141bc7afd83eb3388 100644 (file)
@@ -30,7 +30,6 @@
 
     @library{wxcore}
     @category{ctrl}
-    <!-- @appearance{vlistbox.png} -->
 
     @see wxSimpleHtmlListBox, wxHtmlListBox
 */
@@ -125,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.
@@ -181,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).
@@ -277,7 +232,7 @@ public:
 
         This is just a synonym for wxVScrolledWindow::SetRowCount().
     */
-    void SetItemCount(size_t count);
+    virtual void SetItemCount(size_t count);
 
     //@{
     /**
@@ -323,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;
 };