]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/utils.cpp
Fix bug with using uninitialized flags in GetParentForModalDialog().
[wxWidgets.git] / src / motif / utils.cpp
index 1f5d60838ad53510fad0e8d20c54913632548287..4a94ff07343aa981f8562ea6b1a82a5ba9fa32bd 100644 (file)
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 // 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/utils.h"
 
 #ifndef WX_PRECOMP
@@ -34,6 +30,7 @@
 
 #include "wx/apptrait.h"
 #include "wx/evtloop.h"
 
 #include "wx/apptrait.h"
 #include "wx/evtloop.h"
+#include "wx/motif/private/timer.h"
 
 #include <string.h>
 
 
 #include <string.h>
 
@@ -99,7 +96,7 @@ static void xt_notify_end_process(XtPointer data, int *WXUNUSED(fid),
     XtRemoveInput(*id);
 }
 
     XtRemoveInput(*id);
 }
 
-int wxAddProcessCallback(wxEndProcessData *proc_data, int fd)
+int wxGUIAppTraits::AddProcessCallback(wxEndProcessData *proc_data, int fd)
 {
     XtInputId id = XtAppAddInput((XtAppContext) wxTheApp->GetAppContext(),
                                  fd,
 {
     XtInputId id = XtAppAddInput((XtAppContext) wxTheApp->GetAppContext(),
                                  fd,
@@ -135,6 +132,16 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *verMaj, int *verMin) const
     return wxPORT_MOTIF;
 }
 
     return wxPORT_MOTIF;
 }
 
+wxEventLoopBase* wxGUIAppTraits::CreateEventLoop()
+{
+    return new wxEventLoop;
+}
+
+wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer* timer)
+{
+    return new wxMotifTimerImpl(timer);
+}
+
 // ----------------------------------------------------------------------------
 // display info
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // display info
 // ----------------------------------------------------------------------------
@@ -194,18 +201,6 @@ void wxDisplaySizeMM(int *width, int *height)
         *height = DisplayHeightMM(dpy, DefaultScreen (dpy));
 }
 
         *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;
 // Configurable display in wxX11 and wxMotif
 static WXDisplay *gs_currentDisplay = NULL;
 static wxString gs_displayName;
@@ -380,7 +375,6 @@ void wxAllocColor(Display *d,Colormap cmp,XColor *xc)
     }
 }
 
     }
 }
 
-#ifdef __WXDEBUG__
 wxString wxGetXEventName(XEvent& event)
 {
 #if wxUSE_NANOX
 wxString wxGetXEventName(XEvent& event)
 {
 #if wxUSE_NANOX
@@ -406,7 +400,6 @@ wxString wxGetXEventName(XEvent& event)
     return str;
 #endif
 }
     return str;
 #endif
 }
-#endif
 
 // ----------------------------------------------------------------------------
 // accelerators
 
 // ----------------------------------------------------------------------------
 // accelerators
@@ -524,6 +517,9 @@ XmString wxFindAcceleratorText (const char *s)
 // Change a widget's foreground and background colours.
 void wxDoChangeForegroundColour(WXWidget widget, wxColour& foregroundColour)
 {
 // Change a widget's foreground and background colours.
 void wxDoChangeForegroundColour(WXWidget widget, wxColour& foregroundColour)
 {
+    if (!foregroundColour.Ok())
+        return;
+
     // When should we specify the foreground, if it's calculated
     // by wxComputeColours?
     // Solution: say we start with the default (computed) foreground colour.
     // When should we specify the foreground, if it's calculated
     // by wxComputeColours?
     // Solution: say we start with the default (computed) foreground colour.
@@ -540,8 +536,11 @@ void wxDoChangeForegroundColour(WXWidget widget, wxColour& foregroundColour)
 
 void wxDoChangeBackgroundColour(WXWidget widget, const wxColour& backgroundColour, bool changeArmColour)
 {
 
 void wxDoChangeBackgroundColour(WXWidget widget, const wxColour& backgroundColour, bool changeArmColour)
 {
+    if (!backgroundColour.Ok())
+        return;
+
     wxComputeColours (XtDisplay((Widget) widget), & backgroundColour,
     wxComputeColours (XtDisplay((Widget) widget), & backgroundColour,
-        (wxColour*) NULL);
+        NULL);
 
     XtVaSetValues ((Widget) widget,
         XmNbackground, g_itemColors[wxBACK_INDEX].pixel,
 
     XtVaSetValues ((Widget) widget,
         XmNbackground, g_itemColors[wxBACK_INDEX].pixel,
@@ -584,11 +583,6 @@ wxString wxXmStringToString( const XmString& xmString )
     return wxEmptyString;
 }
 
     return wxEmptyString;
 }
 
-XmString wxStringToXmString( const wxString& str )
-{
-    return wxStringToXmString(str.mb_str());
-}
-
 XmString wxStringToXmString( const char* str )
 {
     return XmStringCreateLtoR((char *)str, XmSTRING_DEFAULT_CHARSET);
 XmString wxStringToXmString( const char* str )
 {
     return XmStringCreateLtoR((char *)str, XmSTRING_DEFAULT_CHARSET);
@@ -639,7 +633,7 @@ WXWidget wxCreateBorderWidget( WXWidget parent, long style )
                                     NULL
                                    );
     }
                                     NULL
                                    );
     }
-    else if (style & wxSUNKEN_BORDER)
+    else if ((style & wxSUNKEN_BORDER) || (style & wxBORDER_THEME))
     {
         borderWidget = XtVaCreateManagedWidget
                                    (
     {
         borderWidget = XtVaCreateManagedWidget
                                    (