X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fctsim.cpp;h=a5a889aad72aeef87a22a338a8844e3babbe26ac;hp=d0cc8c686c28072b085a780b62a4c5d216163ef0;hb=dfe03b8fc348b60a8f0b012f3f76c24ad29f21ce;hpb=80386e67159c3d36b65bf7a55d2197084ee6745c diff --git a/src/ctsim.cpp b/src/ctsim.cpp index d0cc8c6..a5a889a 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.41 2001/01/26 00:45:24 kevin Exp $ +** $Id: ctsim.cpp,v 1.42 2001/01/26 05:37:24 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.41 2001/01/26 00:45:24 kevin Exp $"; +static const char* rcsindent = "$Id: ctsim.cpp,v 1.42 2001/01/26 05:37:24 kevin Exp $"; struct option CTSimApp::ctsimOptions[] = { @@ -133,11 +133,11 @@ CTSimApp::OnInit() m_docManager = new wxDocManager (wxDEFAULT_DOCMAN_FLAGS, true); - new wxDocTemplate (m_docManager, "ImageFile", "*.if", "", "if", "ImageFile", "ImageView", CLASSINFO(ImageFileDocument), CLASSINFO(ImageFileView)); - new wxDocTemplate (m_docManager, "ProjectionFile", "*.pj", "", "pj", "ProjectionFile", "ProjectionView", CLASSINFO(ProjectionFileDocument), CLASSINFO(ProjectionFileView)); - new wxDocTemplate (m_docManager, "PhantomFile", "*.phm", "", "phm", "PhantomFile", "PhantomView", CLASSINFO(PhantomDocument), CLASSINFO(PhantomView)); - new wxDocTemplate (m_docManager, "PlotFile", "*.plt", "", "plt", "PlotFile", "PlotView", CLASSINFO(PlotFileDocument), CLASSINFO(PlotFileView)); - new wxDocTemplate (m_docManager, "TextEdit", "*.txt", "", "txt", "TextFile", "TextView", CLASSINFO(TextEditDocument), CLASSINFO(TextEditView), wxTEMPLATE_INVISIBLE); + m_pDocTemplImage = new wxDocTemplate (m_docManager, "ImageFile", "*.if", "", "if", "ImageFile", "ImageView", CLASSINFO(ImageFileDocument), CLASSINFO(ImageFileView)); + m_pDocTemplProjection = new wxDocTemplate (m_docManager, "ProjectionFile", "*.pj", "", "pj", "ProjectionFile", "ProjectionView", CLASSINFO(ProjectionFileDocument), CLASSINFO(ProjectionFileView)); + m_pDocTemplPhantom = new wxDocTemplate (m_docManager, "PhantomFile", "*.phm", "", "phm", "PhantomFile", "PhantomView", CLASSINFO(PhantomFileDocument), CLASSINFO(PhantomFileView)); + m_pDocTemplPlot = new wxDocTemplate (m_docManager, "PlotFile", "*.plt", "", "plt", "PlotFile", "PlotView", CLASSINFO(PlotFileDocument), CLASSINFO(PlotFileView)); + m_pDocTemplText = new wxDocTemplate (m_docManager, "TextFile", "*.txt", "", "txt", "TextFile", "TextView", CLASSINFO(TextFileDocument), CLASSINFO(TextFileView), wxTEMPLATE_INVISIBLE); #if wxUSE_GIF wxImage::AddHandler(new wxGIFHandler); // Required for images in the online documentation @@ -171,9 +171,16 @@ CTSimApp::OnInit() ::wxMessageBox ("Cannot initialize the help system", "Error"); #ifdef CTSIM_MDI - TextEditDocument* pLogDoc = dynamic_cast(m_docManager->CreateDocument("Log.txt", wxDOC_SILENT)); + TextFileDocument* pLogDoc = newTextDoc(); if (pLogDoc) { m_pLog = pLogDoc->getTextCtrl(); + pLogDoc->SetDocumentName("Log.txt"); + pLogDoc->SetFilename("Log.txt"); + pLogDoc->getView()->getFrame()->SetTitle("Log"); + int xSize, ySize; + m_pFrame->GetSize(&xSize, &ySize); + int yLogSize = ySize / 4; + pLogDoc->getView()->getFrame()->SetSize (0, 0, xSize, yLogSize); } else #else m_pLog = new wxTextCtrl (m_pFrame, -1, "Log Window\n", wxPoint(0, 0), wxSize(0,0), wxTE_MULTILINE | wxTE_READONLY); @@ -749,3 +756,125 @@ MainFrame::OnAbout(wxCommandEvent& WXUNUSED(event) ) } } + +ProjectionFileDocument* +CTSimApp::newProjectionDoc() +{ + wxString strFilename (getUntitledFilename()); + strFilename += ".pj"; + + ProjectionFileDocument* newDoc = dynamic_cast(m_pDocTemplProjection->CreateDocument (strFilename)); + if (newDoc) { + ProjectionFileView* pView = newDoc->getView(); + if (pView) { + wxFrame* pFrame = pView->getFrame(); + if (pFrame) + pFrame->SetSize(0,0); + } + newDoc->SetDocumentName(strFilename); + newDoc->SetFilename(strFilename); + newDoc->SetDocumentTemplate(m_pDocTemplProjection); + newDoc->SetTitle(strFilename); + newDoc->OnNewDocument(); + } + + return newDoc; +} + +ImageFileDocument* +CTSimApp::newImageDoc() +{ + wxString strFilename (getUntitledFilename()); + strFilename += ".pj"; + + ImageFileDocument* newDoc = dynamic_cast(m_pDocTemplImage->CreateDocument (strFilename)); + if (newDoc) { + ImageFileView* pView = newDoc->getView(); + if (pView) { + wxFrame* pFrame = pView->getFrame(); + if (pFrame) + pFrame->SetSize(0,0); + } + newDoc->SetDocumentName(strFilename); + newDoc->SetFilename(strFilename); + newDoc->SetDocumentTemplate(m_pDocTemplImage); + newDoc->SetTitle(strFilename); + newDoc->OnNewDocument(); + } + + return newDoc; +} + +PlotFileDocument* +CTSimApp::newPlotDoc() +{ + wxString strFilename (getUntitledFilename()); + strFilename += ".plt"; + + PlotFileDocument* newDoc = dynamic_cast(m_pDocTemplPlot->CreateDocument (strFilename)); + if (newDoc) { + PlotFileView* pView = newDoc->getView(); + if (pView) { + wxFrame* pFrame = pView->getFrame(); + if (pFrame) + pFrame->SetSize(0,0); + } + newDoc->SetDocumentName(strFilename); + newDoc->SetFilename(strFilename); + newDoc->SetDocumentTemplate(m_pDocTemplPlot); + newDoc->SetTitle(strFilename); + newDoc->OnNewDocument(); + } + + return newDoc; +} + + +TextFileDocument* +CTSimApp::newTextDoc() +{ + wxString strFilename (getUntitledFilename()); + strFilename += ".txt"; + + TextFileDocument* newDoc = dynamic_cast(m_pDocTemplText->CreateDocument (strFilename)); + if (newDoc) { + TextFileView* pView = newDoc->getView(); + if (pView) { + wxFrame* pFrame = pView->getFrame(); + if (pFrame) + pFrame->SetSize(0,0); + } + newDoc->SetDocumentName(strFilename); + newDoc->SetFilename(strFilename); + newDoc->SetDocumentTemplate(m_pDocTemplText); + newDoc->SetTitle(strFilename); + newDoc->OnNewDocument(); + } + + return newDoc; +} + + +PhantomFileDocument* +CTSimApp::newPhantomDoc() +{ + wxString strFilename (getUntitledFilename()); + strFilename += ".phm"; + + PhantomFileDocument* newDoc = dynamic_cast(m_pDocTemplPhantom->CreateDocument (strFilename)); + if (newDoc) { + PhantomFileView* pView = newDoc->getView(); + if (pView) { + wxFrame* pFrame = pView->getFrame(); + if (pFrame) + pFrame->SetSize(0,0); + } + newDoc->SetDocumentName(strFilename); + newDoc->SetFilename(strFilename); + newDoc->SetDocumentTemplate(m_pDocTemplPhantom); + newDoc->SetTitle(strFilename); + newDoc->OnNewDocument(); + } + + return newDoc; +}