X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e1bce3caeb2550d19840407f814ebe834864ff79..a8d2fb31cbf09dcc4683c9566ff4bc89580f268c:/src/motif/window.cpp?ds=sidebyside diff --git a/src/motif/window.cpp b/src/motif/window.cpp index aac080b93a..ab65b8786c 100644 --- a/src/motif/window.cpp +++ b/src/motif/window.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: windows.cpp +// Name: src/motif/windows.cpp // Purpose: wxWindow // Author: Julian Smart // Modified by: @@ -17,10 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "window.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -204,7 +200,7 @@ void wxWindow::Init() m_winCaptured = false; m_isShown = true; - + m_hScrollBar = m_vScrollBar = m_borderWidget = @@ -356,7 +352,7 @@ wxWindow::~wxWindow() { if (g_captureWindow == this) g_captureWindow = NULL; - + m_isBeingDeleted = true; // Motif-specific actions first @@ -636,17 +632,17 @@ void wxWindow::Lower() XLowerWindow(XtDisplay(wTop), window); } -void wxWindow::SetTitle(const wxString& title) +void wxWindow::SetLabel(const wxString& label) { - XtVaSetValues((Widget)GetMainWidget(), XmNtitle, title.c_str(), NULL); + XtVaSetValues((Widget)GetMainWidget(), XmNtitle, label.c_str(), NULL); } -wxString wxWindow::GetTitle() const +wxString wxWindow::GetLabel() const { - char *title; - XtVaGetValues((Widget)GetMainWidget(), XmNtitle, &title, NULL); + char *label; + XtVaGetValues((Widget)GetMainWidget(), XmNtitle, &label, NULL); - return wxString(title); + return wxString(label); } void wxWindow::DoCaptureMouse() @@ -751,12 +747,12 @@ int wxWindow::GetScrollPos(int orient) const int wxWindow::GetScrollRange(int orient) const { Widget scrollBar = (Widget)GetScrollbar((wxOrientation)orient); - // CE scintilla windows don't always have these scrollbars + // CE scintilla windows don't always have these scrollbars // and it tends to pile up a whole bunch of asserts //wxCHECK_MSG( scrollBar, 0, "no such scrollbar" ); int range = 0; - if (scrollBar) + if (scrollBar) XtVaGetValues(scrollBar, XmNmaximum, &range, NULL); return range; } @@ -856,7 +852,7 @@ void wxWindow::SetScrollbar(int orient, int pos, int thumbVisible, // Adjusting scrollbars can resize the canvas accidentally if (newW != oldW || newH != oldH) - SetSize(-1, -1, oldW, oldH); + SetSize(wxDefaultCoord, wxDefaultCoord, oldW, oldH); } // Does a physical scroll @@ -1069,7 +1065,7 @@ void wxWindow::DoSetToolTip(wxToolTip * WXUNUSED(tooltip)) bool wxWindow::DoPopupMenu(wxMenu *menu, int x, int y) { - if ( x == -1 && y == -1 ) + if ( x == wxDefaultCoord && y == wxDefaultCoord ) { wxPoint mouse = ScreenToClient(wxGetMousePosition()); x = mouse.x; y = mouse.y; @@ -1093,7 +1089,7 @@ bool wxWindow::DoPopupMenu(wxMenu *menu, int x, int y) } menu->SetId(1); /* Mark as popped-up */ - menu->CreateMenu(NULL, widget, menu); + menu->CreateMenu(NULL, widget, menu, 0); menu->SetInvokingWindow(this); menu->UpdateUI(); @@ -1179,7 +1175,7 @@ void wxWindow::DoGetSize(int *x, int *y) const XmNwidth, &xx, XmNheight, &yy, NULL ); - if(x) *x = xx; + if(x) *x = xx; if(y) *y = yy; } @@ -1187,7 +1183,7 @@ void wxWindow::DoGetPosition(int *x, int *y) const { Widget widget = (Widget) ( m_drawingArea ? - ( m_borderWidget ? m_borderWidget : m_scrolledWindow ) : + ( m_borderWidget ? m_borderWidget : m_scrolledWindow ) : GetTopWidget() ); Position xx, yy; @@ -1198,8 +1194,8 @@ void wxWindow::DoGetPosition(int *x, int *y) const if (GetParent()) { wxPoint pt(GetParent()->GetClientAreaOrigin()); - xx -= pt.x; - yy -= pt.y; + xx = (Position)(xx - pt.x); + yy = (Position)(yy - pt.y); } if(x) *x = xx; @@ -1266,7 +1262,7 @@ void wxWindow::DoSetSizeIntr(int x, int y, int width, int height, y = oldY; } - wxSize size(-1, -1); + wxSize size(wxDefaultSize); if ( width <= 0 ) { if ( ( sizeFlags & wxSIZE_AUTO_WIDTH ) && !fromCtor ) @@ -1459,7 +1455,7 @@ int wxWindow::GetCharHeight() const wxCHECK_MSG( m_font.Ok(), 0, "valid window font needed" ); int height; - + wxGetTextExtent (GetXDisplay(), m_font, 1.0, "x", NULL, &height, NULL, NULL); @@ -1471,7 +1467,7 @@ int wxWindow::GetCharWidth() const wxCHECK_MSG( m_font.Ok(), 0, "valid window font needed" ); int width; - + wxGetTextExtent (GetXDisplay(), m_font, 1.0, "x", &width, NULL, NULL, NULL); @@ -1898,9 +1894,8 @@ void wxWidgetResizeProc(Widget w, XConfigureEvent *WXUNUSED(event), if (win->PreResize()) { - int width, height; - win->GetSize(&width, &height); - wxSizeEvent sizeEvent(wxSize(width, height), win->GetId()); + wxSize newSize(win->GetSize()); + wxSizeEvent sizeEvent(newSize, win->GetId()); sizeEvent.SetEventObject(win); win->GetEventHandler()->ProcessEvent(sizeEvent); } @@ -2088,7 +2083,7 @@ static void wxScrollBarCallback(Widget scrollbar, XmScrollBarCallbackStruct *cbs) { wxWindow *win = wxGetWindowFromTable(scrollbar); - wxOrientation orientation = (wxOrientation)(int)clientData; + wxOrientation orientation = (wxOrientation)wxPtrToUInt(clientData); wxEventType eventType = wxEVT_NULL; switch (cbs->reason) @@ -2159,12 +2154,10 @@ void wxUniversalRepaintProc(Widget w, XtPointer WXUNUSED(c_data), XEvent *event, { case Expose: { - Display *display = (Display *) win -> GetXDisplay(); - win->AddUpdateRect(event->xexpose.x, event->xexpose.y, event->xexpose.width, event->xexpose.height); - if (event -> xexpose.count == 0) + if ( event->xexpose.count == 0 ) { win->DoPaint(); } @@ -2321,10 +2314,10 @@ bool wxTranslateMouseEvent(wxMouseEvent& wxevent, wxWindow *win, || (event_right_is_down (xevent) && (eventType != wxEVT_RIGHT_UP))); - wxevent.m_shiftDown = xevent->xbutton.state & ShiftMask; - wxevent.m_controlDown = xevent->xbutton.state & ControlMask; - wxevent.m_altDown = xevent->xbutton.state & Mod3Mask; - wxevent.m_metaDown = xevent->xbutton.state & Mod1Mask; + wxevent.m_shiftDown = (xevent->xbutton.state & ShiftMask) == ShiftMask; + wxevent.m_controlDown = (xevent->xbutton.state & ControlMask) == ControlMask; + wxevent.m_altDown = (xevent->xbutton.state & Mod3Mask) == Mod3Mask; + wxevent.m_metaDown = (xevent->xbutton.state & Mod1Mask) == Mod1Mask; wxevent.SetId(win->GetId()); wxevent.SetEventObject(win); @@ -2370,9 +2363,8 @@ bool wxTranslateKeyEvent(wxKeyEvent& wxevent, wxWindow *win, if (id > -1) return true; - else - return false; - break; + + return false; } default: break; @@ -2395,9 +2387,9 @@ int wxComputeColours (Display *display, wxColour * back, wxColour * fore) if (back) { - g_itemColors[0].red = (((long) back->Red ()) << 8); - g_itemColors[0].green = (((long) back->Green ()) << 8); - g_itemColors[0].blue = (((long) back->Blue ()) << 8); + g_itemColors[0].red = (unsigned short)(((long) back->Red ()) << 8); + g_itemColors[0].green = (unsigned short)(((long) back->Green ()) << 8); + g_itemColors[0].blue = (unsigned short)(((long) back->Blue ()) << 8); g_itemColors[0].flags = DoRed | DoGreen | DoBlue; if (colorProc == (XmColorProc) NULL) { @@ -2415,9 +2407,9 @@ int wxComputeColours (Display *display, wxColour * back, wxColour * fore) } if (fore) { - g_itemColors[wxFORE_INDEX].red = (((long) fore->Red ()) << 8); - g_itemColors[wxFORE_INDEX].green = (((long) fore->Green ()) << 8); - g_itemColors[wxFORE_INDEX].blue = (((long) fore->Blue ()) << 8); + g_itemColors[wxFORE_INDEX].red = (unsigned short)(((long) fore->Red ()) << 8); + g_itemColors[wxFORE_INDEX].green = (unsigned short)(((long) fore->Green ()) << 8); + g_itemColors[wxFORE_INDEX].blue = (unsigned short)(((long) fore->Blue ()) << 8); g_itemColors[wxFORE_INDEX].flags = DoRed | DoGreen | DoBlue; if (result == wxNO_COLORS) result = wxFORE_COLORS; @@ -2527,7 +2519,8 @@ wxWindow *wxWindowBase::GetCapture() // position. wxWindow* wxFindWindowAtPointer(wxPoint& pt) { - return wxFindWindowAtPoint(wxGetMousePosition()); + pt = wxGetMousePosition(); + return wxFindWindowAtPoint(pt); } // Get the current mouse position. @@ -2553,4 +2546,3 @@ wxPoint wxGetMousePosition() // ---------------------------------------------------------------------------- int wxNoOptimize::ms_count = 0; -