]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/odcombo.h
remove unused wxAppTraits-related files
[wxWidgets.git] / interface / odcombo.h
index 14b85a248b412dec8da5a0cb8f917ba86f5f6e31..c4e0bc01b8b22f8720d45f9b7c655367de017601 100644 (file)
@@ -1,68 +1,89 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        odcombo.h
-// Purpose:     documentation for wxOwnerDrawnComboBox class
+// Purpose:     interface of wxOwnerDrawnComboBox
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
+
+enum wxOwnerDrawnComboBoxPaintingFlags
+{
+    /**
+        Combo control is being painted, instead of a list item.
+        Argument item may be @c wxNOT_FOUND in this case.
+    */
+    wxODCB_PAINTING_CONTROL         = 0x0001,
+
+    /**
+        An item with selection background is being painted.
+        DC text colour should already be correct.
+    */
+    wxODCB_PAINTING_SELECTED        = 0x0002
+};
+
 /**
     @class wxOwnerDrawnComboBox
     @wxheader{odcombo.h}
 
     wxOwnerDrawnComboBox is a combobox with owner-drawn list items.
-    In essence, it is a wxComboCtrl with
-    wxVListBox popup and wxControlWithItems
+    In essence, it is a wxComboCtrl with wxVListBox popup and wxControlWithItems
     interface.
 
     Implementing item drawing and measuring is similar to wxVListBox.
     Application needs to subclass wxOwnerDrawnComboBox and implement
-    wxOwnerDrawnComboBox::OnDrawItem, wxOwnerDrawnComboBox::OnMeasureItem
-    and wxOwnerDrawnComboBox::OnMeasureItemWidth.
+    OnDrawItem(), OnMeasureItem() and OnMeasureItemWidth().
 
     @beginStyleTable
-    @style{wxODCB_DCLICK_CYCLES}:
+    @style{wxODCB_DCLICK_CYCLES}
            Double-clicking cycles item if wxCB_READONLY is also used.
            Synonymous with wxCC_SPECIAL_DCLICK.
-    @style{wxODCB_STD_CONTROL_PAINT}:
+    @style{wxODCB_STD_CONTROL_PAINT}
            Control itself is not custom painted using OnDrawItem. Even if this
            style is not used, writable wxOwnerDrawnComboBox is never custom
-           painted unless SetCustomPaintWidth is called.
+           painted unless SetCustomPaintWidth() is called.
     @endStyleTable
 
-    @beginEventTable
-    @event{EVT_COMBOBOX(id, func)}:
+    @see wxComboCtrl window styles and @ref overview_windowstyles.
+
+    @beginEventTable{wxCommandEvent}
+    @event{EVT_COMBOBOX(id, func)}
            Process a wxEVT_COMMAND_COMBOBOX_SELECTED event, when an item on
-           the list is selected. Note that calling GetValue returns the new
+           the list is selected. Note that calling GetValue() returns the new
            value of selection.
     @endEventTable
 
+    @see Events emitted by wxComboCtrl.
+
     @library{wxadv}
     @category{ctrl}
     @appearance{ownerdrawncombobox.png}
 
-    @seealso
-    wxComboCtrl, wxComboBox, wxVListBox, wxCommandEvent
+    @see wxComboCtrl, wxComboBox, wxVListBox, wxCommandEvent
 */
 class wxOwnerDrawnComboBox : public wxComboCtrl
 {
 public:
+    /**
+        Default constructor.
+    */
+    wxOwnerDrawnComboBox();
+
     //@{
     /**
         Constructor, creating and showing a owner-drawn combobox.
-        
+
         @param parent
             Parent window. Must not be @NULL.
         @param id
-            Window identifier. The value wxID_ANY indicates a default value.
+            Window identifier. The value @c wxID_ANY indicates a default value.
         @param value
             Initial selection string. An empty string indicates no selection.
         @param pos
             Window position.
         @param size
-            Window size. If wxDefaultSize is specified then the window is
-        sized
-            appropriately.
+            Window size.
+            If ::wxDefaultSize is specified then the window is sized appropriately.
         @param n
             Number of strings with which to initialise the control.
         @param choices
@@ -73,16 +94,15 @@ public:
             Window validator.
         @param name
             Window name.
-        
+
         @see Create(), wxValidator
     */
-    wxOwnerDrawnComboBox();
     wxOwnerDrawnComboBox(wxWindow* parent, wxWindowID id,
                          const wxString& value = "",
                          const wxPoint& pos = wxDefaultPosition,
                          const wxSize& size = wxDefaultSize,
                          int n = 0,
-                         const wxString choices[] = NULL,
+                         const wxString[] choices = NULL,
                          long style = 0,
                          const wxValidator& validator = wxDefaultValidator,
                          const wxString& name = "comboBox");
@@ -103,10 +123,10 @@ public:
 
     //@{
     /**
-        Creates the combobox for two-step construction. Derived classes
-        should call or replace this function. See
-        wxOwnerDrawnComboBox()
-        for further details.
+        Creates the combobox for two-step construction.
+        See wxOwnerDrawnComboBox() for further details.
+
+        @remarks Derived classes should call or replace this function.
     */
     bool Create(wxWindow* parent, wxWindowID id,
                 const wxString& value = "",
@@ -129,29 +149,32 @@ public:
     /**
         Returns index to the widest item in the list.
     */
-    int GetWidestItem();
+    int GetWidestItem() const;
 
     /**
         Returns width of the widest item in the list.
     */
-    int GetWidestItemWidth();
+    int GetWidestItemWidth() 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.
-        
-        @remarks flags has the same meaning as with OnDrawItem.
+
+        @remarks flags has the same meaning as with OnDrawItem().
     */
     void OnDrawBackground(wxDC& dc, const wxRect& rect, int item,
-                          int flags);
+                          int flags) const;
 
     /**
         The derived class may implement this function to actually draw the item
-        with the given index on the provided DC. If function is not implemented,
-        the item text is simply drawn, as if the control was a normal combobox.
-        
+        with the given index on the provided DC.
+
+        If function is not implemented, the item text is simply drawn, as if the control
+        was a normal combobox.
+
         @param dc
             The device context to use for drawing
         @param rect
@@ -160,24 +183,27 @@ public:
         @param item
             The index of the item to be drawn
         @param flags
-            Combines any of the following flag values:
+            A combination of the ::wxOwnerDrawnComboBoxPaintingFlags enumeration values.
     */
     void OnDrawItem(wxDC& dc, const wxRect& rect, int item,
-                    int flags);
+                    int flags) const;
 
     /**
         The derived class may implement this method to return the height of the
         specified item (in pixels).
+
         The default implementation returns text height, as if this control was
         a normal combobox.
     */
-    wxCoord OnMeasureItem(size_t item);
+    wxCoord OnMeasureItem(size_t item) const;
 
     /**
         The derived class may implement this method to return the width of the
         specified item (in pixels). If -1 is returned, then the item text width
         is used.
+
         The default implementation returns -1.
     */
-    wxCoord OnMeasureItemWidth(size_t item);
+    wxCoord OnMeasureItemWidth(size_t item) const;
 };
+