]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/window.cpp
Corrected some wxAccessible mistakes
[wxWidgets.git] / src / motif / window.cpp
index cc55da5b8d20f46fa4c1913a873fdff62293ef8d..2e9b48a49a0ab400e41ba02cc2af401b69071110 100644 (file)
@@ -172,11 +172,6 @@ bool wxWindow::MapOrUnmap(WXWidget widget, bool domap)
     if ( !w )
         return FALSE;
 
-    if ( domap )
-        XtMapWidget(w);
-    else
-        XtUnmapWidget(w);
-
     //   Rationale: a lot of common operations (including but not
     // limited to moving, resizing and appending items to a listbox)
     // unmamange the widget, do their work, then manage it again.
@@ -184,6 +179,19 @@ bool wxWindow::MapOrUnmap(WXWidget widget, bool domap)
     // or that most controls are shown every time they are moved or resized!
     XtSetMappedWhenManaged( w, domap );
 
+    // if the widget is not unmanaged, it still intercepts
+    // mouse events, even if it is not mapped (and hence invisible)
+    if ( domap )
+    {
+        XtManageChild(w);
+        // XtMapWidget(w);
+    }
+    else
+    {
+        XtUnmanageChild(w);
+        // XtUnmapWidget(w);
+    }
+
     return TRUE;
 }
 
@@ -269,36 +277,7 @@ bool wxWindow::Create(wxWindow *parent, wxWindowID id,
     XtAppAddActions ((XtAppContext) wxTheApp->GetAppContext(), actions, 1);
 
     Widget parentWidget = (Widget) parent->GetClientWidget();
-    
-    if (style & wxSIMPLE_BORDER)
-    {
-        m_borderWidget = (WXWidget)XtVaCreateManagedWidget
-                                   (
-                                    "canvasBorder",
-                                    xmFrameWidgetClass, parentWidget,
-                                    XmNshadowType, XmSHADOW_IN,
-                                    XmNshadowThickness, 1,
-                                    NULL
-                                   );
-    } else if (style & wxSUNKEN_BORDER)
-    {
-        m_borderWidget = (WXWidget)XtVaCreateManagedWidget
-                                   (
-                                    "canvasBorder",
-                                    xmFrameWidgetClass, parentWidget,
-                                    XmNshadowType, XmSHADOW_IN,
-                                    NULL
-                                   );
-    } else if (style & wxRAISED_BORDER)
-    {
-        m_borderWidget = (WXWidget)XtVaCreateManagedWidget
-                                   (
-                                    "canvasBorder",
-                                    xmFrameWidgetClass, parentWidget,
-                                    XmNshadowType, XmSHADOW_OUT,
-                                    NULL
-                                   );
-    }
+    m_borderWidget = wxCreateBorderWidget( (WXWidget)parentWidget, style );
 
     m_scrolledWindow = (WXWidget)XtVaCreateManagedWidget
                                  (
@@ -352,12 +331,6 @@ bool wxWindow::Create(wxWindow *parent, wxWindowID id,
     XtAddCallback ((Widget) m_drawingArea, XmNexposeCallback, (XtCallbackProc) wxCanvasRepaintProc, (XtPointer) this);
     XtAddCallback ((Widget) m_drawingArea, XmNinputCallback, (XtCallbackProc) wxCanvasInputEvent, (XtPointer) this);
 
-    // TODO?
-#if 0
-    display = XtDisplay (scrolledWindow);
-    xwindow = XtWindow (drawingArea);
-#endif // 0
-
     XtAddEventHandler(
                       (Widget)m_drawingArea,
                        PointerMotionHintMask | EnterWindowMask |
@@ -378,13 +351,6 @@ bool wxWindow::Create(wxWindow *parent, wxWindowID id,
                              (Widget) 0, (Widget) 0,
                              (Widget) m_drawingArea);
 
-#if 0
-    if (m_hScrollBar)
-        XtRealizeWidget ((Widget) m_hScrollBar);
-    if (m_vScrollBar)
-        XtRealizeWidget ((Widget) m_vScrollBar);
-#endif // 0
-
     // Without this, the cursor may not be restored properly (e.g. in splitter
     // sample).
     SetCursor(*wxSTANDARD_CURSOR);
@@ -668,8 +634,8 @@ bool wxWindow::Show(bool show)
 
     if (m_borderWidget || m_scrolledWindow)
     {
-        MapOrUnmap(m_drawingArea, show);
         MapOrUnmap(m_borderWidget ? m_borderWidget : m_scrolledWindow, show);
+        // MapOrUnmap(m_drawingArea, show);
     }
     else
     {
@@ -2329,7 +2295,7 @@ bool wxTranslateMouseEvent(wxMouseEvent& wxevent, wxWindow *win,
 
                 // check for a double click
                 //
-                long dclickTime = XtGetMultiClickTime(wxGlobalDisplay());
+                long dclickTime = XtGetMultiClickTime(xevent->xany.display);
                 long ts = wxevent.GetTimestamp();
 
                 int buttonLast = win->GetLastClickedButton();
@@ -2616,7 +2582,7 @@ wxWindow* wxFindWindowAtPointer(wxPoint& pt)
 // Get the current mouse position.
 wxPoint wxGetMousePosition()
 {
-    Display *display = (Display*) wxGetDisplay();
+    Display *display = wxGlobalDisplay();
     Window rootWindow = RootWindowOfScreen (DefaultScreenOfDisplay(display));
     Window rootReturn, childReturn;
     int rootX, rootY, winX, winY;