X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/45ff6421e6d0327584bb85aeb5bda8be48b6ca5e..c0f984728e5cac4d20f004aa962b15e9a30d91e6:/src/motif/control.cpp diff --git a/src/motif/control.cpp b/src/motif/control.cpp index 0a5e6377f1..e6d45853c9 100644 --- a/src/motif/control.cpp +++ b/src/motif/control.cpp @@ -9,7 +9,7 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "control.h" #endif @@ -27,6 +27,8 @@ #pragma message enable nosimpint #endif +#include "wx/motif/private.h" + IMPLEMENT_ABSTRACT_CLASS(wxControl, wxWindow) BEGIN_EVENT_TABLE(wxControl, wxWindow) @@ -38,10 +40,6 @@ wxControl::wxControl() m_backgroundColour = *wxWHITE; m_foregroundColour = *wxBLACK; -#if WXWIN_COMPATIBILITY - m_callback = 0; -#endif // WXWIN_COMPATIBILITY - m_inSetValue = FALSE; } @@ -62,17 +60,35 @@ bool wxControl::Create( wxWindow *parent, return ret; } +bool wxControl::CreateControl(wxWindow *parent, + wxWindowID id, + const wxPoint& pos, + const wxSize& size, + long style, + const wxValidator& validator, + const wxString& name) +{ + 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 TRUE; +} + void wxControl::SetLabel(const wxString& label) { Widget widget = (Widget) GetLabelWidget() ; if (!widget) return; - wxString buf(wxStripMenuCodes()); - wxXmString label_str(buf); + wxXmString label_str(wxStripMenuCodes(label)); XtVaSetValues (widget, - XmNlabelString, label_str, + XmNlabelString, label_str(), XmNlabelType, XmSTRING, NULL); } @@ -83,37 +99,15 @@ wxString wxControl::GetLabel() const if (!widget) return wxEmptyString; - XmString text; - char *s; + XmString text = NULL; XtVaGetValues (widget, XmNlabelString, &text, NULL); - if (XmStringGetLtoR (text, XmSTRING_DEFAULT_CHARSET, &s)) - { - wxString str(s); - XtFree (s); - XmStringFree(text); - return str; - } - else - { - // XmStringFree(text); - return wxEmptyString; - } + return wxXmStringToString( text ); } bool wxControl::ProcessCommand(wxCommandEvent & event) { -#if WXWIN_COMPATIBILITY - if ( m_callback ) - { - (void)(*m_callback)(this, event); - - return TRUE; - } - else -#endif // WXWIN_COMPATIBILITY - return GetEventHandler()->ProcessEvent(event); }