// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
- #pragma implementation "appbase.h"
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif //__BORLANDC__
+
+#ifndef WX_PRECOMP
+ #include "wx/app.h"
+ #include "wx/debug.h"
#endif
-#include "wx/app.h"
-#include "wx/debug.h"
+#include "wx/module.h"
// ----------------------------------------------------------------------------
// global vars
class /* no WXDLLEXPORT */ wxConsoleApp : public wxApp
{
public:
- virtual int OnRun() { wxFAIL_MSG(T("unreachable")); return 0; }
+ virtual int OnRun() { wxFAIL_MSG(wxT("unreachable")); return 0; }
};
// ----------------------------------------------------------------------------
// implementation
// ============================================================================
+// ----------------------------------------------------------------------------
+// stubs for some GUI functions
+// ----------------------------------------------------------------------------
+
+void WXDLLEXPORT wxExit()
+{
+ abort();
+}
+
+// Yield to other apps/messages
+bool WXDLLEXPORT wxYield()
+{
+ // do nothing
+ return TRUE;
+}
+
+// Yield to other apps/messages
+void WXDLLEXPORT wxWakeUpIdle()
+{
+ // do nothing
+}
+
+// ----------------------------------------------------------------------------
+// wxBase-specific functions
+// ----------------------------------------------------------------------------
+
bool WXDLLEXPORT wxInitialize()
{
- if ( gs_nInitCount++ )
+ if ( gs_nInitCount )
{
// already initialized
return TRUE;
}
wxASSERT_MSG( !wxTheApp,
- T("either call wxInitialize or create app, not both!") );
+ wxT("either call wxInitialize or create app, not both!") );
+
+ wxClassInfo::InitializeClasses();
+
+ wxModule::RegisterModules();
+ if ( !wxModule::InitializeModules() )
+ {
+ return FALSE;
+ }
wxTheApp = new wxConsoleApp;
- return wxTheApp != NULL;
+ if ( !wxTheApp )
+ {
+ return FALSE;
+ }
+
+ gs_nInitCount++;
+
+ return TRUE;
}
void WXDLLEXPORT wxUninitialize()
{
if ( !--gs_nInitCount )
{
+ wxModule::CleanUpModules();
+
+ wxClassInfo::CleanUpClasses();
+
// delete the application object
delete wxTheApp;
wxTheApp = (wxApp *)NULL;