/////////////////////////////////////////////////////////////////////////////
-// Name: src/motif/windows.cpp
+// Name: src/motif/window.cpp
// Purpose: wxWindow
// Author: Julian Smart
// Modified by:
#define XtScreen XTSCREEN
#endif
-#include "wx/setup.h"
-#include "wx/menu.h"
-#include "wx/dc.h"
-#include "wx/dcclient.h"
-#include "wx/utils.h"
-#include "wx/app.h"
-#include "wx/layout.h"
-#include "wx/button.h"
-#include "wx/settings.h"
-#include "wx/frame.h"
-#include "wx/scrolwin.h"
-#include "wx/module.h"
-#include "wx/menuitem.h"
-#include "wx/log.h"
+#ifndef WX_PRECOMP
+ #include "wx/hash.h"
+ #include "wx/log.h"
+ #include "wx/app.h"
+ #include "wx/utils.h"
+ #include "wx/frame.h"
+ #include "wx/dc.h"
+ #include "wx/dcclient.h"
+ #include "wx/button.h"
+ #include "wx/menu.h"
+ #include "wx/settings.h"
+ #include "wx/scrolwin.h"
+ #include "wx/layout.h"
+ #include "wx/menuitem.h"
+ #include "wx/module.h"
+#endif
+
#include "wx/evtloop.h"
-#include "wx/hash.h"
#if wxUSE_DRAG_AND_DROP
#include "wx/dnd.h"
// 2) call DoMoveWindow from DoSetSize, allowing controls to override it
#ifdef __VMS__
-#pragma message disable nosimpint
+ #pragma message disable nosimpint
#endif
#include <Xm/Xm.h>
#include <Xm/Label.h>
#include <Xm/RowColumn.h> // for XmMenuPosition
#ifdef __VMS__
-#pragma message enable nosimpint
+ #pragma message enable nosimpint
#endif
#include "wx/motif/private.h"
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()
// wxASSERT_MSG( m_cursor.Ok(),
// wxT("cursor must be valid after call to the base version"));
- wxCursor* cursor2 = NULL;
+ const wxCursor* cursor2 = NULL;
if (m_cursor.Ok())
cursor2 = & m_cursor;
else
// 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
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;
{
// A bit of optimization to help sort out the flickers.
int oldX = -1, oldY = -1, oldW = -1, oldH = -1;
+
if( !fromCtor )
{
GetSize(& oldW, & oldH);
y = oldY;
}
- wxSize size(-1, -1);
+ wxSize size(wxDefaultSize);
if ( width <= 0 )
{
if ( ( sizeFlags & wxSIZE_AUTO_WIDTH ) && !fromCtor )
#define YAllocColor XAllocColor
XColor g_itemColors[5];
-int wxComputeColours (Display *display, wxColour * back, wxColour * fore)
+int wxComputeColours (Display *display, const wxColour * back, const wxColour * fore)
{
int result;
static XmColorProc colorProc;
GetSize(& width1, & height1);
if (keepOriginalSize && (width != width1 || height != height1))
{
- SetSize(-1, -1, width, height);
+ SetSize(wxDefaultCoord, wxDefaultCoord, width, height);
}
}
}
return wxFindWindowAtPoint(pt);
}
-// Get the current mouse position.
-wxPoint wxGetMousePosition()
+void wxGetMouseState(int& rootX, int& rootY, unsigned& maskReturn)
{
Display *display = wxGlobalDisplay();
Window rootWindow = RootWindowOfScreen (DefaultScreenOfDisplay(display));
Window rootReturn, childReturn;
- int rootX, rootY, winX, winY;
- unsigned int maskReturn;
+ int winX, winY;
XQueryPointer (display,
rootWindow,
&rootReturn,
&childReturn,
&rootX, &rootY, &winX, &winY, &maskReturn);
- return wxPoint(rootX, rootY);
+}
+
+// Get the current mouse position.
+wxPoint wxGetMousePosition()
+{
+ int x, y;
+ unsigned mask;
+
+ wxGetMouseState(x, y, mask);
+ return wxPoint(x, y);
+}
+
+wxMouseState wxGetMouseState()
+{
+ wxMouseState ms;
+ int x, y;
+ unsigned mask;
+
+ wxGetMouseState(x, y, mask);
+
+ ms.SetX(x);
+ ms.SetY(y);
+
+ ms.SetLeftDown(mask & Button1Mask);
+ ms.SetMiddleDown(mask & Button2Mask);
+ ms.SetRightDown(mask & Button3Mask);
+
+ ms.SetControlDown(mask & ControlMask);
+ ms.SetShiftDown(mask & ShiftMask);
+ ms.SetAltDown(mask & Mod3Mask);
+ ms.SetMetaDown(mask & Mod1Mask);
+
+ return ms;
}
// ----------------------------------------------------------------------------
int wxNoOptimize::ms_count = 0;
-