campo-sirio/xvaga/xvapp.cpp

64 lines
1.2 KiB
C++
Raw Normal View History

#include "../xvaga/wxinc.h"
#if wxCHECK_VERSION(2,8,7)
#include <wx/filename.h>
#include <wx/snglinst.h>
#endif
extern int xvt_main(int argc, char** argv);
class TMainApp : public wxApp
{
wxLocale m_Locale;
#if wxCHECK_VERSION(2,8,7)
wxSingleInstanceChecker* m_sic;
#endif
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()
{
#if wxCHECK_VERSION(2,8,7)
wxFileName strWrk = argv[0];
const wxString strApp = strWrk.GetName().Lower();
m_sic = new wxSingleInstanceChecker(strApp);
#endif
m_Locale.Init(wxLocale::GetSystemLanguage()); // wxLANGUAGE_ITALIAN
wxTimerEvent evt(TIMER_ID);
AddPendingEvent(evt);
return true;
}
int TMainApp::OnExit()
{
#if wxCHECK_VERSION(2,8,7)
delete m_sic;
m_sic = NULL;
#endif
return wxApp::OnExit();
}