X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0148fe1e2a2ea076bcd7a647c0b7946de0e0f990..24b3cc2c9632b7c6f0f0dd8f935688bd4d5e36f0:/src/motif/control.cpp diff --git a/src/motif/control.cpp b/src/motif/control.cpp index 94f43a746b..1dc7e344c5 100644 --- a/src/motif/control.cpp +++ b/src/motif/control.cpp @@ -13,6 +13,8 @@ #pragma implementation "control.h" #endif +#include "wx/defs.h" + #include "wx/control.h" #include "wx/panel.h" #include "wx/utils.h" @@ -25,6 +27,8 @@ #pragma message enable nosimpint #endif +#include "wx/motif/private.h" + IMPLEMENT_ABSTRACT_CLASS(wxControl, wxWindow) BEGIN_EVENT_TABLE(wxControl, wxWindow) @@ -43,18 +47,7 @@ wxControl::wxControl() m_inSetValue = FALSE; } -wxControl::wxControl( wxWindow *parent, - wxWindowID id, - const wxPoint &pos, - const wxSize &size, - long style, - const wxString &name ) -{ - (void)Create(parent, id, pos, size, style, name); -} - -#if wxUSE_VALIDATORS -wxControl::wxControl( wxWindow *parent, +bool wxControl::Create( wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, @@ -62,21 +55,13 @@ wxControl::wxControl( wxWindow *parent, const wxValidator& validator, const wxString &name) { - (void)Create(parent, id, pos, size, style, name); + bool ret = wxWindow::Create(parent, id, pos, size, style, name); + +#if wxUSE_VALIDATORS SetValidator(validator); -} #endif -wxControl::~wxControl() -{ - // If we delete an item, we should initialize the parent panel, - // because it could now be invalid. - wxPanel *panel = wxDynamicCast(GetParent(), wxPanel); - if (panel) - { - if (panel->GetDefaultItem() == this) - panel->SetDefaultItem((wxButton*) NULL); - } + return ret; } void wxControl::SetLabel(const wxString& label) @@ -85,14 +70,13 @@ void wxControl::SetLabel(const wxString& label) if (!widget) return; - wxStripMenuCodes((char*) (const char*) label, wxBuffer); + wxString buf(wxStripMenuCodes(label)); + wxXmString label_str(buf); - XmString text = XmStringCreateSimple (wxBuffer); XtVaSetValues (widget, - XmNlabelString, text, + XmNlabelString, label_str(), XmNlabelType, XmSTRING, NULL); - XmStringFree (text); } wxString wxControl::GetLabel() const