]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/combog.cpp
64 bit clean printing
[wxWidgets.git] / src / generic / combog.cpp
index 56af94bb206227cd4082492f5f1f65b5e6d3d83a..f2cb9abf6789915269f1095d50e8901b1087a2c5 100644 (file)
@@ -32,6 +32,7 @@
     #include "wx/combobox.h"
     #include "wx/dcclient.h"
     #include "wx/settings.h"
+    #include "wx/textctrl.h"
 #endif
 
 #include "wx/dcbuffer.h"
@@ -159,7 +160,8 @@ bool wxGenericComboCtrl::Create(wxWindow *parent,
     border = wxBORDER_NONE;
 
     Customize( wxCC_BUTTON_OUTSIDE_BORDER |
-               wxCC_NO_TEXT_AUTO_SELECT );
+               wxCC_NO_TEXT_AUTO_SELECT |
+               wxCC_BUTTON_STAYS_DOWN );
 
 #endif
 
@@ -265,7 +267,11 @@ void wxGenericComboCtrl::OnPaintEvent( wxPaintEvent& WXUNUSED(event) )
         dc.DrawRectangle(rect2);
     }
 
+#ifndef __WXMAC__  // see note in OnThemeChange
     wxColour winCol = GetBackgroundColour();
+#else
+    wxColour winCol = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
+#endif
     dc.SetBrush(winCol);
     dc.SetPen(winCol);
 
@@ -274,7 +280,7 @@ void wxGenericComboCtrl::OnPaintEvent( wxPaintEvent& WXUNUSED(event) )
 
     // clear main background
     dc.DrawRectangle(rect);
-
+    
     if ( !m_btn )
     {
         // Standard button rendering
@@ -387,6 +393,7 @@ void wxGenericComboCtrl::SetCustomPaintWidth( int width )
             tc->RemoveEventHandler(m_textEvtHandler);
             delete m_textEvtHandler;
 
+#if wxUSE_VALIDATORS
             wxValidator* pValidator = tc->GetValidator();
             if ( pValidator )
             {
@@ -395,6 +402,7 @@ void wxGenericComboCtrl::SetCustomPaintWidth( int width )
                 delete pValidator;
             }
             else
+#endif
             {
                 CreateTextCtrl( tcCreateStyle, wxDefaultValidator );
             }