X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/34636400a0018eba4a1f63dda18cf32e944b959e..f8c4475a3e579655f6a962822824596a7a9cfb66:/include/wx/motif/private.h diff --git a/include/wx/motif/private.h b/include/wx/motif/private.h index f8dbeba90d..4660979bae 100644 --- a/include/wx/motif/private.h +++ b/include/wx/motif/private.h @@ -39,9 +39,15 @@ extern void wxDeleteWindowFromTable(Widget w); extern wxWindow *wxGetWindowFromTable(Widget w); extern bool wxAddWindowToTable(Widget w, wxWindow *win); +// ---------------------------------------------------------------------------- +// key events related functions +// ---------------------------------------------------------------------------- + extern char wxFindMnemonic(const char* s); -extern char * wxFindAccelerator (char *s); -extern XmString wxFindAcceleratorText (char *s); + +extern char * wxFindAccelerator (const char *s); +extern XmString wxFindAcceleratorText (const char *s); + extern int wxCharCodeXToWX(KeySym keySym); extern KeySym wxCharCodeWXToX(int id); @@ -72,5 +78,37 @@ extern XColor itemColors[5] ; #define wxTOPS_INDEX 3 #define wxBOTS_INDEX 4 +// ---------------------------------------------------------------------------- +// utility classes +// ---------------------------------------------------------------------------- + +// XmString made easy to use in wxWindows (and has an added benefit of +// cleaning up automatically) +class wxXmString +{ +public: + wxXmString(const wxString& str) + { + m_string = XmStringCreateLtoR((char *)str.c_str(), + XmSTRING_DEFAULT_CHARSET); + } + + ~wxXmString() { XmStringFree(m_string); } + + // semi-implicit conversion to XmString (shouldn't rely on implicit + // conversion because many of Motif functions are macros) + XmString operator()() const { return m_string; } + +private: + XmString m_string; +}; + +// ---------------------------------------------------------------------------- +// macros to avoid casting WXFOO to Foo all the time +// ---------------------------------------------------------------------------- + +// argument is of type "wxWindow *" +#define GetWidget(w) ((Widget)(w)->GetHandle()) + #endif // _WX_PRIVATE_H_