Add wxComboBox-compatible Popup() and Dismiss() functions in wxComboCtrl

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66397 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Jaakko Salli
2010-12-17 12:08:55 +00:00
parent 94daedc804
commit ffb9247a85
3 changed files with 46 additions and 6 deletions

View File

@@ -160,7 +160,17 @@ public:
virtual ~wxComboCtrlBase(); virtual ~wxComboCtrlBase();
// show/hide popup window // Show/hide popup window (wxComboBox-compatible methods)
virtual void Popup();
virtual void Dismiss()
{
HidePopup(true);
}
// Show/hide popup window.
// TODO: Maybe deprecate in favor of Popup()/Dismiss().
// However, these functions are still called internally
// so it is not straightforward.
virtual void ShowPopup(); virtual void ShowPopup();
virtual void HidePopup(bool generateEvent=false); virtual void HidePopup(bool generateEvent=false);

View File

@@ -389,6 +389,17 @@ public:
*/ */
virtual void Cut(); virtual void Cut();
/**
Dismisses the popup window.
Notice that calling this function will generate a
wxEVT_COMMAND_COMBOBOX_CLOSEUP event.
@since 2.9.2
*/
virtual void Dismiss();
/** /**
Enables or disables popup animation, if any, depending on the value of Enables or disables popup animation, if any, depending on the value of
the argument. the argument.
@@ -525,6 +536,8 @@ public:
@param generateEvent @param generateEvent
Set this to @true in order to generate Set this to @true in order to generate
wxEVT_COMMAND_COMBOBOX_CLOSEUP event. wxEVT_COMMAND_COMBOBOX_CLOSEUP event.
@deprecated Use Dismiss() instead.
*/ */
virtual void HidePopup(bool generateEvent=false); virtual void HidePopup(bool generateEvent=false);
@@ -561,6 +574,16 @@ public:
*/ */
virtual void Paste(); virtual void Paste();
/**
Shows the popup portion of the combo control.
Notice that calling this function will generate a
wxEVT_COMMAND_COMBOBOX_DROPDOWN event.
@since 2.9.2
*/
virtual void Popup();
/** /**
Removes the text between the two positions in the combo control text Removes the text between the two positions in the combo control text
field. field.
@@ -777,6 +800,8 @@ public:
/** /**
Show the popup. Show the popup.
@deprecated Use Popup() instead.
*/ */
virtual void ShowPopup(); virtual void ShowPopup();

View File

@@ -2078,11 +2078,7 @@ void wxComboCtrlBase::OnButtonClick()
{ {
case Hidden: case Hidden:
{ {
wxCommandEvent event(wxEVT_COMMAND_COMBOBOX_DROPDOWN, GetId()); Popup();
event.SetEventObject(this);
HandleWindowEvent(event);
ShowPopup();
break; break;
} }
@@ -2095,6 +2091,15 @@ void wxComboCtrlBase::OnButtonClick()
} }
} }
void wxComboCtrlBase::Popup()
{
wxCommandEvent event(wxEVT_COMMAND_COMBOBOX_DROPDOWN, GetId());
event.SetEventObject(this);
HandleWindowEvent(event);
ShowPopup();
}
void wxComboCtrlBase::ShowPopup() void wxComboCtrlBase::ShowPopup()
{ {
EnsurePopupControl(); EnsurePopupControl();