X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/34636400a0018eba4a1f63dda18cf32e944b959e..9f4de6b2cf06f53a98b28f53640f3b9ec8cf4182:/include/wx/motif/private.h diff --git a/include/wx/motif/private.h b/include/wx/motif/private.h index f8dbeba90d..ec1f7efa65 100644 --- a/include/wx/motif/private.h +++ b/include/wx/motif/private.h @@ -13,9 +13,9 @@ #define _WX_PRIVATE_H_ #include "wx/defs.h" +#include "X11/Xlib.h" -class wxMouseEvent; -class wxKeyEvent; +#include "wx/x11/privx.h" // Put any private declarations here: native Motif types may be used because // this header is included after Xm/Xm.h @@ -39,11 +39,14 @@ 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 int wxCharCodeXToWX(KeySym keySym); -extern KeySym wxCharCodeWXToX(int id); + +extern char * wxFindAccelerator (const char *s); +extern XmString wxFindAcceleratorText (const char *s); // ---------------------------------------------------------------------------- // TranslateXXXEvent() functions - translate Motif event to wxWindow one @@ -51,12 +54,6 @@ extern KeySym wxCharCodeWXToX(int id); extern bool wxTranslateMouseEvent(wxMouseEvent& wxevent, wxWindow *win, Widget widget, XEvent *xevent); extern bool wxTranslateKeyEvent(wxKeyEvent& wxevent, wxWindow *win, Widget widget, XEvent *xevent); -int wxGetBestMatchingPixel(Display *display, XColor *desiredColor, Colormap cmap); -Pixmap XCreateInsensitivePixmap( Display *display, Pixmap pixmap ); - -extern XColor g_itemColors[]; -extern int wxComputeColours (Display *display, wxColour * back, wxColour * fore); - extern void wxDoChangeForegroundColour(WXWidget widget, wxColour& foregroundColour); extern void wxDoChangeBackgroundColour(WXWidget widget, wxColour& backgroundColour, bool changeArmColour = FALSE); @@ -72,5 +69,43 @@ 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()) + +// ---------------------------------------------------------------------------- +// accessors for C modules +// ---------------------------------------------------------------------------- + +extern "C" XtAppContext wxGetAppContext(); + #endif - // _WX_PRIVATE_H_ +// _WX_PRIVATE_H_