campo-sirio/xvaga/xvapp.cpp

73 lines
1.2 KiB
C++
Raw Normal View History

#include "../xvaga/wxinc.h"
#include <wx/filename.h>
#include <wx/snglinst.h>
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();
#if wxCHECK_VERSION(2,6,1)
virtual void OnTimer(wxTimerEvent& event);
DECLARE_EVENT_TABLE()
#endif
DECLARE_DYNAMIC_CLASS(TMainApp);
};
IMPLEMENT_DYNAMIC_CLASS(TMainApp, wxApp)
DECLARE_APP(TMainApp)
IMPLEMENT_APP(TMainApp)
#if wxCHECK_VERSION(2,6,1)
#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);
}
#endif
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
#ifdef __WXDEBUG__
// wxLog::SetTraceMask(wxTraceMessages);
#endif
#if wxCHECK_VERSION(2,6,1)
wxTimerEvent evt(TIMER_ID);
AddPendingEvent(evt);
return true;
#else
xvt_main(argc, argv);
return false;
#endif
}
int TMainApp::OnExit()
{
delete m_sic;
m_sic = NULL;
return wxApp::OnExit();
}