X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/373d466f85e880baef6a13c130dc019a6b143331..5fab0c8d86f7bd7015db8d0ece8ce02ba1b602d8:/src/generic/combog.cpp diff --git a/src/generic/combog.cpp b/src/generic/combog.cpp index ad7874f22c..7f354a8f3c 100644 --- a/src/generic/combog.cpp +++ b/src/generic/combog.cpp @@ -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" @@ -65,7 +66,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 +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 @@ -235,7 +237,7 @@ void wxGenericComboCtrl::OnPaintEvent( wxPaintEvent& WXUNUSED(event) ) // Set border colour wxPen pen1( wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT), customBorder, - wxSOLID ); + wxPENSTYLE_SOLID); dc.SetPen( pen1 ); // area around both controls @@ -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 ); } @@ -422,7 +430,8 @@ bool wxGenericComboCtrl::IsKeyPopupToggle(const wxKeyEvent& event) const } else { - if ( keycode == WXK_DOWN && event.AltDown() ) + if ( (keycode == WXK_DOWN && event.AltDown()) || + (keycode == WXK_F4) ) return true; }