Rework wxMotif font/color inheritance so it works
like in the other ports. Avoid setting foreground/background color for windows and let the toolkit use the natural color. As an intermediate step font is still explicitly set. Handle the cases where m_foregroundColour, m_backgroundColour ir m_font are not initialized. Set default (overridable) X resources to emulate the old look. Unify wxMOTIF_NEW_FONT_HANDLING with wxMOTIF_USE_RENDER_TABLE. Minor unrelated (sizing) fixes to wxCheckListBox, wxStaticText, wxTextCtrl. Tagged with MOTIF_BEFORE_COLOUR_FONT_INHERITANCE before the changes. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -85,7 +85,8 @@ void wxTabControl::OnDraw(wxDC& dc, bool lastInRow)
|
||||
// Draw grey background
|
||||
if (m_view->GetTabStyle() & wxTAB_STYLE_COLOUR_INTERIOR)
|
||||
{
|
||||
dc.SetBrush(*m_view->GetBackgroundBrush());
|
||||
if(m_view->GetBackgroundBrush())
|
||||
dc.SetBrush(*m_view->GetBackgroundBrush());
|
||||
|
||||
// Add 1 because the pen is transparent. Under Motif, may be different.
|
||||
#ifdef __WXMOTIF__
|
||||
@@ -523,11 +524,11 @@ wxTabView::wxTabView(long style)
|
||||
m_tabViewRect.x = 300;
|
||||
m_highlightColour = *wxWHITE;
|
||||
m_shadowColour = wxColour(128, 128, 128);
|
||||
m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE);
|
||||
// m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE);
|
||||
m_textColour = *wxBLACK;
|
||||
m_highlightPen = wxWHITE_PEN;
|
||||
m_shadowPen = wxGREY_PEN;
|
||||
SetBackgroundColour(m_backgroundColour);
|
||||
// SetBackgroundColour(m_backgroundColour);
|
||||
m_tabFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
|
||||
m_tabSelectedFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
|
||||
m_window = (wxWindow *) NULL;
|
||||
@@ -797,7 +798,8 @@ void wxTabView::Draw(wxDC& dc)
|
||||
if (GetTabStyle() & wxTAB_STYLE_COLOUR_INTERIOR)
|
||||
{
|
||||
dc.SetPen(*wxTRANSPARENT_PEN);
|
||||
dc.SetBrush(*GetBackgroundBrush());
|
||||
if(GetBackgroundBrush())
|
||||
dc.SetBrush(*GetBackgroundBrush());
|
||||
|
||||
// Add 1 because the pen is transparent. Under Motif, may be different.
|
||||
dc.DrawRectangle(
|
||||
|
||||
Reference in New Issue
Block a user