X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fctsim.cpp;h=8dc7e229b526ab201241350ab6215a2a8c48c260;hp=93a0a7100e5c6034f1a3a7fc855021ac4a305209;hb=7ae47cb0ff0a16d1c36797576155263434cc73ff;hpb=484b9ac2ebf8f88dbe36bdc1d3a9c1b6a2b242eb diff --git a/src/ctsim.cpp b/src/ctsim.cpp index 93a0a71..8dc7e22 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.14 2000/12/16 03:29:02 kevin Exp $ +** $Id: ctsim.cpp,v 1.22 2000/12/29 20:18:59 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 @@ -24,36 +24,44 @@ ** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ******************************************************************************/ - -// For compilers that support precompilation, includes "wx/wx.h". -#include "wx/wxprec.h" - -#ifdef __BORLANDC__ -#pragma hdrstop -#endif - -#ifndef WX_PRECOMP -#include "wx/wx.h" -#endif - -#if !wxUSE_DOC_VIEW_ARCHITECTURE -#error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in setup.h! -#endif - -#include "wx/docview.h" + + +// For compilers that support precompilation, includes "wx/wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ +#pragma hdrstop +#endif + +#ifndef WX_PRECOMP +#include "wx/wx.h" +#endif + +#if !wxUSE_DOC_VIEW_ARCHITECTURE +#error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in setup.h! +#endif + +#include "ct.h" #include "ctsim.h" #include "docs.h" #include "views.h" #include "dialogs.h" -#include "ctsupport.h" + #if defined(HAVE_CONFIG_H) #include "config.h" -#endif +#endif + #if defined(HAVE_GETOPT_H) || defined(HAVE_GETOPT_LONG) -#include "getopt.h" +#ifdef MSVC +#define __STDC__ 1 +#endif +#include "getopt.h" +#ifdef MSVC +#undef __STDC__ #endif - -static const char* rcsindent = "$Id: ctsim.cpp,v 1.14 2000/12/16 03:29:02 kevin Exp $"; +#endif + +static const char* rcsindent = "$Id: ctsim.cpp,v 1.22 2000/12/29 20:18:59 kevin Exp $"; class CTSimApp* theApp = NULL; @@ -95,7 +103,12 @@ CTSimApp::OnInit() switch (c) { case O_VERSION: - std::cout << rcsindent << std::endl; + std::cout << rcsindent << std::endl; +#ifdef CTSIMVERSION + std::cout << "Version: CTSIMVERSION" << std::endl; +#elif defined(VERSION) + std::cout << "Version: VERSION" << std::endl; +#endif exit(0); case O_HELP: case '?': @@ -115,6 +128,8 @@ CTSimApp::OnInit() new wxDocTemplate (m_docManager, "PhantomFile", "*.phm", "", "phm", "Phantom doc", "Phantom View", CLASSINFO(PhantomDocument), CLASSINFO(PhantomView)); + new wxDocTemplate (m_docManager, "PlotFile", "*.plt", "", "plt", "Plot doc", "Plot View", CLASSINFO(PlotFileDocument), CLASSINFO(PlotFileView)); + //// Create the main frame window m_pFrame = new MainFrame(m_docManager, (wxFrame *) NULL, -1, "CTSim", wxPoint(0, 0), wxSize(500, 400), wxDEFAULT_FRAME_STYLE); @@ -242,8 +257,18 @@ MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const void MainFrame::OnAbout(wxCommandEvent& WXUNUSED(event) ) -{ - wxMessageBox("CTSim\nThe Open Source Computed Tomography Simulator\nAuthor: Kevin Rosenberg \nUsage: ctsim [files-to-open..] [--help]", "About CTSim", wxOK | wxICON_INFORMATION, this); +{ + wxString msg = "CTSim\nThe Open Source Computed Tomography Simulator\n"; +#ifdef CTSIMVERSION + msg += "Version "; + msg += CTSIMVERSION; + msg += "\n\n"; +#elif defined(VERSION) + msg << "Version: " << VERSION << "\n\n"; +#endif + msg += "Author: Kevin Rosenberg \nUsage: ctsim [files-to-open..] [--help]"; + + wxMessageBox(msg, "About CTSim", wxOK | wxICON_INFORMATION, this); } void @@ -260,6 +285,24 @@ MainFrame::OnCreatePhantom(wxCommandEvent& WXUNUSED(event)) } +void +CTSimApp::getCompatibleImages (const ImageFileDocument* pIFDoc, std::vector& vecIF) +{ + const ImageFile& rIF = pIFDoc->getImageFile(); + unsigned int nx = rIF.nx(); + unsigned int ny = rIF.ny(); + wxList& rListDocs = m_docManager->GetDocuments(); + for (wxNode* pNode = rListDocs.GetFirst(); pNode != NULL; pNode = pNode->GetNext()) { + wxDocument* pDoc = reinterpret_cast(pNode->GetData()); + ImageFileDocument* pIFCompareDoc = dynamic_cast(pDoc); + if (pIFCompareDoc && (pIFDoc != pIFCompareDoc)) { + const ImageFile& rCompareIF = pIFCompareDoc->getImageFile(); + if (rCompareIF.nx() == nx && rCompareIF.ny() == ny) + vecIF.push_back (pIFCompareDoc); + } + } +} + void MainFrame::OnHelpContents(wxCommandEvent& WXUNUSED(event) ) {