]> git.saurik.com Git - wxWidgets.git/commitdiff
Add wxComboBox-compatible Popup() and Dismiss() functions in wxComboCtrl
authorJaakko Salli <jaakko.salli@dnainternet.net>
Fri, 17 Dec 2010 12:08:55 +0000 (12:08 +0000)
committerJaakko Salli <jaakko.salli@dnainternet.net>
Fri, 17 Dec 2010 12:08:55 +0000 (12:08 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66397 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/combo.h
interface/wx/combo.h
src/common/combocmn.cpp

index 6dd69ab8e0440ac06c854b985bb4e8a758fbbb49..0a9359ac36c3413a22961323f71397f36fd09e86 100644 (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);
 
index 32afe45bd5efacbfb4885dddf4bfff8ba016cf05..6574deed3400e2ac07cb24cec4b53b4efafa5413 100644 (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();
 
index 2f99796830cd1ab19dcbc167d88254a734b74219..53f8b308491a61415895236c138169a73c038a54 100644 (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();