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);