X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fctsim.cpp;h=bc2a47bf6b5cd8a3abe89819e855712a98ff9ee0;hb=68e8313b5c4ede4b5bc659224f4adc8db47f98c6;hp=2d94fa4addd39bc88332c5ee4df70448c755a285;hpb=bd1d464294e037da19ccc80d8cc60475768eb2ca;p=ctsim.git diff --git a/src/ctsim.cpp b/src/ctsim.cpp index 2d94fa4..bc2a47b 100644 --- a/src/ctsim.cpp +++ b/src/ctsim.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: ctsim.cpp,v 1.102 2001/09/24 09:40:42 kevin Exp $ +** $Id: ctsim.cpp,v 1.116 2002/06/09 16:20:07 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.102 2001/09/24 09:40:42 kevin Exp $"; +static const char* rcsindent = "$Id: ctsim.cpp,v 1.116 2002/06/09 16:20:07 kevin Exp $"; struct option CTSimApp::ctsimOptions[] = { @@ -119,9 +119,9 @@ CTSimApp::OnInit() case O_VERSION: std::cout << rcsindent << std::endl; #ifdef CTSIMVERSION - std::cout << "Version: CTSIMVERSION" << std::endl; + std::cout << "Version: " << CTSIMVERSION << std::endl; #elif defined(VERSION) - std::cout << "Version: VERSION" << std::endl; + std::cout << "Version: " << VERSION << std::endl; #endif exit(0); case O_HELP: @@ -159,8 +159,14 @@ 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(nearest(xDisplay * .25), nearest(yDisplay * .255)), wxDEFAULT_FRAME_STYLE); +#ifdef CTSIM_MDI + wxSize(nearest(xDisplay * .75), nearest(yDisplay * .75)), +#else + wxSize(nearest(xDisplay * .6), nearest(yDisplay * .4)), +#endif + wxDEFAULT_FRAME_STYLE); setIconForFrame (m_pFrame); m_pFrame->Centre(wxBOTH); @@ -180,7 +186,7 @@ CTSimApp::OnInit() int xSize, ySize; m_pFrame->GetClientSize(&xSize, &ySize); int yLogSize = ySize / 4; - m_pLogDoc->getView()->getFrame()->SetSize (0, ySize - yLogSize, xSize, yLogSize); + m_pLogDoc->getView()->getFrame()->SetClientSize (0, ySize - yLogSize, xSize, yLogSize); m_pLogDoc->getView()->getFrame()->Show (true); } else #else @@ -195,8 +201,10 @@ CTSimApp::OnInit() if (! m_pFrame->getWinHelpController().Initialize(helpDir + "/ctsim")) *m_pLog << "Cannot initialize the Windows Help system" << "\n"; #else - if (! m_pFrame->getHtmlHelpController().Initialize(helpDir + "/ctsim") && - ! m_pFrame->getHtmlHelpController().Initialize("/usr/local/man/ctsim")) + wxString docDir (DATADIR); + wxString docFile = docDir + "ctsim.htb"; + if (! m_pFrame->getHtmlHelpController().AddBook(docFile) && + ! m_pFrame->getHtmlHelpController().Initialize("/usr/share/ctsim/ctsim.htb")) *m_pLog << "Cannot initialize the HTML Help system" << "\n"; else { if (::wxDirExists ("/tmp")) @@ -518,8 +526,8 @@ MainFrame::OnSize (wxSizeEvent& event) int xSize, ySize; GetClientSize(&xSize, &ySize); int yLogSize = ySize / 4; - theApp->getLogDoc()->getView()->getFrame()->SetSize (0, ySize - yLogSize, xSize, yLogSize); - theApp->getLogDoc()->getView()->getFrame()->Show (true); + theApp->getLogDoc()->getView()->getFrame()->SetSize (0, ySize - yLogSize, xSize, yLogSize); + theApp->getLogDoc()->getView()->getFrame()->Show (true); } #endif @@ -618,15 +626,8 @@ MainFrame::OnNewImageFile (wxCommandEvent& event) return; } pImageDoc->setImageFile (pImageFile); - pImageDoc->UpdateAllViews (NULL); - if (ImageFileView* imageView = pImageDoc->getView()) { - imageView->OnUpdate (imageView, NULL); - imageView->getFrame()->SetFocus(); - imageView->getFrame()->Show(true); - } if (theApp->getAskDeleteNewDocs()) pImageDoc->Modify (true); - } void @@ -639,13 +640,6 @@ MainFrame::OnNewProjectionFile (wxCommandEvent& event) return; } pProjDoc->setProjections (pProjections); - pProjDoc->UpdateAllViews (NULL); - if (ProjectionFileView* projView = pProjDoc->getView()) { - projView->OnUpdate (projView, NULL); - projView->getFrame()->SetFocus(); - projView->getFrame()->Show(true); - } - if (theApp->getAskDeleteNewDocs()) pProjDoc->Modify (true); } @@ -678,7 +672,7 @@ MainFrame::OnHelpButton (wxCommandEvent& event) void MainFrame::OnHelpSecondary (wxCommandEvent& event) { - m_htmlHelp.DisplayContents(); + m_htmlHelp.Display ("Contents"); } #endif @@ -691,7 +685,7 @@ MainFrame::showHelp (int commandID) #ifdef CTSIM_WINHELP m_winHelp.DisplayContents (); #else - m_htmlHelp.DisplayContents (); + m_htmlHelp.Display ("Contents"); #endif break; @@ -740,15 +734,6 @@ MainFrame::OnUpdateUI (wxUpdateUIEvent& rEvent) #endif } -#ifdef CTSIM_CUSTOM_MRU -void -MainFrame::OnMRUFile (wxCommandEvent& event) -{ - wxString fileName (theApp->getDocManager()->GetHistoryFile(event.GetId() - wxID_FILE1)); - if (fileName != "") - theApp->getDocManager()->CreateDocument(fileName, wxDOC_SILENT); -} -#endif void MainFrame::DoWindowMenu (int iMenuPosition, wxCommandEvent& event) @@ -997,15 +982,14 @@ MainFrame::OnImport (wxCommandEvent& WXUNUSED(event) ) ImageFileDocument* pIFDoc = theApp->newImageDoc(); ImageFile* pIF = dicomImport.getImageFile(); pIFDoc->setImageFile (pIF); - pIFDoc->getView()->getFrame()->Show(true); std::ostringstream os; os << "Import file " << strFilename.c_str() << " (type " << strFormatName.c_str() << ")"; pIF->labelAdd (os.str().c_str()); if (theApp->getAskDeleteNewDocs()) pIFDoc->Modify (true); pIFDoc->UpdateAllViews(); - pIFDoc->GetFirstView()->OnUpdate (NULL, NULL); - pIFDoc->getView()->getFrame()->Show(true); + pIFDoc->getView()->setInitialClientSize(); + pIFDoc->Activate(); } else if (dicomImport.testProjections()) { ProjectionFileDocument* pProjDoc = theApp->newProjectionDoc(); Projections* pProj = dicomImport.getProjections(); @@ -1017,8 +1001,8 @@ MainFrame::OnImport (wxCommandEvent& WXUNUSED(event) ) if (theApp->getAskDeleteNewDocs()) pProjDoc->Modify (true); pProjDoc->UpdateAllViews(); - pProjDoc->GetFirstView()->OnUpdate (NULL, NULL); - pProjDoc->getView()->getFrame()->Show(true); + pProjDoc->getView()->setInitialClientSize(); + pProjDoc->Activate(); } else ::wxMessageBox ("Unrecognized DICOM file contents", "Import Error"); } @@ -1042,11 +1026,16 @@ MainFrame::OnAbout(wxCommandEvent& WXUNUSED(event) ) *theApp->getLog() << ", Build Date: " << __TIMESTAMP__; #endif #if defined(DEBUG) - *theApp->getLog() << ", CTSim Debug version"; + *theApp->getLog() << ", CTSim Debug version" << "\n"; #else - *theApp->getLog() << ", CTSim Release version"; + *theApp->getLog() << ", CTSim Release version" << "\n"; +#endif +#ifdef CTSIMVERSION + *theApp->getLog() << "Version "; + *theApp->getLog() << CTSIMVERSION; +#elif defined(VERSION) + *theApp->getLog() << "Version: " << VERSION; #endif - *theApp->getLog() << "\n"; wxBitmap bmp (splash); @@ -1069,25 +1058,32 @@ MainFrame::OnAbout(wxCommandEvent& WXUNUSED(event) ) } } +#if 0 +ProjectionFileDocument* +CTSimApp::newProjectionDoc() +{ + ProjectionFileDocument* newDoc = dynamic_cast + (m_pDocTemplProjection->CreateDocument ("")); + if (newDoc) { + newDoc->SetDocumentName (m_pDocTemplProjection->GetDocumentName()); + newDoc->SetDocumentTemplate (m_pDocTemplProjection); + newDoc->OnNewDocument(); + } + + return newDoc; +} +#endif ProjectionFileDocument* CTSimApp::newProjectionDoc() { 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); - pFrame->Show (false); - } - } newDoc->SetDocumentName (m_pDocTemplProjection->GetDocumentName()); newDoc->SetDocumentTemplate (m_pDocTemplProjection); newDoc->OnNewDocument(); } - + return newDoc; } @@ -1096,19 +1092,11 @@ CTSimApp::newImageDoc() { 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); - pFrame->Show (false); - } - } newDoc->SetDocumentName (m_pDocTemplImage->GetDocumentName()); newDoc->SetDocumentTemplate (m_pDocTemplImage); newDoc->OnNewDocument(); } - + return newDoc; } @@ -1117,16 +1105,6 @@ CTSimApp::newPlotDoc() { PlotFileDocument* newDoc = dynamic_cast(m_pDocTemplPlot->CreateDocument ("")); if (newDoc) { - PlotFileView* pView = newDoc->getView(); - if (pView) { - wxFrame* pFrame = pView->getFrame(); - if (pFrame) { - wxSize size; - m_pFrame->GetClientSize (&size.x, &size.y); - pFrame->SetSize (size.x / 2, size.y / 2); - pFrame->Show (false); - } - } newDoc->SetDocumentName (m_pDocTemplPlot->GetDocumentName()); newDoc->SetDocumentTemplate (m_pDocTemplPlot); newDoc->OnNewDocument(); @@ -1144,16 +1122,6 @@ CTSimApp::newTextDoc() TextFileDocument* newDoc = dynamic_cast(m_pDocTemplText->CreateDocument ("")); if (newDoc) { - TextFileView* pView = newDoc->getView(); - if (pView) { - wxFrame* pFrame = pView->getFrame(); - if (pFrame) { - wxSize size; - m_pFrame->GetClientSize (&size.x, &size.y);; - pFrame->SetSize (size.x / 2, size.y / 2); - pFrame->Show (false); - } - } newDoc->SetDocumentName (m_pDocTemplText->GetDocumentName()); newDoc->SetDocumentTemplate (m_pDocTemplText); newDoc->OnNewDocument(); @@ -1168,12 +1136,6 @@ CTSimApp::newPhantomDoc() { 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); - } newDoc->SetDocumentName (m_pDocTemplPhantom->GetDocumentName()); newDoc->SetDocumentTemplate (m_pDocTemplPhantom); newDoc->OnNewDocument(); @@ -1182,19 +1144,13 @@ CTSimApp::newPhantomDoc() return newDoc; } -#if wxUSE_GLCANVAS +#if wxUSE_GLCANVAS Graph3dFileDocument* CTSimApp::newGraph3dDoc() { Graph3dFileDocument* newDoc = dynamic_cast(m_pDocTemplGraph3d->CreateDocument ("")); if (newDoc) { - Graph3dFileView* pView = newDoc->getView(); - if (pView) { - wxFrame* pFrame = pView->getFrame(); - if (pFrame) - pFrame->SetSize (0,0); - } newDoc->SetDocumentName (m_pDocTemplGraph3d->GetDocumentName()); newDoc->SetDocumentTemplate (m_pDocTemplGraph3d); newDoc->OnNewDocument();