]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/utils.cpp
Don't set cell value in wxDataViewEvent in one place only.
[wxWidgets.git] / src / motif / utils.cpp
index 1f5d60838ad53510fad0e8d20c54913632548287..ec1095d283926617aafafd72b5000c8ae1276649 100644 (file)
 // 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
@@ -34,6 +30,7 @@
 
 #include "wx/apptrait.h"
 #include "wx/evtloop.h"
+#include "wx/motif/private/timer.h"
 
 #include <string.h>
 
@@ -99,7 +96,7 @@ static void xt_notify_end_process(XtPointer data, int *WXUNUSED(fid),
     XtRemoveInput(*id);
 }
 
-int wxAddProcessCallback(wxEndProcessData *proc_data, int fd)
+int wxGUIAppTraits::AddProcessCallback(wxEndProcessData *proc_data, int fd)
 {
     XtInputId id = XtAppAddInput((XtAppContext) wxTheApp->GetAppContext(),
                                  fd,
@@ -115,14 +112,11 @@ int wxAddProcessCallback(wxEndProcessData *proc_data, int 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
 {
@@ -135,6 +129,16 @@ 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
 // ----------------------------------------------------------------------------
@@ -194,18 +198,6 @@ void wxDisplaySizeMM(int *width, int *height)
         *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;
@@ -375,12 +367,11 @@ void wxAllocColor(Display *d,Colormap cmp,XColor *xc)
 {
     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
@@ -406,7 +397,6 @@ wxString wxGetXEventName(XEvent& event)
     return str;
 #endif
 }
-#endif
 
 // ----------------------------------------------------------------------------
 // accelerators
@@ -524,6 +514,9 @@ XmString wxFindAcceleratorText (const char *s)
 // 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.
@@ -540,8 +533,11 @@ void wxDoChangeForegroundColour(WXWidget widget, wxColour& foregroundColour)
 
 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,
@@ -584,11 +580,6 @@ wxString wxXmStringToString( const XmString& xmString )
     return wxEmptyString;
 }
 
-XmString wxStringToXmString( const wxString& str )
-{
-    return wxStringToXmString(str.mb_str());
-}
-
 XmString wxStringToXmString( const char* str )
 {
     return XmStringCreateLtoR((char *)str, XmSTRING_DEFAULT_CHARSET);
@@ -639,7 +630,7 @@ WXWidget wxCreateBorderWidget( WXWidget parent, long style )
                                     NULL
                                    );
     }
-    else if (style & wxSUNKEN_BORDER)
+    else if ((style & wxSUNKEN_BORDER) || (style & wxBORDER_THEME))
     {
         borderWidget = XtVaCreateManagedWidget
                                    (