]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/combo.h
Added wxSizer::GetItemCount()
[wxWidgets.git] / interface / wx / combo.h
index 66e1678ba6736b9663f6821cd715dc22e96fea57..78a3dca7fc77038cb724bf3288502932ecee4ab0 100644 (file)
@@ -34,7 +34,7 @@ public:
 
         @return @true if the call succeeded, @false otherwise.
     */
-    virtual bool Create(wxWindow* parent);
+    virtual bool Create(wxWindow* parent) = 0;
 
     /**
         Utility function that hides the popup.
@@ -60,13 +60,13 @@ public:
         The derived class must implement this to return pointer to the
         associated control created in Create().
     */
-    virtual wxWindow* GetControl();
+    virtual wxWindow* GetControl() = 0;
 
     /**
         The derived class must implement this to return string representation
         of the value.
     */
-    virtual wxString GetStringValue() const;
+    virtual wxString GetStringValue() const = 0;
 
     /**
         The derived class must implement this to initialize its internal
@@ -301,7 +301,7 @@ struct wxComboCtrlFeatures
 
     @library{wxbase}
     @category{ctrl}
-    <!-- @appearance{comboctrl.png} -->
+    @appearance{comboctrl.png}
 
     @see wxComboBox, wxChoice, wxOwnerDrawnComboBox, wxComboPopup,
          wxCommandEvent
@@ -337,32 +337,19 @@ public:
 
         @see Create(), wxValidator
     */
-    wxComboCtrl(wxWindow* parent, wxWindowID id,
-                const wxString& value = "",
+    wxComboCtrl(wxWindow* parent, wxWindowID id = wxID_ANY,
+                const wxString& value = wxEmptyString,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 long style = 0,
                 const wxValidator& validator = wxDefaultValidator,
-                const wxString& name = "comboCtrl");
+                const wxString& name = wxComboBoxNameStr);
 
     /**
         Destructor, destroying the combo control.
     */
     virtual ~wxComboCtrl();
 
-    /**
-        This member function is not normally called in application code.
-        Instead, it can be implemented in a derived class to create a custom
-        popup animation.
-
-        The parameters are the same as those for DoShowPopup().
-
-        @return @true if animation finishes before the function returns,
-                @false otherwise. In the latter case you need to manually call
-                DoShowPopup() after the animation ends.
-    */
-    virtual bool AnimateShow(const wxRect& rect, int flags);
-
     /**
         Copies the selected text to the clipboard.
     */
@@ -373,51 +360,19 @@ public:
         should call or replace this function. See wxComboCtrl() for further
         details.
     */
-    bool Create(wxWindow* parent, wxWindowID id,
-                const wxString& value = "",
+    bool Create(wxWindow* parent, wxWindowID id = wxID_ANY,
+                const wxString& value = wxEmptyString,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 long style = 0,
                 const wxValidator& validator = wxDefaultValidator,
-                const wxString& name = "comboCtrl");
+                const wxString& name = wxComboBoxNameStr);
 
     /**
         Copies the selected text to the clipboard and removes the selection.
     */
     virtual void Cut();
 
-    /**
-        This member function is not normally called in application code.
-        Instead, it can be implemented in a derived class to return default
-        wxComboPopup, incase @a popup is @NULL.
-
-        @note If you have implemented OnButtonClick() to do something else than
-              show the popup, then DoSetPopupControl() must always set @a popup
-              to @NULL.
-    */
-    void DoSetPopupControl(wxComboPopup* popup);
-
-    /**
-        This member function is not normally called in application code.
-        Instead, it must be called in a derived class to make sure popup is
-        properly shown after a popup animation has finished (but only if
-        AnimateShow() did not finish the animation within its function scope).
-
-        @param rect
-            Position to show the popup window at, in screen coordinates.
-        @param flags
-            Combination of any of the following:
-            @beginTable
-            @row2col{wxComboCtrl::ShowAbove,
-                     Popup is shown above the control instead of below.}
-            @row2col{wxComboCtrl::CanDeferShow,
-                     Showing the popup can be deferred to happen sometime after
-                     ShowPopup() has finished. In this case, AnimateShow() must
-                     return false.}
-            @endTable
-    */
-    virtual void DoShowPopup(const wxRect& rect, int flags);
-
     /**
         Enables or disables popup animation, if any, depending on the value of
         the argument.
@@ -430,7 +385,7 @@ public:
 
         @return A reference to the disabled state bitmap.
     */
-    const wxBitmap GetBitmapDisabled() const;
+    const wxBitmap& GetBitmapDisabled() const;
 
     /**
         Returns button mouse hover bitmap that has been set with
@@ -438,7 +393,7 @@ public:
 
         @return A reference to the mouse hover state bitmap.
     */
-    const wxBitmap GetBitmapHover() const;
+    const wxBitmap& GetBitmapHover() const;
 
     /**
         Returns default button bitmap that has been set with
@@ -446,7 +401,7 @@ public:
 
         @return A reference to the normal state bitmap.
     */
-    const wxBitmap GetBitmapNormal() const;
+    const wxBitmap& GetBitmapNormal() const;
 
     /**
         Returns depressed button bitmap that has been set with
@@ -454,7 +409,7 @@ public:
 
         @return A reference to the depressed state bitmap.
     */
-    const wxBitmap GetBitmapPressed() const;
+    const wxBitmap& GetBitmapPressed() const;
 
     /**
         Returns current size of the dropdown button.
@@ -516,7 +471,7 @@ public:
         Returns area covered by the text field (includes everything except
         borders and the dropdown button).
     */
-    const wxRect GetTextRect() const;
+    const wxRect& GetTextRect() const;
 
     /**
         Returns text representation of the current value. For writable combo
@@ -749,5 +704,52 @@ public:
         will appear as if the focus has been lost from it.
     */
     void UseAltPopupWindow(bool enable = true);
+
+protected:
+
+    /**
+        This member function is not normally called in application code.
+        Instead, it can be implemented in a derived class to create a custom
+        popup animation.
+
+        The parameters are the same as those for DoShowPopup().
+
+        @return @true if animation finishes before the function returns,
+                @false otherwise. In the latter case you need to manually call
+                DoShowPopup() after the animation ends.
+    */
+    virtual bool AnimateShow(const wxRect& rect, int flags);
+
+    /**
+        This member function is not normally called in application code.
+        Instead, it can be implemented in a derived class to return default
+        wxComboPopup, incase @a popup is @NULL.
+
+        @note If you have implemented OnButtonClick() to do something else than
+              show the popup, then DoSetPopupControl() must always set @a popup
+              to @NULL.
+    */
+    virtual void DoSetPopupControl(wxComboPopup* popup);
+
+    /**
+        This member function is not normally called in application code.
+        Instead, it must be called in a derived class to make sure popup is
+        properly shown after a popup animation has finished (but only if
+        AnimateShow() did not finish the animation within its function scope).
+
+        @param rect
+            Position to show the popup window at, in screen coordinates.
+        @param flags
+            Combination of any of the following:
+            @beginTable
+            @row2col{wxComboCtrl::ShowAbove,
+                     Popup is shown above the control instead of below.}
+            @row2col{wxComboCtrl::CanDeferShow,
+                     Showing the popup can be deferred to happen sometime after
+                     ShowPopup() has finished. In this case, AnimateShow() must
+                     return false.}
+            @endTable
+    */
+    virtual void DoShowPopup(const wxRect& rect, int flags);
 };