X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a305d600e2b4b233c9263abacc39e6da88c0171e..13e24d79876b78545ba300e6b6871bc47af60848:/src/generic/combog.cpp diff --git a/src/generic/combog.cpp b/src/generic/combog.cpp index 0987c8a856..29b9d21f96 100644 --- a/src/generic/combog.cpp +++ b/src/generic/combog.cpp @@ -65,7 +65,7 @@ #define TEXTCTRLXADJUST 0 // position adjustment for wxTextCtrl, with zero indent #define TEXTCTRLYADJUST 0 #define TEXTXADJUST 0 // how much is read-only text's x adjusted -#define DEFAULT_DROPBUTTON_WIDTH 19 +#define DEFAULT_DROPBUTTON_WIDTH 22 #else @@ -159,7 +159,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 @@ -187,8 +188,8 @@ bool wxGenericComboCtrl::Create(wxWindow *parent, // Set background SetBackgroundStyle( wxBG_STYLE_CUSTOM ); // for double-buffering - // SetBestSize should be called last - SetBestSize(size); + // SetInitialSize should be called last + SetInitialSize(size); return true; } @@ -265,7 +266,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,10 +279,12 @@ void wxGenericComboCtrl::OnPaintEvent( wxPaintEvent& WXUNUSED(event) ) // clear main background dc.DrawRectangle(rect); - + if ( !m_btn ) + { // Standard button rendering - DrawButton(dc,rectb,true); + DrawButton(dc,rectb); + } // paint required portion on the control if ( (!m_text || m_widthCustomPaint) ) @@ -385,6 +392,7 @@ void wxGenericComboCtrl::SetCustomPaintWidth( int width ) tc->RemoveEventHandler(m_textEvtHandler); delete m_textEvtHandler; +#if wxUSE_VALIDATORS wxValidator* pValidator = tc->GetValidator(); if ( pValidator ) { @@ -393,6 +401,7 @@ void wxGenericComboCtrl::SetCustomPaintWidth( int width ) delete pValidator; } else +#endif { CreateTextCtrl( tcCreateStyle, wxDefaultValidator ); }