X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/655719367ac5e131d9642e5783f3ecf64d1a3385..b636c599e732992304d8de6ec569392e7c83a7dc:/src/motif/app.cpp?ds=sidebyside diff --git a/src/motif/app.cpp b/src/motif/app.cpp index 30ddd80a6d..3dbf47a9fd 100644 --- a/src/motif/app.cpp +++ b/src/motif/app.cpp @@ -38,7 +38,6 @@ #pragma message disable nosimpint #endif #include -#include #include #include #include @@ -98,15 +97,32 @@ bool wxApp::Initialize(int& argc, wxChar **argv) wxWidgetHashTable = new wxHashTable(wxKEY_INTEGER); +#if wxUSE_INTL + wxFont::SetDefaultEncoding(wxLocale::GetSystemEncoding()); +#endif + return true; } void wxApp::CleanUp() { + wxAppBase::CleanUp(); + delete wxWidgetHashTable; wxWidgetHashTable = NULL; - wxAppBase::CleanUp(); + delete m_mainLoop; + + for( wxPerDisplayDataMap::iterator it = m_perDisplayData->begin(), + end = m_perDisplayData->end(); + it != end; ++it ) + { + delete it->second->m_visualInfo; + XtDestroyWidget( it->second->m_topLevelWidget ); + delete it->second; + } + + delete m_perDisplayData; } void wxApp::Exit() @@ -134,19 +150,6 @@ wxApp::wxApp() wxApp::~wxApp() { - delete m_mainLoop; - - for( wxPerDisplayDataMap::iterator it = m_perDisplayData->begin(), - end = m_perDisplayData->end(); - it != end; ++it ) - { - delete it->second->m_visualInfo; - XtDestroyWidget( it->second->m_topLevelWidget ); - delete it->second; - } - - delete m_perDisplayData; - wxApp::SetInstance(NULL); } @@ -177,10 +180,19 @@ void wxApp::HandlePropertyChange(WXEvent *event) } 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__ + "*sgiMode: True", + "*useSchemes: all", +#else // !__SGI__ "*menuBar.marginHeight: 0", "*menuBar.shadowThickness: 1", "*background: #c0c0c0", "*foreground: black", +#endif // __SGI__/!__SGI__ NULL }; @@ -188,8 +200,9 @@ static char *fallbackResources[] = { bool wxApp::OnInitGui() { if( !wxAppBase::OnInitGui() ) - return FALSE; + return false; + XtSetLanguageProc(NULL, NULL, NULL); XtToolkitInitialize() ; wxTheApp->m_appContext = (WXAppContext) XtCreateApplicationContext(); XtAppSetFallbackResources((XtAppContext) wxTheApp->m_appContext, fallbackResources); @@ -228,7 +241,7 @@ bool wxApp::OnInitGui() wxAddIdleCallback(); - return TRUE; + return true; } WXColormap wxApp::GetMainColormap(WXDisplay* display) @@ -307,9 +320,9 @@ WXWidget wxCreateTopLevelWidget( WXDisplay* display ) WXWidget wxCreateTopLevelRealizedWidget( WXDisplay* display ) { - Widget rTlw = XtVaCreateWidget( "dummy_widget", xmLabelWidgetClass, + Widget rTlw = XtVaCreateWidget( "dummy_widget", topLevelShellWidgetClass, (Widget)wxTheApp->GetTopLevelWidget(), - NULL); + NULL, 0 ); XtSetMappedWhenManaged( rTlw, False ); XtRealizeWidget( rTlw ); @@ -360,7 +373,7 @@ void wxApp::SetTopLevelRealizedWidget(WXDisplay* display, WXWidget widget) bool wxApp::Yield(bool onlyIfNeeded) { - static bool s_inYield = FALSE; + static bool s_inYield = false; if ( s_inYield ) { @@ -369,17 +382,17 @@ bool wxApp::Yield(bool onlyIfNeeded) wxFAIL_MSG( wxT("wxYield called recursively" ) ); } - return FALSE; + return false; } - s_inYield = TRUE; + s_inYield = true; while (wxTheApp && wxTheApp->Pending()) wxTheApp->Dispatch(); - s_inYield = FALSE; + s_inYield = false; - return TRUE; + return true; } // ----------------------------------------------------------------------------