X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4bb6408c2631988fab9925014c6619358bf867de..fd71308fc89eac2dd212b715eba68a993fa78f53:/src/motif/control.cpp diff --git a/src/motif/control.cpp b/src/motif/control.cpp index aa0baba9eb..4e708a5c14 100644 --- a/src/motif/control.cpp +++ b/src/motif/control.cpp @@ -14,6 +14,9 @@ #endif #include "wx/control.h" +#include "wx/utils.h" + +#include #if !USE_SHARED_LIBRARY IMPLEMENT_ABSTRACT_CLASS(wxControl, wxWindow) @@ -44,13 +47,42 @@ wxControl::~wxControl() void wxControl::SetLabel(const wxString& label) { - // TODO + if (!GetMainWidget()) + return; + + wxStripMenuCodes((char*) (const char*) label, wxBuffer); + + XmString text = XmStringCreateSimple (wxBuffer); + XtVaSetValues ((Widget) GetMainWidget(), + XmNlabelString, text, + XmNlabelType, XmSTRING, + NULL); + XmStringFree (text); } wxString wxControl::GetLabel() const { - // TODO - return wxString(""); + if (!GetMainWidget()) + return wxEmptyString; + + XmString text; + char *s; + XtVaGetValues ((Widget) GetMainWidget(), + XmNlabelString, &text, + NULL); + + if (XmStringGetLtoR (text, XmSTRING_DEFAULT_CHARSET, &s)) + { + wxString str(s); + XtFree (s); + XmStringFree(text); + return str; + } + else + { + XmStringFree(text); + return wxEmptyString; + } } void wxControl::ProcessCommand (wxCommandEvent & event)