]> git.saurik.com Git - wxWidgets.git/commitdiff
Refactor: move wxComboBox::MSWDoPopupOrDismiss() down to wxChoice.
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 5 Apr 2012 18:40:15 +0000 (18:40 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 5 Apr 2012 18:40:15 +0000 (18:40 +0000)
No real changes, just make this method available in wxChoice for the next
commit needs.

See #3113.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/msw/choice.h
include/wx/msw/combobox.h
src/msw/choice.cpp
src/msw/combobox.cpp

index c5cf8125bec33d370412ffa1a8c7cce81e023332..ec7d272651105ed1230d639440615db08b3533d2 100644 (file)
@@ -124,6 +124,9 @@ protected:
                            int width, int height,
                            int sizeFlags = wxSIZE_AUTO);
 
+    // Show or hide the popup part of the control.
+    void MSWDoPopupOrDismiss(bool show);
+
     // update the height of the drop down list to fit the number of items we
     // have (without changing the visible height)
     void MSWUpdateDropDownHeight();
index 4f4a99458b980d5418c4bb5bba2f3ed39b9f99c5..191ebb3f90705b27f82587efd8e7d6052d1800cb 100644 (file)
@@ -130,7 +130,6 @@ 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
index 74ec10a47b64bc9887e8ecfafe1f17ab6cdbc5de..650dff48ce37d229f95351b0822be43396b8ee7d 100644 (file)
@@ -626,6 +626,26 @@ int wxChoice::SetHeightSimpleComboBox(int nItems) const
     return EDIT_HEIGHT_FROM_CHAR_HEIGHT( cy ) * wxMin( wxMax( nItems, 3 ), 6 ) + hItem - 1;
 }
 
+// ----------------------------------------------------------------------------
+// Popup operations
+// ----------------------------------------------------------------------------
+
+void wxChoice::MSWDoPopupOrDismiss(bool show)
+{
+    wxASSERT_MSG( !HasFlag(wxCB_SIMPLE),
+                  wxT("can't popup/dismiss the list for simple combo box") );
+
+    // we *must* set focus to the combobox before showing or hiding the drop
+    // down as without this we get WM_LBUTTONDOWN messages with invalid HWND
+    // when hiding it (whether programmatically or manually) resulting in a
+    // crash when we pass them to IsDialogMessage()
+    //
+    // this can be seen in the combo page of the widgets sample under Windows 7
+    SetFocus();
+
+    ::SendMessage(GetHwnd(), CB_SHOWDROPDOWN, show, 0);
+}
+
 // ----------------------------------------------------------------------------
 // MSW message handlers
 // ----------------------------------------------------------------------------
index 1b99ac7f0f545605ed013e6df033ba0ae28628d6..9e3f75edd7a57dc7b86d78c8e14da745f403129d 100644 (file)
@@ -642,22 +642,6 @@ void wxComboBox::OnUpdateSelectAll(wxUpdateUIEvent& event)
     event.Enable(IsEditable() && !wxTextEntry::IsEmpty());
 }
 
-void wxComboBox::MSWDoPopupOrDismiss(bool show)
-{
-    wxASSERT_MSG( !HasFlag(wxCB_SIMPLE),
-                  wxT("can't popup/dismiss the list for simple combo box") );
-
-    // we *must* set focus to the combobox before showing or hiding the drop
-    // down as without this we get WM_LBUTTONDOWN messages with invalid HWND
-    // when hiding it (whether programmatically or manually) resulting in a
-    // crash when we pass them to IsDialogMessage()
-    //
-    // this can be seen in the combo page of the widgets sample under Windows 7
-    SetFocus();
-
-    ::SendMessage(GetHwnd(), CB_SHOWDROPDOWN, show, 0);
-}
-
 #if wxUSE_TOOLTIPS
 
 void wxComboBox::DoSetToolTip(wxToolTip *tip)