g_displayDC->savePNGFromDC(screenshot.mb_str(),
r.x, r. y, r.x+r.width, r.y+r.height);
- wxMessageBox(_("Screenshot captured: ") + wxString(screenshot));
+ wxMessageBox(wxString::Format(_T("Screenshot captured: %s"),
+ screenshot.c_str()));
}
// ---------------------------------------------------------------------------
#ifdef __WXDEBUG__ // FIXME_MGL - remove when KB_sysReq works in MGL!
|| (event.m_keyCode == WXK_F1 &&
event.m_shiftDown && event.m_controlDown)
- )
#endif
+ )
{
wxCaptureScreenshot(event.m_altDown/*only active wnd?*/);
return TRUE;
}
-
- if ( event.m_keyCode == WXK_F4 && event.m_altDown &&
- gs_activeFrame != NULL )
- {
- gs_activeFrame->Close();
- return TRUE;
- }
-
+
return FALSE;
}
if ( !g_winMng )
{
if ( !wxTheApp->SetDisplayMode(wxGetDefaultDisplayMode()) )
- wxFatalError(_("Cannot initialize display."));
+ wxLogFatalError(_("Cannot initialize display."));
}
// generic:
if (gs_activeFrame == this)
{
- gs_activeFrame = NULL;
- // activate next frame in Z-order:
- if ( m_wnd->prev )
- {
- wxWindowMGL *win = (wxWindowMGL*)m_wnd->prev->userData;
- win->SetFocus();
+ gs_activeFrame = NULL;
+ // activate next frame in Z-order:
+ if ( m_wnd->prev )
+ {
+ wxWindowMGL *win = (wxWindowMGL*)m_wnd->prev->userData;
+ win->SetFocus();
+ }
+ else if ( m_wnd->next )
+ {
+ wxWindowMGL *win = (wxWindowMGL*)m_wnd->next->userData;
+ win->SetFocus();
}
}
if (!show && gs_activeFrame == this)
{
- // activate next frame in Z-order:
- if ( m_wnd->prev )
- {
- wxWindowMGL *win = (wxWindowMGL*)m_wnd->prev->userData;
- win->SetFocus();
+ // activate next frame in Z-order:
+ if ( m_wnd->prev )
+ {
+ wxWindowMGL *win = (wxWindowMGL*)m_wnd->prev->userData;
+ win->SetFocus();
+ }
+ else if ( m_wnd->next )
+ {
+ wxWindowMGL *win = (wxWindowMGL*)m_wnd->next->userData;
+ win->SetFocus();
+ }
+ else
+ {
+ gs_activeFrame = NULL;
}
}
void wxWindowMGL::DoReleaseMouse()
{
- wxASSERT_MSG( gs_mouseCapture == this, wxT("attempt to release mouse, but this window hasn't captured it") )
+ wxASSERT_MSG( gs_mouseCapture == this, wxT("attempt to release mouse, but this window hasn't captured it") );
MGL_wmUncaptureEvents(m_wnd, wxMGL_CAPTURE_MOUSE);
gs_mouseCapture = NULL;
void wxWindowMGL::WarpPointer(int x, int y)
{
+ int w, h;
+ wxDisplaySize(&w, &h);
+
ClientToScreen(&x, &y);
+ if ( x < 0 )
+ x = 0;
+ if ( y < 0 )
+ y = 0;
+ if ( x >= w )
+ x = w-1;
+ if ( y >= h )
+ y = h-1;
+
EVT_setMousePos(x, y);
}