Add wxComboBox::Popup() and Dismiss() to manually show or hide its popup.

Add implementations for wxMSW and wxGTK.

Closes #11506.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2010-01-24 01:00:45 +00:00
parent d21866cbd7
commit d1d1f8175d
8 changed files with 79 additions and 10 deletions

View File

@@ -47,6 +47,9 @@ public:
virtual int GetSelection() const = 0;
virtual void GetSelection(long *from, long *to) const = 0;
virtual void Popup() { wxFAIL_MSG( wxT("Not implemented") ); };
virtual void Dismiss() { wxFAIL_MSG( wxT("Not implemented") ); };
// may return value different from GetSelection() when the combobox
// dropdown is shown and the user selected, but not yet accepted, a value
// different from the old one in it

View File

@@ -88,6 +88,8 @@ public:
{
return wxItemContainer::GetStringSelection();
}
virtual void Popup();
virtual void Dismiss();
virtual void Clear()
{

View File

@@ -82,7 +82,8 @@ public:
virtual void SetValue(const wxString& value);
virtual wxString GetStringSelection() const
{ return wxChoice::GetStringSelection(); }
virtual void Popup() { MSWDoPopupOrDismiss(true); }
virtual void Dismiss() { MSWDoPopupOrDismiss(false); }
virtual void SetSelection(int n) { wxChoice::SetSelection(n); }
virtual void SetSelection(long from, long to)
{ wxTextEntry::SetSelection(from, to); }
@@ -125,6 +126,7 @@ protected:
#if wxUSE_TOOLTIPS
virtual void DoSetToolTip(wxToolTip *tip);
#endif
void MSWDoPopupOrDismiss(bool show);
// this is the implementation of GetEditHWND() which can also be used when
// we don't have the edit control, it simply returns NULL then