// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
-#ifdef __VMS
-#define XtDisplay XTDISPLAY
-#endif
-
#include "wx/utils.h"
#ifndef WX_PRECOMP
#include "wx/apptrait.h"
#include "wx/evtloop.h"
+#include "wx/motif/private/timer.h"
#include <string.h>
XtRemoveInput(*id);
}
-int wxAddProcessCallback(wxEndProcessData *proc_data, int fd)
+int wxGUIAppTraits::AddProcessCallback(wxEndProcessData *proc_data, int fd)
{
XtInputId id = XtAppAddInput((XtAppContext) wxTheApp->GetAppContext(),
fd,
// ----------------------------------------------------------------------------
// Emit a beeeeeep
-#ifndef __EMX__
-// on OS/2, we use the wxBell from wxBase library (src/os2/utils.cpp)
void wxBell()
{
// Use current setting for the bell
XBell (wxGlobalDisplay(), 0);
}
-#endif
wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
{
return wxPORT_MOTIF;
}
+wxEventLoopBase* wxGUIAppTraits::CreateEventLoop()
+{
+ return new wxEventLoop;
+}
+
+wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer* timer)
+{
+ return new wxMotifTimerImpl(timer);
+}
+
// ----------------------------------------------------------------------------
// display info
// ----------------------------------------------------------------------------
*height = DisplayHeightMM(dpy, DefaultScreen (dpy));
}
-void wxClientDisplayRect(int *x, int *y, int *width, int *height)
-{
- // This is supposed to return desktop dimensions minus any window
- // manager panels, menus, taskbars, etc. If there is a way to do that
- // for this platform please fix this function, otherwise it defaults
- // to the entire desktop.
- if (x) *x = 0;
- if (y) *y = 0;
- wxDisplaySize(width, height);
-}
-
-
// Configurable display in wxX11 and wxMotif
static WXDisplay *gs_currentDisplay = NULL;
static wxString gs_displayName;
{
if (!XAllocColor(d,cmp,xc))
{
- // cout << "wxAllocColor : Warning : Can not allocate color, attempt find nearest !\n";
+ // cout << "wxAllocColor : Warning : cannot allocate color, attempt find nearest !\n";
wxAllocNearestColor(d,cmp,xc);
}
}
-#ifdef __WXDEBUG__
wxString wxGetXEventName(XEvent& event)
{
#if wxUSE_NANOX
return str;
#endif
}
-#endif
// ----------------------------------------------------------------------------
// accelerators
// Change a widget's foreground and background colours.
void wxDoChangeForegroundColour(WXWidget widget, wxColour& foregroundColour)
{
+ if (!foregroundColour.IsOk())
+ return;
+
// When should we specify the foreground, if it's calculated
// by wxComputeColours?
// Solution: say we start with the default (computed) foreground colour.
void wxDoChangeBackgroundColour(WXWidget widget, const wxColour& backgroundColour, bool changeArmColour)
{
+ if (!backgroundColour.IsOk())
+ return;
+
wxComputeColours (XtDisplay((Widget) widget), & backgroundColour,
- (wxColour*) NULL);
+ NULL);
XtVaSetValues ((Widget) widget,
XmNbackground, g_itemColors[wxBACK_INDEX].pixel,
return wxEmptyString;
}
-XmString wxStringToXmString( const wxString& str )
-{
- return wxStringToXmString(str.mb_str());
-}
-
XmString wxStringToXmString( const char* str )
{
return XmStringCreateLtoR((char *)str, XmSTRING_DEFAULT_CHARSET);
NULL
);
}
- else if (style & wxSUNKEN_BORDER)
+ else if ((style & wxSUNKEN_BORDER) || (style & wxBORDER_THEME))
{
borderWidget = XtVaCreateManagedWidget
(