X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1248b41f9f71110347659db8c54c75786eba23c6..24a39c0dd5b46ad2de22da1c21758e651a24bd9b:/src/motif/control.cpp diff --git a/src/motif/control.cpp b/src/motif/control.cpp index 11cfb4793c..3d6cdf909c 100644 --- a/src/motif/control.cpp +++ b/src/motif/control.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: control.cpp +// Name: src/motif/control.cpp // Purpose: wxControl class // Author: Julian Smart // Modified by: @@ -9,18 +9,15 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "control.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#include "wx/defs.h" - #include "wx/control.h" -#include "wx/panel.h" -#include "wx/utils.h" + +#ifndef WX_PRECOMP + #include "wx/utils.h" + #include "wx/panel.h" +#endif #ifdef __VMS__ #pragma message disable nosimpint @@ -40,10 +37,7 @@ END_EVENT_TABLE() // Item members wxControl::wxControl() { - m_backgroundColour = *wxWHITE; - m_foregroundColour = *wxBLACK; - - m_inSetValue = FALSE; + m_inSetValue = false; } bool wxControl::Create( wxWindow *parent, @@ -73,13 +67,9 @@ bool wxControl::CreateControl(wxWindow *parent, { if( !wxControlBase::CreateControl( parent, id, pos, size, style, validator, name ) ) - return FALSE; - - m_backgroundColour = parent->GetBackgroundColour(); - m_foregroundColour = parent->GetForegroundColour(); - m_font = parent->GetFont(); + return false; - return TRUE; + return true; } void wxControl::SetLabel(const wxString& label) @@ -88,7 +78,7 @@ void wxControl::SetLabel(const wxString& label) if (!widget) return; - wxXmString label_str(wxStripMenuCodes(label)); + wxXmString label_str(GetLabelText(label)); XtVaSetValues (widget, XmNlabelString, label_str(), @@ -114,3 +104,16 @@ bool wxControl::ProcessCommand(wxCommandEvent & event) { return GetEventHandler()->ProcessEvent(event); } + +wxSize wxControl::DoGetBestSize() const +{ + Widget w = (Widget)GetTopWidget(); + + // Do not return any arbitrary default value... + wxASSERT_MSG (w, wxT("DoGetBestSize called before creation")); + + XtWidgetGeometry preferred; + XtQueryGeometry (w, NULL, &preferred); + + return wxSize(preferred.width, preferred.height); +}