#if defined(__WXMSW__)
#define USE_TRANSIENT_POPUP 1 // Use wxPopupWindowTransient (preferred, if it works properly on platform)
+#define TEXTCTRL_TEXT_CENTERED 0 // 1 if text in textctrl is vertically centered
//#undef wxUSE_POPUPWIN
//#define wxUSE_POPUPWIN 0
#elif defined(__WXGTK__)
#define USE_TRANSIENT_POPUP 1 // Use wxPopupWindowTransient (preferred, if it works properly on platform)
+#define TEXTCTRL_TEXT_CENTERED 1 // 1 if text in textctrl is vertically centered
#elif defined(__WXMAC__)
#define USE_TRANSIENT_POPUP 0 // Use wxPopupWindowTransient (preferred, if it works properly on platform)
+#define TEXTCTRL_TEXT_CENTERED 1 // 1 if text in textctrl is vertically centered
#else
#define USE_TRANSIENT_POPUP 0 // Use wxPopupWindowTransient (preferred, if it works properly on platform)
+#define TEXTCTRL_TEXT_CENTERED 1 // 1 if text in textctrl is vertically centered
#endif
{
if ( !(m_windowStyle & wxCB_READONLY) )
{
+ if ( m_text )
+ m_text->Destroy();
+
// wxTE_PROCESS_TAB is needed because on Windows, wxTAB_TRAVERSAL is
// not used by the wxPropertyGrid and therefore the tab is processed by
// looking at ancestors to see if they have wxTAB_TRAVERSAL. The
wxSize sz = GetClientSize();
int customBorder = m_widthCustomBorder;
+#if !TEXTCTRL_TEXT_CENTERED
if ( (m_text->GetWindowStyleFlag() & wxBORDER_MASK) == wxNO_BORDER )
{
// Centre textctrl
}
}
else
+#else
+ wxUnusedVar(textCtrlXAdjust);
+ wxUnusedVar(textCtrlYAdjust);
+#endif
{
- m_text->SetSize( m_tcArea.x,
- 0,
- sz.x - m_btnArea.x - m_widthCustomPaint - customBorder,
- sz.y );
+ // If it has border, have textctrl will the entire text field.
+ m_text->SetSize( m_tcArea.x + m_widthCustomPaint,
+ customBorder,
+ sz.x - m_btnArea.width - m_widthCustomPaint - customBorder,
+ sz.y-(customBorder*2) );
}
}