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:
@@ -42,6 +42,8 @@ bool wxStaticText::Create(wxWindow *parent, wxWindowID id,
|
||||
if( !CreateControl( parent, id, pos, size, style,
|
||||
wxDefaultValidator, name ) )
|
||||
return false;
|
||||
m_labelWidget = (WXWidget) 0;
|
||||
PreCreation();
|
||||
|
||||
Widget parentWidget = (Widget) parent->GetClientWidget();
|
||||
|
||||
@@ -61,13 +63,16 @@ bool wxStaticText::Create(wxWindow *parent, wxWindowID id,
|
||||
|
||||
m_mainWidget = borderWidget ? borderWidget : m_labelWidget;
|
||||
|
||||
AttachWidget (parent, m_mainWidget, (WXWidget) NULL,
|
||||
pos.x, pos.y, size.x, size.y);
|
||||
|
||||
ChangeBackgroundColour ();
|
||||
|
||||
SetLabel(label);
|
||||
|
||||
wxSize best = GetBestSize();
|
||||
if( size.x != -1 ) best.x = size.x;
|
||||
if( size.y != -1 ) best.y = size.y;
|
||||
|
||||
PostCreation();
|
||||
AttachWidget (parent, m_mainWidget, (WXWidget) NULL,
|
||||
pos.x, pos.y, best.x, best.y);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -108,4 +113,12 @@ void wxStaticText::DoSetLabel(const wxString& str)
|
||||
dynamic ellipsizing of the label
|
||||
*/
|
||||
|
||||
wxSize wxStaticText::DoGetBestSize() const
|
||||
{
|
||||
int w, h;
|
||||
GetTextExtent(GetLabelText(), &w, &h, NULL, NULL, NULL);
|
||||
|
||||
return wxSize(w, h);
|
||||
}
|
||||
|
||||
#endif // wxUSE_STATTEXT
|
||||
|
Reference in New Issue
Block a user