X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ef344ff86223f1f0961f025c0b249c898529c095..2fe212b0336512aac9eace69fab09ce856b0bf4b:/src/mgl/app.cpp diff --git a/src/mgl/app.cpp b/src/mgl/app.cpp index 2027810bd5..bb061200c3 100644 --- a/src/mgl/app.cpp +++ b/src/mgl/app.cpp @@ -18,19 +18,29 @@ #pragma hdrstop #endif + #ifndef WX_PRECOMP #include "wx/settings.h" #include "wx/module.h" #include "wx/evtloop.h" #include "wx/frame.h" #include "wx/dialog.h" + #include "wx/log.h" #include "wx/intl.h" #endif #include "wx/app.h" #include "wx/fontutil.h" +#include "wx/univ/theme.h" +#include "wx/univ/renderer.h" #include "wx/mgl/private.h" +#define MGL_DEBUG + +#if defined(MGL_DEBUG) && !defined(__WXDEBUG__) +#undef MGL_DEBUG +#endif + //----------------------------------------------------------------------------- // Global data //----------------------------------------------------------------------------- @@ -74,8 +84,6 @@ bool wxYield() while (wxEventLoop::GetActive()->Pending()) wxEventLoop::GetActive()->Dispatch(); } - else - MGL_wmUpdateDC(g_winMng); // FIXME_MGL -- temporary hack, please remove /* it's necessary to call ProcessIdle() to update the frames sizes which might have been changed (it also will update other things set from @@ -138,8 +146,6 @@ wxApp::~wxApp() bool wxApp::OnInitGui() { - if ( MGL_init(".", NULL) == 0 ) - return FALSE; if ( !wxCreateMGL_WM() ) return FALSE; @@ -148,6 +154,12 @@ bool wxApp::OnInitGui() if ( !wxAppBase::OnInitGui() ) return FALSE; +#ifdef MGL_DEBUG + // That damn MGL redirects stdin and stdout to physical console + FILE *file = fopen("stderr", "wt"); + wxLog::SetActiveTarget(new wxLogStderr(file)); +#endif + return TRUE; } @@ -209,12 +221,8 @@ bool wxApp::SendIdleEvents(wxWindow* win) win->GetEventHandler()->ProcessEvent(event); -#if 0 // FIXME_MGL - what the hell it is? - win->OnInternalIdle(); - if ( event.MoreRequested() ) needMore = TRUE; -#endif wxNode* node = win->GetChildren().First(); while (node) @@ -248,9 +256,7 @@ void wxApp::ExitMainLoop() bool wxApp::Initialized() { - // FIXME_MGL -- only for now because we don't have wxFrame/wxDialog yet - return TRUE; - //return (wxTopLevelWindows.GetCount() != 0); + return (wxTopLevelWindows.GetCount() != 0); } bool wxApp::Pending() @@ -281,6 +287,9 @@ void wxApp::DeletePendingObjects() bool wxApp::Initialize() { + if ( MGL_init(".", NULL) == 0 ) + return FALSE; + wxBuffer = new wxChar[BUFSIZ + 512]; wxClassInfo::InitializeClasses(); @@ -317,27 +326,9 @@ bool wxApp::Initialize() return TRUE; } -#include "info.xpm" -#include "error.xpm" -#include "question.xpm" -#include "warning.xpm" - wxIcon wxApp::GetStdIcon(int which) const { - switch(which) - { - case wxICON_INFORMATION: - return wxIcon(info_xpm); - case wxICON_QUESTION: - return wxIcon(question_xpm); - case wxICON_EXCLAMATION: - return wxIcon(warning_xpm); - default: - wxFAIL_MSG(wxT("requested non existent standard icon")); - // still fall through - case wxICON_HAND: - return wxIcon(error_xpm); - } + return wxTheme::Get()->GetRenderer()->GetStdIcon(which); } void wxApp::CleanUp()