- return true;
-}
-
-void wxApp::CleanUp()
-{
- wxAppBase::CleanUp();
-
- delete wxWidgetHashTable;
- wxWidgetHashTable = NULL;
-
- delete m_mainLoop;
-
- for( wxPerDisplayDataMap::iterator it = m_perDisplayData->begin(),
- end = m_perDisplayData->end();
- it != end; ++it )
- {
- delete it->second->m_visualInfo;
- // On Solaris 10 calling XtDestroyWidget on the top level widget
- // dumps core if the locale is set to something other than "C"
-#ifndef __SUN__
- XtDestroyWidget( it->second->m_topLevelWidget );
-#endif
- delete it->second;
- }
-}
-
-void wxApp::Exit()
-{
- wxApp::CleanUp();
-
- wxAppConsole::Exit();
-}
-
-// ============================================================================
-// wxApp
-// ============================================================================
-
-wxApp::wxApp()
-{
- argc = 0;
- argv = NULL;
-
- m_mainLoop = new wxEventLoop;
- m_mainColormap = (WXColormap) NULL;
- m_appContext = (WXAppContext) NULL;
- m_initialDisplay = (WXDisplay*) 0;
- m_perDisplayData = new wxPerDisplayDataMap;
-}
-
-wxApp::~wxApp()
-{
- delete m_perDisplayData;
-}
-
-int wxApp::MainLoop()
-{
- /*
- * Sit around forever waiting to process X-events. Property Change
- * event are handled special, because they have to refer to
- * the root window rather than to a widget. therefore we can't
- * use an Xt-eventhandler.
- */
-
- XSelectInput(XtDisplay((Widget) wxTheApp->GetTopLevelWidget()),
- XDefaultRootWindow(XtDisplay((Widget) wxTheApp->GetTopLevelWidget())),
- PropertyChangeMask);
-
- m_mainLoop->Run();
-
- return 0;
-}
-
-// This should be redefined in a derived class for
-// handling property change events for XAtom IPC.
-void wxApp::HandlePropertyChange(WXEvent *event)
-{
- // by default do nothing special
- XtDispatchEvent((XEvent*) event); /* let Motif do the work */
-}
-
-static char *fallbackResources[] = {
- // better defaults for CDE under Irix
- //
- // TODO: do something similar for the other systems, the hardcoded defaults
- // below are ugly
-#ifdef __SGI__
- wxMOTIF_STR("*sgiMode: True"),
- wxMOTIF_STR("*useSchemes: all"),
-#else // !__SGI__
-#if !wxMOTIF_USE_RENDER_TABLE
- wxMOTIF_STR("*.fontList: -*-helvetica-medium-r-normal-*-*-120-*-*-*-*-*-*"),
-#else
- wxMOTIF_STR("*wxDefaultRendition.fontName: -*-helvetica-medium-r-normal-*-*-120-*-*-*-*-*-*"),
- wxMOTIF_STR("*wxDefaultRendition.fontType: FONT_IS_FONTSET"),
- wxMOTIF_STR("*.renderTable: wxDefaultRendition"),
-#endif
- wxMOTIF_STR("*listBox.background: white"),
- wxMOTIF_STR("*text.background: white"),
- wxMOTIF_STR("*comboBox.Text.background: white"),
- wxMOTIF_STR("*comboBox.List.background: white"),
-#endif // __SGI__/!__SGI__
- NULL
-};
-
-// Create an application context
-bool wxApp::OnInitGui()
-{
- if( !wxAppBase::OnInitGui() )
- return false;
-