#endif // wxUSE_LOG
#endif //WX_PRECOMP
+#include "wx/utils.h"
#include "wx/apptrait.h"
#include "wx/cmdline.h"
#include "wx/confbase.h"
-#if wxUSE_FONTMAP
- #include "wx/fontmap.h"
-#endif // wxUSE_FONTMAP
+#if wxUSE_FILENAME
+ #include "wx/filename.h"
+#endif // wxUSE_FILENAME
#include "wx/msgout.h"
#include "wx/tokenzr.h"
#include "wx/msw/private.h" // includes windows.h for MessageBox()
#endif
+#if wxUSE_FONTMAP
+ #include "wx/fontmap.h"
+#endif // wxUSE_FONTMAP
+
#if defined(__WXMAC__)
- #include "wx/mac/private.h" // includes mac headers
-#endif
+ // VZ: MacTypes.h is enough under Mac OS X (where I could test it) but
+ // I don't know which headers are needed under earlier systems so
+ // include everything when in doubt
+ #ifdef __DARWIN__
+ #include "MacTypes.h"
+ #else
+ #include "wx/mac/private.h" // includes mac headers
+ #endif
+#endif // __WXMAC__
// ----------------------------------------------------------------------------
// private functions prototypes
delete m_traits;
}
+// ----------------------------------------------------------------------------
+// initilization/cleanup
+// ----------------------------------------------------------------------------
+
+bool wxAppConsole::Initialize(int& argc, wxChar **argv)
+{
+ // remember the command line arguments
+ this->argc = argc;
+ this->argv = argv;
+
+ if ( m_appName.empty() && argv )
+ {
+ // the application name is, by default, the name of its executable file
+#if wxUSE_FILENAME
+ wxFileName::SplitPath(argv[0], NULL, &m_appName, NULL);
+#else // !wxUSE_FILENAME
+ m_appName = argv[0];
+#endif // wxUSE_FILENAME/!wxUSE_FILENAME
+ }
+
+ return true;
+}
+
+void wxAppConsole::CleanUp()
+{
+}
+
// ----------------------------------------------------------------------------
// OnXXX() callbacks
// ----------------------------------------------------------------------------
wxAppTraits *wxAppConsole::CreateTraits()
{
- return wxAppTraits::CreateConsole();
+ return new wxConsoleAppTraits;
}
wxAppTraits *wxAppConsole::GetTraits()
}
// iterate until the list becomes empty
- wxNode *node = wxPendingEvents->GetFirst();
+ wxList::compatibility_iterator node = wxPendingEvents->GetFirst();
while (node)
{
wxEvtHandler *handler = (wxEvtHandler *)node->GetData();
- delete node;
+ wxPendingEvents->Erase(node);
// In ProcessPendingEvents(), new handlers might be add
// and we can safely leave the critical section here.
#endif // __WXDEBUG__
-wxAppTraits *wxAppTraitsBase::CreateConsole()
-{
- return new wxConsoleAppTraits;
-}
-
// ============================================================================
// global functions implementation
// ============================================================================
if ( !s_bNoAsserts )
{
// send it to the normal log destination
- wxLogDebug(_T("%s"), msg);
+ wxLogDebug(_T("%s"), msg.c_str());
if ( traits )
{