campo-sirio/xvaga/xvapp.cpp

57 lines
970 B
C++
Raw Normal View History

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