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();
// 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 HidePopup(bool generateEvent=false);

View File

@ -389,6 +389,17 @@ public:
*/
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
the argument.
@ -525,6 +536,8 @@ public:
@param generateEvent
Set this to @true in order to generate
wxEVT_COMMAND_COMBOBOX_CLOSEUP event.
@deprecated Use Dismiss() instead.
*/
virtual void HidePopup(bool generateEvent=false);
@ -561,6 +574,16 @@ public:
*/
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
field.
@ -777,6 +800,8 @@ public:
/**
Show the popup.
@deprecated Use Popup() instead.
*/
virtual void ShowPopup();

View File

@ -2078,11 +2078,7 @@ void wxComboCtrlBase::OnButtonClick()
{
case Hidden:
{
wxCommandEvent event(wxEVT_COMMAND_COMBOBOX_DROPDOWN, GetId());
event.SetEventObject(this);
HandleWindowEvent(event);
ShowPopup();
Popup();
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()
{
EnsurePopupControl();