// ----------------------------------------------------------------------------
extern wxHashTable *wxWidgetHashTable;
+static wxWindow* g_captureWindow = NULL;
+
// ----------------------------------------------------------------------------
// private functions
parent->AddChild(this);
- m_backgroundColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE);
+ m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
m_foregroundColour = *wxBLACK;
//// TODO: we should probably optimize by only creating a
// Scrolled widget needs to have its colour changed or we get a little blue
// square where the scrollbars abutt
- wxColour backgroundColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE);
+ wxColour backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
DoChangeBackgroundColour(m_scrolledWindow, backgroundColour, TRUE);
DoChangeBackgroundColour(m_drawingArea, backgroundColour, TRUE);
// Without this, the cursor may not be restored properly (e.g. in splitter
// sample).
SetCursor(*wxSTANDARD_CURSOR);
- SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
+ SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
SetSize(pos.x, pos.y, size.x, size.y);
return TRUE;
// Destructor
wxWindow::~wxWindow()
{
+ if (g_captureWindow == this)
+ g_captureWindow = NULL;
+
m_isBeingDeleted = TRUE;
// Motif-specific actions first
m_hScrollBar = (WXWidget) hScrollBar;
- wxColour backgroundColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE);
+ wxColour backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
DoChangeBackgroundColour(m_hScrollBar, backgroundColour, TRUE);
XtRealizeWidget(hScrollBar);
NULL);
m_vScrollBar = (WXWidget) vScrollBar;
- wxColour backgroundColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE);
+ wxColour backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
DoChangeBackgroundColour(m_vScrollBar, backgroundColour, TRUE);
XtRealizeWidget(vScrollBar);
return wxString(title);
}
-void wxWindow::CaptureMouse()
+void wxWindow::DoCaptureMouse()
{
+ g_captureWindow = this;
if ( m_winCaptured )
return;
m_winCaptured = TRUE;
}
-void wxWindow::ReleaseMouse()
+void wxWindow::DoReleaseMouse()
{
+ g_captureWindow = NULL;
if ( !m_winCaptured )
return;
DoChangeBackgroundColour(m_scrolledWindow, m_backgroundColour);
// Have to set the scrollbar colours back since
// the scrolled window seemed to change them
- wxColour backgroundColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE);
+ wxColour backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
if (m_hScrollBar)
DoChangeBackgroundColour(m_hScrollBar, backgroundColour);
return NULL;
}
+/* static */
+wxWindow *wxWindowBase::GetCapture()
+{
+ return (wxWindow *)g_captureWindow;
+}
+
+
// Find the wxWindow at the current mouse position, returning the mouse
// position.
wxWindow* wxFindWindowAtPointer(wxPoint& pt)
return wxPoint(rootX, rootY);
}
+
// ----------------------------------------------------------------------------
// wxNoOptimize: switch off size optimization
// ----------------------------------------------------------------------------
int wxNoOptimize::ms_count = 0;
-
-
-