// Put any private declarations here: native Motif types may be used because
// this header is included after Xm/Xm.h
+// ----------------------------------------------------------------------------
+// convenience macros
+// ----------------------------------------------------------------------------
+
+#define wxCHECK_MOTIF_VERSION( major, minor ) \
+ ( XmVersion >= (major) * 1000 + (minor) )
+
+#define wxCHECK_LESSTIF_VERSION( major, minor ) \
+ ( LesstifVersion >= (major) * 1000 + (minor) )
+
+#define wxCHECK_LESSTIF() ( defined(LesstifVersion) && LesstifVersion > 0 )
+
// ----------------------------------------------------------------------------
// common callbacks
// ----------------------------------------------------------------------------
extern void wxDoChangeBackgroundColour(WXWidget widget,
wxColour& backgroundColour,
bool changeArmColour = FALSE);
+extern void wxDoChangeFont(WXWidget widget, wxFont& font);
#define wxNO_COLORS 0x00
#define wxBACK_COLORS 0x01
// utility classes
// ----------------------------------------------------------------------------
+wxString wxXmStringToString( const XmString& xmString );
+XmString wxStringToXmString( const wxString& string );
+XmString wxStringToXmString( const char* string );
+
// XmString made easy to use in wxWindows (and has an added benefit of
// cleaning up automatically)
class wxXmString
m_string = XmStringCreateLtoR((char *)str.c_str(),
XmSTRING_DEFAULT_CHARSET);
}
-
+
+ // just to avoid calling XmStringFree()
+ wxXmString(const XmString& string) { m_string = string; }
+
~wxXmString() { XmStringFree(m_string); }
// semi-implicit conversion to XmString (shouldn't rely on implicit
// ----------------------------------------------------------------------------
int wxDoFindStringInList( Widget listWidget, const wxString& str );
-int wxDoGetSelectionInList(Widget listWidget);
+int wxDoGetSelectionInList( Widget listWidget );
+wxString wxDoGetStringInList( Widget listWidget, int n );
+wxSize wxDoGetListBoxBestSize( Widget listWidget, const wxWindow* window );
+
+wxSize wxDoGetSingleTextCtrlBestSize( Widget textWidget,
+ const wxWindow* window );
// ----------------------------------------------------------------------------
// executes one main loop iteration (implemented in src/motif/evtloop.cpp)