00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "app.h"
00026 #include "frame.h"
00027 #include "map.h"
00028 #include "profilemanager.h"
00029
00030 ofstream logFile("log.txt");
00031
00032
00033 #ifndef WIN32
00034
00035
00036 wxApp *wxCreateApp()
00037 {
00038 wxApp::CheckBuildOptions( wxBuildOptions() );
00039 return new WDS::CApp;
00040 }
00041
00042 wxAppInitializer wxTheAppInitializer((wxAppInitializerFunction) wxCreateApp);
00043 WDS::CApp& WDS::wxGetApp() { return *(WDS::CApp *)wxTheApp; }
00044
00045 extern int wxEntry( int argc, char **argv );
00046 int main(int argc, char **argv) { return wxEntry(argc, argv); }
00047
00048 #endif
00049
00050 namespace WDS
00051 {
00052
00053 #ifdef WIN32
00054 IMPLEMENT_APP(CApp)
00055 #endif
00056
00057 bool CApp::OnInit()
00058 {
00059
00060 wxImage::AddHandler( new wxPNGHandler );
00061 wxImage::AddHandler( new wxICOHandler );
00062
00063
00064 SetAppName( "WDSMap" );
00065
00066
00067
00068 m_pConfig = new wxFileConfig( GetAppName(), "GMDSoft", "config.cfg", "", wxCONFIG_USE_RELATIVE_PATH );
00069 wxConfigBase::Set( m_pConfig );
00070
00071 m_pConfig->SetPath("/General");
00072
00073
00074 int nWidth = m_pConfig->Read( "window_width", 800 );
00075 int nHeight = m_pConfig->Read( "window_height", 600 );
00076 bool bMaximized = m_pConfig->Read( "window_maximized", 0L )!=0L;
00077
00078
00079
00080
00081 m_pProfileManager = new CProfileManager( m_pConfig );
00082
00083
00084
00085 m_pFrame = new CFrame( "WDS Maptool by Smir, Accolon & Isdir", 0, 0, nWidth, nHeight );
00086
00087
00088 if( bMaximized )
00089 {
00090 m_pFrame->Maximize( true );
00091 }
00092 else
00093 {
00094 m_pFrame->Center();
00095 }
00096
00097
00098 m_pFrame->Show(TRUE);
00099 SetTopWindow(m_pFrame);
00100
00101
00102
00103 m_pFrame->Init( );
00104
00105 return true;
00106 }
00107
00108 int CApp::OnExit()
00109 {
00110
00111 m_pConfig->SetPath("/General");
00112
00113
00114
00115
00116
00117
00118 m_pProfileManager->save();
00119
00120
00121 if( m_pConfig != NULL )
00122 delete m_pConfig;
00123
00124 return 0;
00125 }
00126
00127 CFrame* CApp::GetFrame()
00128 {
00129 return m_pFrame;
00130 }
00131
00132 CMap* CApp::GetMap()
00133 {
00134 return GetFrame()->GetMap();
00135 }
00136
00137 CProfileManager* CApp::GetProfileManager()
00138 {
00139 return m_pProfileManager;
00140 }
00141
00142 }
00143
00144