From: Robin Dunn Date: Sat, 17 Jul 2004 23:22:26 +0000 (+0000) Subject: Use DeafultAttributes instead of hard coded defaults X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/dc5960727c6161aaf98e512e396ae1a021326de8 Use DeafultAttributes instead of hard coded defaults git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28293 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/vlbox.h b/include/wx/vlbox.h index f3ce27a421..307d807e21 100644 --- a/include/wx/vlbox.h +++ b/include/wx/vlbox.h @@ -193,6 +193,14 @@ public: { /* do nothing */ } + virtual wxVisualAttributes GetDefaultAttributes() const + { + return GetClassDefaultAttributes(GetWindowVariant()); + } + + static wxVisualAttributes + GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); + protected: // the derived class must implement this function to actually draw the item // with the given index on the provided DC diff --git a/src/generic/vlbox.cpp b/src/generic/vlbox.cpp index bb58622e9b..0a08835aa4 100644 --- a/src/generic/vlbox.cpp +++ b/src/generic/vlbox.cpp @@ -75,13 +75,9 @@ bool wxVListBox::Create(wxWindow *parent, if ( style & wxLB_MULTIPLE ) m_selStore = new wxSelectionStore; - SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_LISTBOX)); - SetForegroundColour(parent->GetForegroundColour()); - - // ensure that the font actually changes and is set. - SetFont(wxNullFont); - SetFont(parent->GetFont()); - + // make sure the native widget has the right colour since we do + // transparent drawing by default + SetBackgroundColour(GetBackgroundColour()); m_colBgSel = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT); return true; @@ -612,3 +608,16 @@ void wxVListBox::OnLeftDClick(wxMouseEvent& event) } } + +// ---------------------------------------------------------------------------- +// use the same default attributes as wxListBox +// ---------------------------------------------------------------------------- + +#include "wx/listbox.h" + +//static +wxVisualAttributes +wxVListBox::GetClassDefaultAttributes(wxWindowVariant variant) +{ + return wxListBox::GetClassDefaultAttributes(variant); +}