X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/12f5e1e78fe906050ff2fee9529476db332633f0..0c61ab6f66b526747d23b8b77d67712e070ca6d5:/interface/wx/combo.h?ds=inline diff --git a/interface/wx/combo.h b/interface/wx/combo.h index f6968fb9a1..78a3dca7fc 100644 --- a/interface/wx/combo.h +++ b/interface/wx/combo.h @@ -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. @@ -49,7 +49,7 @@ public: Preferred minimum width. @param prefHeight Preferred height. May be -1 to indicate no preference. - @param maxWidth + @param maxHeight Max height for window, as limited by screen size. @remarks This function is called each time popup is about to be shown. @@ -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} @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 @@ -584,7 +539,7 @@ public: @param text The text to insert. */ - virtual void Replace(long from, long to, const wxString& value); + virtual void Replace(long from, long to, const wxString& text); /** Sets custom dropdown button graphics. @@ -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); };