X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fdocs.cpp;h=ac7e3a69c08b3c156767ecf13c70f3127e16b205;hb=65732cc5d8dbf867ed56a021c07c5636cea93b5a;hp=034cfe710041604be7815baf7575c92feb095ee6;hpb=dc034c9d0b7d9c3874a324a4c2c189a02945adc8;p=ctsim.git diff --git a/src/docs.cpp b/src/docs.cpp index 034cfe7..ac7e3a6 100644 --- a/src/docs.cpp +++ b/src/docs.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: docs.cpp,v 1.4 2000/12/16 06:12:47 kevin Exp $ +** $Id: docs.cpp,v 1.8 2000/12/27 03:16:02 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 @@ -72,7 +72,7 @@ bool ImageFileDocument::OnOpenDocument(const wxString& filename) wxString untitledFilename = theApp->getUntitledFilename(); SetFilename (untitledFilename, true); } else { - if (! m_imageFile.fileRead (filename)) { + if (! m_imageFile.fileRead (filename.c_str())) { *theApp->getLog() << "Unable to read image file " << filename << "\n"; return false; } @@ -80,7 +80,11 @@ bool ImageFileDocument::OnOpenDocument(const wxString& filename) SetFilename(filename, true); } Modify(false); - UpdateAllViews(); + UpdateAllViews(); + ImageFileView* ifView = dynamic_cast(GetFirstView()); + if (ifView) + ifView->OnUpdate(ifView, NULL); + return true; } @@ -106,7 +110,7 @@ IMPLEMENT_DYNAMIC_CLASS(ProjectionFileDocument, wxDocument) bool ProjectionFileDocument::OnSaveDocument(const wxString& filename) { - if (! m_projectionFile.write (filename)) { + if (! m_projectionFile.write (filename.c_str())) { *theApp->getLog() << "Unable to write projection file " << filename << "\n"; return false; } @@ -121,7 +125,7 @@ bool ProjectionFileDocument::OnOpenDocument(const wxString& filename) wxString untitledFilename = theApp->getUntitledFilename(); SetFilename (untitledFilename, true); } else { - if (! m_projectionFile.read (filename)) { + if (! m_projectionFile.read (filename.c_str())) { *theApp->getLog() << "Unable to read projection file " << filename << "\n"; return false; } @@ -192,3 +196,59 @@ void PhantomDocument::Modify(bool mod) wxDocument::Modify(mod); } + +// PlotFileDocument + +IMPLEMENT_DYNAMIC_CLASS(PlotFileDocument, wxDocument) + +bool PlotFileDocument::OnSaveDocument(const wxString& filename) +{ + m_namePlot = filename.c_str(); + if (! m_plot.fileWrite (filename)) { + *theApp->getLog() << "Unable to write plot file " << filename << "\n"; + return false; + } + *theApp->getLog() << "Wrote plot file " << filename << "\n"; + Modify(false); + return true; +} + +bool PlotFileDocument::OnOpenDocument(const wxString& filename) +{ + if (filename == "untitled.plt") { + wxString untitledFilename = theApp->getUntitledFilename(); + SetFilename (untitledFilename, true); + } else { + if (! m_plot.fileRead (filename.c_str())) { + *theApp->getLog() << "Unable to read plot file " << filename << "\n"; + return false; + } + *theApp->getLog() << "Read plot file " << filename << "\n"; + SetFilename(filename, true); + m_namePlot = filename.c_str(); + } + Modify(false); + UpdateAllViews(); + PlotFileView* ifView = dynamic_cast(GetFirstView()); + if (ifView) + ifView->OnUpdate(ifView, NULL); + + return true; +} + +bool PlotFileDocument::OnCloseDocument () +{ + bool bReturn = wxDocument::OnCloseDocument(); + return bReturn; +} + +bool PlotFileDocument::IsModified(void) const +{ + return wxDocument::IsModified(); +} + +void PlotFileDocument::Modify(bool mod) +{ + wxDocument::Modify(mod); +} +