projects
/
ctsim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r470: Fixed shutdown error, take 3
[ctsim.git]
/
src
/
docs.cpp
diff --git
a/src/docs.cpp
b/src/docs.cpp
index daef2f4dfc897f89e26047e6457a846083b4a0f3..88e6ba59222e8f2f8c5dda1b7e6649bf73ace788 100644
(file)
--- a/
src/docs.cpp
+++ b/
src/docs.cpp
@@
-9,7
+9,7
@@
** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: docs.cpp,v 1.1
6 2001/01/28 19:10:18
kevin Exp $
+** $Id: docs.cpp,v 1.1
7 2001/01/30 02:20:50
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
**
** 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
@@
-68,17
+68,21
@@
bool ImageFileDocument::OnSaveDocument(const wxString& filename)
bool ImageFileDocument::OnOpenDocument(const wxString& filename)
{
bool ImageFileDocument::OnOpenDocument(const wxString& filename)
{
+ if (! OnSaveModified())
+ return false;
+
if (! m_imageFile.fileRead (filename.c_str())) {
*theApp->getLog() << "Unable to read image file " << filename << "\n";
if (! m_imageFile.fileRead (filename.c_str())) {
*theApp->getLog() << "Unable to read image file " << filename << "\n";
+ m_bBadFileOpen = true;
return false;
}
*theApp->getLog() << "Read image file " << filename << "\n";
return false;
}
*theApp->getLog() << "Read image file " << filename << "\n";
- SetFilename(filename, true);
-
+ SetFilename(filename, true);
Modify(false);
UpdateAllViews();
GetFirstView()->OnUpdate (GetFirstView(), NULL);
Modify(false);
UpdateAllViews();
GetFirstView()->OnUpdate (GetFirstView(), NULL);
-
+ m_bBadFileOpen = false;
+
return true;
}
return true;
}
@@
-115,8
+119,12
@@
bool ProjectionFileDocument::OnSaveDocument(const wxString& filename)
bool ProjectionFileDocument::OnOpenDocument(const wxString& filename)
{
bool ProjectionFileDocument::OnOpenDocument(const wxString& filename)
{
+ if (! OnSaveModified())
+ return false;
+
if (! m_projectionFile.read (filename.c_str())) {
*theApp->getLog() << "Unable to read projection file " << filename << "\n";
if (! m_projectionFile.read (filename.c_str())) {
*theApp->getLog() << "Unable to read projection file " << filename << "\n";
+ m_bBadFileOpen = true;
return false;
}
*theApp->getLog() << "Read projection file " << filename << "\n";
return false;
}
*theApp->getLog() << "Read projection file " << filename << "\n";
@@
-124,6
+132,7
@@
bool ProjectionFileDocument::OnOpenDocument(const wxString& filename)
Modify(false);
UpdateAllViews();
GetFirstView()->OnUpdate (GetFirstView(), NULL);
Modify(false);
UpdateAllViews();
GetFirstView()->OnUpdate (GetFirstView(), NULL);
+ m_bBadFileOpen = false;
return true;
}
return true;
}
@@
-151,6
+160,9
@@
IMPLEMENT_DYNAMIC_CLASS(PhantomFileDocument, wxDocument)
bool PhantomFileDocument::OnOpenDocument(const wxString& filename)
{
bool PhantomFileDocument::OnOpenDocument(const wxString& filename)
{
+ if (! OnSaveModified())
+ return false;
+
wxString myFilename = filename;
if (wxFile::Exists (myFilename)) {
m_phantom.createFromFile (myFilename);
wxString myFilename = filename;
if (wxFile::Exists (myFilename)) {
m_phantom.createFromFile (myFilename);
@@
-163,12
+175,14
@@
bool PhantomFileDocument::OnOpenDocument(const wxString& filename)
SetFilename (myFilename, true);
if (m_phantom.fail()) {
*theApp->getLog() << "Failure creating phantom " << myFilename << "\n";
SetFilename (myFilename, true);
if (m_phantom.fail()) {
*theApp->getLog() << "Failure creating phantom " << myFilename << "\n";
+ m_bBadFileOpen = true;
return false;
}
m_idPhantom = m_phantom.id();
Modify(false);
UpdateAllViews();
GetFirstView()->OnUpdate (GetFirstView(), NULL);
return false;
}
m_idPhantom = m_phantom.id();
Modify(false);
UpdateAllViews();
GetFirstView()->OnUpdate (GetFirstView(), NULL);
+ m_bBadFileOpen = false;
return true;
}
return true;
}
@@
-219,8
+233,12
@@
bool PlotFileDocument::OnSaveDocument(const wxString& filename)
bool PlotFileDocument::OnOpenDocument(const wxString& filename)
{
bool PlotFileDocument::OnOpenDocument(const wxString& filename)
{
+ if (! OnSaveModified())
+ return false;
+
if (! m_plot.fileRead (filename.c_str())) {
*theApp->getLog() << "Unable to read plot file " << filename << "\n";
if (! m_plot.fileRead (filename.c_str())) {
*theApp->getLog() << "Unable to read plot file " << filename << "\n";
+ m_bBadFileOpen = true;
return false;
}
*theApp->getLog() << "Read plot file " << filename << "\n";
return false;
}
*theApp->getLog() << "Read plot file " << filename << "\n";
@@
-229,6
+247,7
@@
bool PlotFileDocument::OnOpenDocument(const wxString& filename)
Modify (false);
UpdateAllViews();
GetFirstView()->OnUpdate (NULL, NULL);
Modify (false);
UpdateAllViews();
GetFirstView()->OnUpdate (NULL, NULL);
+ m_bBadFileOpen = false;
return true;
}
return true;
}
@@
-273,12
+292,15
@@
bool TextFileDocument::OnOpenDocument(const wxString& filename)
{
TextFileView *view = getView();
{
TextFileView *view = getView();
- if (! view->getTextCtrl()->LoadFile(filename))
+ if (! view->getTextCtrl()->LoadFile(filename)) {
+ m_bBadFileOpen = true;
return false;
return false;
+ }
SetFilename (filename, true);
Modify (false);
UpdateAllViews();
SetFilename (filename, true);
Modify (false);
UpdateAllViews();
+ m_bBadFileOpen = false;
return true;
}
return true;
}
@@
-300,3
+322,10
@@
TextFileDocument::getView() const
{
return dynamic_cast<TextFileView*>(GetFirstView());
}
{
return dynamic_cast<TextFileView*>(GetFirstView());
}
+
+wxTextCtrl*
+TextFileDocument::getTextCtrl()
+{
+ return dynamic_cast<TextFileView*>(GetFirstView())->getTextCtrl();
+}
+