X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/da494b405d0826b343ea6d249bbac27061e11d3e..8ddd9176a46065ab74d6ced1ed480e5affb4e1e2:/src/motif/control.cpp diff --git a/src/motif/control.cpp b/src/motif/control.cpp index a5a8fc3bfa..2f503b86ae 100644 --- a/src/motif/control.cpp +++ b/src/motif/control.cpp @@ -9,10 +9,13 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#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" @@ -40,11 +43,7 @@ wxControl::wxControl() m_backgroundColour = *wxWHITE; m_foregroundColour = *wxBLACK; -#if WXWIN_COMPATIBILITY - m_callback = 0; -#endif // WXWIN_COMPATIBILITY - - m_inSetValue = FALSE; + m_inSetValue = false; } bool wxControl::Create( wxWindow *parent, @@ -74,13 +73,13 @@ bool wxControl::CreateControl(wxWindow *parent, { if( !wxControlBase::CreateControl( parent, id, pos, size, style, validator, name ) ) - return FALSE; + return false; m_backgroundColour = parent->GetBackgroundColour(); m_foregroundColour = parent->GetForegroundColour(); m_font = parent->GetFont(); - return TRUE; + return true; } void wxControl::SetLabel(const wxString& label) @@ -89,8 +88,7 @@ void wxControl::SetLabel(const wxString& label) if (!widget) return; - wxString buf(wxStripMenuCodes(label)); - wxXmString label_str(buf); + wxXmString label_str(wxStripMenuCodes(label)); XtVaSetValues (widget, XmNlabelString, label_str(), @@ -104,7 +102,7 @@ wxString wxControl::GetLabel() const if (!widget) return wxEmptyString; - XmString text; + XmString text = NULL; XtVaGetValues (widget, XmNlabelString, &text, NULL); @@ -114,15 +112,18 @@ wxString wxControl::GetLabel() const bool wxControl::ProcessCommand(wxCommandEvent & event) { -#if WXWIN_COMPATIBILITY - if ( m_callback ) - { - (void)(*m_callback)(this, event); + return GetEventHandler()->ProcessEvent(event); +} + +wxSize wxControl::DoGetBestSize() const +{ + Widget w = (Widget)GetTopWidget(); - return TRUE; - } - else -#endif // WXWIN_COMPATIBILITY + // Do not return any arbitrary default value... + wxASSERT_MSG (w, wxT("DoGetBestSize called before creation")); - return GetEventHandler()->ProcessEvent(event); + XtWidgetGeometry preferred; + XtQueryGeometry (w, NULL, &preferred); + + return wxSize(preferred.width, preferred.height); }