#if wxUSE_SYSTEM_OPTIONS
// FIXME_MGL -- so what is The Proper Way?
- width=800, height=600;
if ( wxSystemOptions::HasOption(wxT("mgl.screen-width") )
width = wxSystemOptions::GetOptionInt(wxT("mgl.screen-width"));
if ( wxSystemOptions::HasOption(wxT("mgl.screen-height") )
MGL_wmCoordGlobalToLocal(win->GetHandle(),
e->where_x, e->where_y, &where.x, &where.y);
- if ( !win->IsEnabled() ) return FALSE;
+ for (wxWindowMGL *w = win; w; w = w->GetParent())
+ {
+ if ( !w->IsEnabled() )
+ return FALSE;
+ if ( w->IsTopLevel() )
+ break;
+ }
wxEventType type = wxEVT_NULL;
wxMouseEvent event;
void wxWindowMGL::SetFocus()
{
+ if ( gs_focusedWindow == this ) return;
+
if ( gs_focusedWindow )
gs_focusedWindow->KillFocus();
wxFocusEvent event(wxEVT_SET_FOCUS, GetId());
event.SetEventObject(this);
- AddPendingEvent(event);
+ GetEventHandler()->ProcessEvent(event);
}
void wxWindowMGL::KillFocus()
wxFocusEvent event(wxEVT_KILL_FOCUS, GetId());
event.SetEventObject(this);
- AddPendingEvent(event);
+ GetEventHandler()->ProcessEvent(event);
}
// ----------------------------------------------------------------------------
return;
}
+#if 0 // FIXME_MGL -- debugging stuff!
+ dc->setColorRGB(255,0,255);
+ dc->fillRect(-1000,-1000,2000,2000);
+ wxUsleep(100);
+#endif
+
MGLRegion clip;
dc->getClipRegion(clip);
m_updateRegion = wxRegion(clip);