X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fctsim.cpp;h=c2c952eb3706165800d7d329942a51f370bde966;hp=dd41076c0519642b6a5702d03fdabfc48cd1c252;hb=9538989b04262388ea2cb9315939fb801cc8eae2;hpb=a84a77bb38a63834e944062d759fa7a1aa036967 diff --git a/src/ctsim.cpp b/src/ctsim.cpp index dd41076..c2c952e 100644 --- a/src/ctsim.cpp +++ b/src/ctsim.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: ctsim.cpp,v 1.43 2001/01/26 09:54:31 kevin Exp $ +** $Id: ctsim.cpp,v 1.52 2001/01/28 03:48:55 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -70,7 +70,7 @@ #endif #endif -static const char* rcsindent = "$Id: ctsim.cpp,v 1.43 2001/01/26 09:54:31 kevin Exp $"; +static const char* rcsindent = "$Id: ctsim.cpp,v 1.52 2001/01/28 03:48:55 kevin Exp $"; struct option CTSimApp::ctsimOptions[] = { @@ -150,7 +150,8 @@ CTSimApp::OnInit() // Create the main frame window int xDisplay, yDisplay; ::wxDisplaySize (&xDisplay, &yDisplay); - m_pFrame = new MainFrame(m_docManager, (wxFrame *) NULL, -1, "CTSim", wxPoint(0, 0), wxSize(xDisplay * .75, yDisplay * .755), wxDEFAULT_FRAME_STYLE); + m_pFrame = new MainFrame(m_docManager, (wxFrame *) NULL, -1, "CTSim", wxPoint(0, 0), + wxSize(nearest(xDisplay * .75), nearest(yDisplay * .755)), wxDEFAULT_FRAME_STYLE); setIconForFrame (m_pFrame); m_pFrame->Centre(wxBOTH); @@ -165,13 +166,6 @@ CTSimApp::OnInit() if (m_pConfig) m_docManager->FileHistoryLoad(*m_pConfig); -#ifdef CTSIM_WINHELP - if (! m_pFrame->getWinHelpController().Initialize("ctsim")) - ::wxMessageBox ("Cannot initialize the help system", "Error"); -#endif - if (! m_pFrame->getHtmlHelpController().Initialize(::wxGetCwd() + "/ctsim")) - ::wxMessageBox ("Cannot initialize the help system", "Error"); - #ifdef CTSIM_MDI TextFileDocument* pLogDoc = newTextDoc(); if (pLogDoc) { @@ -183,12 +177,20 @@ CTSimApp::OnInit() m_pFrame->GetClientSize(&xSize, &ySize); int yLogSize = ySize / 3; pLogDoc->getView()->getFrame()->SetSize (0, ySize - yLogSize, xSize, yLogSize); + pLogDoc->getView()->getFrame()->Show (true); } else #else m_pLog = new wxTextCtrl (m_pFrame, -1, "Log Window\n", wxPoint(0, 0), wxSize(0,0), wxTE_MULTILINE | wxTE_READONLY); #endif wxLog::SetActiveTarget (new wxLogTextCtrl(m_pLog)); +#ifdef CTSIM_WINHELP + if (! m_pFrame->getWinHelpController().Initialize("ctsim")) + *m_pLog << "Cannot initialize the Windows Help system\n"; +#endif + if (! m_pFrame->getHtmlHelpController().Initialize(::wxGetCwd() + "/ctsim")) + *m_pLog << "Cannot initialize the HTML Help system"; + return true; } @@ -216,11 +218,6 @@ CTSimApp::usage(const char* program) int CTSimApp::OnExit() { - if (theApp->getConfig()) - theApp->getDocManager()->FileHistorySave (*theApp->getConfig()); - delete theApp->getDocManager(); - m_docManager = NULL; - #ifdef HAVE_DMALLOC dmalloc_shutdown(); #endif @@ -334,7 +331,8 @@ MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const SetMenuBar(menu_bar); #ifndef CTSIM_MDI - for (int i = 0; i < MAX_WINDOW_MENUITEMS; i++) { + int i; + for (i = 0; i < MAX_WINDOW_MENUITEMS; i++) { m_apWindowMenuItems[i] = new wxMenuItem (m_pWindowMenu, MAINMENU_WINDOW_BASE+i, wxString("[EMPTY]")); m_pWindowMenu->Append (m_apWindowMenuItems[i]); m_pWindowMenu->Enable (MAINMENU_WINDOW_BASE+i, false); @@ -370,12 +368,22 @@ MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const MainFrame::~MainFrame() { + if (theApp->getConfig()) + theApp->getDocManager()->FileHistorySave (*theApp->getConfig()); + delete theApp->getDocManager(); + } void MainFrame::OnSize (wxSizeEvent& event) { +#ifdef CTSIM_MDI + int xSize, ySize; + wxMDIParentFrame::GetClientSize(&xSize, &ySize); + wxSize sizeClient (xSize, ySize); +#else wxSize sizeClient = GetClientSize(); +#endif wxSize sizeLog = sizeClient; if (sizeClient.y < 100) { sizeLog.y = 0; @@ -762,19 +770,17 @@ MainFrame::OnAbout(wxCommandEvent& WXUNUSED(event) ) ProjectionFileDocument* CTSimApp::newProjectionDoc() { - wxString strFilename (getUntitledFilename()); - strFilename += ".pj"; - - ProjectionFileDocument* newDoc = dynamic_cast(m_pDocTemplProjection->CreateDocument (strFilename)); + ProjectionFileDocument* newDoc = dynamic_cast(m_pDocTemplProjection->CreateDocument ("")); if (newDoc) { ProjectionFileView* pView = newDoc->getView(); if (pView) { wxFrame* pFrame = pView->getFrame(); - if (pFrame) - pFrame->SetSize(0,0); + if (pFrame) { + pFrame->SetSize (0,0); + pFrame->Show (false); + } } newDoc->OnNewDocument(); -// newDoc->SetFilename(strFilename, true); } return newDoc; @@ -783,19 +789,17 @@ CTSimApp::newProjectionDoc() ImageFileDocument* CTSimApp::newImageDoc() { - wxString strFilename (getUntitledFilename()); - strFilename += ".pj"; - - ImageFileDocument* newDoc = dynamic_cast(m_pDocTemplImage->CreateDocument (strFilename)); + ImageFileDocument* newDoc = dynamic_cast(m_pDocTemplImage->CreateDocument ("")); if (newDoc) { ImageFileView* pView = newDoc->getView(); if (pView) { wxFrame* pFrame = pView->getFrame(); - if (pFrame) - pFrame->SetSize(0,0); + if (pFrame) { + pFrame->SetSize (0,0); + pFrame->Show (false); + } } newDoc->OnNewDocument(); -// newDoc->SetFilename(strFilename, true); } return newDoc; @@ -804,19 +808,18 @@ CTSimApp::newImageDoc() PlotFileDocument* CTSimApp::newPlotDoc() { - wxString strFilename (getUntitledFilename()); - strFilename += ".plt"; - - PlotFileDocument* newDoc = dynamic_cast(m_pDocTemplPlot->CreateDocument (strFilename)); + PlotFileDocument* newDoc = dynamic_cast(m_pDocTemplPlot->CreateDocument ("")); if (newDoc) { PlotFileView* pView = newDoc->getView(); if (pView) { wxFrame* pFrame = pView->getFrame(); - if (pFrame) - pFrame->SetSize(0,0); + if (pFrame) { + wxSize size; + m_pFrame->GetClientSize (&size.x, &size.y); + pFrame->SetSize (size.x / 2, size.y / 2); + } } newDoc->OnNewDocument(); -// newDoc->SetFilename(strFilename, true); } return newDoc; @@ -829,16 +832,19 @@ CTSimApp::newTextDoc() wxString strFilename (getUntitledFilename()); strFilename += ".txt"; - TextFileDocument* newDoc = dynamic_cast(m_pDocTemplText->CreateDocument (strFilename)); + TextFileDocument* newDoc = dynamic_cast(m_pDocTemplText->CreateDocument ("")); if (newDoc) { TextFileView* pView = newDoc->getView(); if (pView) { wxFrame* pFrame = pView->getFrame(); - if (pFrame) - pFrame->SetSize(0,0); + if (pFrame) { + wxSize size; + m_pFrame->GetClientSize (&size.x, &size.y);; + pFrame->SetSize (size.x / 2, size.y / 2); + pFrame->Show (false); + } } newDoc->OnNewDocument(); -// newDoc->SetFilename(strFilename, true); } return newDoc; @@ -848,19 +854,15 @@ CTSimApp::newTextDoc() PhantomFileDocument* CTSimApp::newPhantomDoc() { - wxString strFilename (getUntitledFilename()); - strFilename += ".phm"; - - PhantomFileDocument* newDoc = dynamic_cast(m_pDocTemplPhantom->CreateDocument (strFilename)); + PhantomFileDocument* newDoc = dynamic_cast(m_pDocTemplPhantom->CreateDocument ("")); if (newDoc) { PhantomFileView* pView = newDoc->getView(); if (pView) { wxFrame* pFrame = pView->getFrame(); if (pFrame) - pFrame->SetSize(0,0); + pFrame->SetSize (0,0); } newDoc->OnNewDocument(); -// newDoc->SetFilename(strFilename, true); } return newDoc;