#include "../xvaga/wxinc.h" #include #include #include extern int xvt_main(int argc, char** argv); class TMainApp : public wxApp { wxLocale m_Locale; wxSingleInstanceChecker* m_sic; protected: virtual bool OnInit(); virtual int OnExit(); virtual void OnTimer(wxTimerEvent& event); DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(TMainApp); }; IMPLEMENT_DYNAMIC_CLASS(TMainApp, wxApp) DECLARE_APP(TMainApp) IMPLEMENT_APP(TMainApp) #define TIMER_ID 883 BEGIN_EVENT_TABLE(TMainApp, wxApp) EVT_TIMER(TIMER_ID, TMainApp::OnTimer) END_EVENT_TABLE() void TMainApp::OnTimer(wxTimerEvent& event) { xvt_main(argc, argv); } bool TMainApp::OnInit() { wxFileName strWrk = argv[0]; const wxString strApp = strWrk.GetName().Lower(); m_sic = new wxSingleInstanceChecker(strApp); m_Locale.Init(wxLocale::GetSystemLanguage()); // wxLANGUAGE_ITALIAN if (GetComCtl32Version() >= 600 && ::wxDisplayDepth() >= 32) wxSystemOptions::SetOption(wxT("msw.remap"), 2); wxTimerEvent evt(TIMER_ID); AddPendingEvent(evt); return true; } int TMainApp::OnExit() { delete m_sic; m_sic = NULL; return wxApp::OnExit(); }