X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7e59b88579c7a1e8b4da0827be75dc5d2a84ec73..bf06fbce415a5b923de735aae3fe306619268594:/interface/wx/combo.h diff --git a/interface/wx/combo.h b/interface/wx/combo.h index 78a3dca7fc..4a67cd784d 100644 --- a/interface/wx/combo.h +++ b/interface/wx/combo.h @@ -56,6 +56,11 @@ public: */ virtual wxSize GetAdjustedSize(int minWidth, int prefHeight, int maxHeight); + /** + Returns pointer to the associated parent wxComboCtrl. + */ + wxComboCtrl* GetComboCtrl() const; + /** The derived class must implement this to return pointer to the associated control created in Create(). @@ -131,11 +136,12 @@ public: */ virtual void SetStringValue(const wxString& value); +protected: /** - Parent wxComboCtrl. This is parameter has been prepared before Init() - is called. + Parent wxComboCtrl. This member variable is prepared automatically + before Init() is called. */ - wxComboCtrl m_combo; + wxComboCtrl* m_combo; }; @@ -153,7 +159,7 @@ struct wxComboCtrlFeatures BitmapButton = 0x0002, ///< Button may be replaced with bitmap. ButtonSpacing = 0x0004, ///< Button can have spacing from the edge ///< of the control. - TextIndent = 0x0008, ///< wxComboCtrl::SetTextIndent() can be used. + TextIndent = 0x0008, ///< wxComboCtrl::SetMargins() can be used. PaintControl = 0x0010, ///< Combo control itself can be custom painted. PaintWritable = 0x0020, ///< A variable-width area in front of writable ///< combo control's textctrl can be custom @@ -264,6 +270,7 @@ struct wxComboCtrlFeatures wxListViewComboPopup* popupCtrl = new wxListViewComboPopup(); + // It is important to call SetPopupControl() as soon as possible comboCtrl->SetPopupControl(popupCtrl); // Populate using wxListView methods @@ -291,12 +298,19 @@ struct wxComboCtrlFeatures Drop button will behave more like a standard push button. @endStyleTable - @beginEventTable{wxCommandEvent} + @beginEventEmissionTable{wxCommandEvent} @event{EVT_TEXT(id, func)} Process a wxEVT_COMMAND_TEXT_UPDATED event, when the text changes. @event{EVT_TEXT_ENTER(id, func)} Process a wxEVT_COMMAND_TEXT_ENTER event, when RETURN is pressed in the combo control. + @event{EVT_COMBOBOX_DROPDOWN(id, func)} + Process a wxEVT_COMMAND_COMBOBOX_DROPDOWN event, which is generated + when the popup window is shown (drops down). + @event{EVT_COMBOBOX_CLOSEUP(id, func)} + Process a wxEVT_COMMAND_COMBOBOX_CLOSEUP event, which is generated + when the popup window of the combo control disappears (closes up). + You should avoid adding or deleting items in this event. @endEventTable @library{wxbase} @@ -325,9 +339,10 @@ public: Initial selection string. An empty string indicates no selection. @param pos Window position. + If ::wxDefaultPosition is specified then a default position is chosen. @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 style Window style. See wxComboCtrl. @param validator @@ -433,6 +448,15 @@ public: */ static int GetFeatures(); + /** + Returns the current hint string. + + See SetHint() for more information about hints. + + @since 2.9.1 + */ + virtual wxString GetHint() const; + /** Returns the insertion point for the combo control's text field. @@ -446,6 +470,19 @@ public: */ virtual long GetLastPosition() const; + /** + Returns the margins used by the control. The @c x field of the returned + point is the horizontal margin and the @c y field is the vertical one. + + @remarks If given margin cannot be accurately determined, its value + will be set to -1. + + @see SetMargins() + + @since 2.9.1 + */ + wxPoint GetMargins() const; + /** Returns current popup interface that has been set with SetPopupControl(). @@ -464,6 +501,8 @@ public: /** Returns actual indentation in pixels. + + @deprecated Use GetMargins() instead. */ wxCoord GetTextIndent() const; @@ -481,8 +520,12 @@ public: /** Dismisses the popup window. + + @param generateEvent + Set this to @true in order to generate + wxEVT_COMMAND_COMBOBOX_CLOSEUP event. */ - virtual void HidePopup(); + virtual void HidePopup(bool generateEvent=false); /** Returns @true if the popup is currently shown @@ -586,6 +629,18 @@ public: */ void SetCustomPaintWidth(int width); + /** + Sets a hint shown in an empty unfocused combo control. + + Notice that hints are known as cue banners under MSW or + placeholder strings under OS X. + + @see wxTextEntry::SetHint() + + @since 2.9.1 + */ + virtual void SetHint(const wxString& hint); + /** Sets the insertion point in the text field. @@ -599,6 +654,21 @@ public: */ virtual void SetInsertionPointEnd(); + //@{ + /** + Attempts to set the control margins. When margins are given as wxPoint, + x indicates the left and y the top margin. Use -1 to indicate that + an existing value should be used. + + @return + @true if setting of all requested margins was successful. + + @since 2.9.1 + */ + bool SetMargins(const wxPoint& pt); + bool SetMargins(wxCoord left, wxCoord top = -1); + //@} + /** Set side of the control to which the popup will align itself. Valid values are @c wxLEFT, @c wxRIGHT and 0. The default value 0 means that @@ -668,6 +738,8 @@ public: This will set the space in pixels between left edge of the control and the text, regardless whether control is read-only or not. Value -1 can be given to indicate platform default. + + @deprecated Use SetMargins() instead. */ void SetTextIndent(int indent);