** Date Started: July 2000
**
** This is part of the CTSim program
-** Copyright (C) 1983-2000 Kevin Rosenberg
+** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: docs.h,v 1.8 2000/12/22 04:18:00 kevin Exp $
+** $Id: docs.h,v 1.21 2001/02/02 00:46:38 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
#include "wx/docview.h"
+// #include "views.h"
#include "imagefile.h"
#include "phantom.h"
#include "projections.h"
#include "plotfile.h"
+class ProjectionFileView;
+class PhantomFileView;
+class ImageFileView;
+class PlotFileView;
+class TextFileView;
+class Graph3dFileView;
+
class ImageFileDocument: public wxDocument
{
- DECLARE_DYNAMIC_CLASS(ImageFileDocument)
private:
- ImageFile m_imageFile;
+ DECLARE_DYNAMIC_CLASS(ImageFileDocument)
+ ImageFile* m_pImageFile;
+ bool m_bBadFileOpen;
public:
virtual bool OnSaveDocument (const wxString& filename);
virtual bool OnOpenDocument (const wxString& filename);
virtual bool IsModified () const;
- virtual bool OnCloseDocument ();
+ virtual bool Revert ();
virtual void Modify (bool mod);
- ImageFileDocument () {}
- ~ImageFileDocument () {}
+ ImageFileDocument ()
+ : m_bBadFileOpen(false)
+ {
+ m_pImageFile = new ImageFile;
+ }
- const ImageFile& getImageFile() const
- { return m_imageFile; }
+ virtual ~ImageFileDocument ()
+ {
+ delete m_pImageFile;
+ }
- ImageFile& getImageFile()
- { return m_imageFile; }
+ const ImageFile& getImageFile() const { return *m_pImageFile; }
+ ImageFile& getImageFile() { return *m_pImageFile; }
+ void setImageFile (ImageFile* pImageFile)
+ {
+ delete m_pImageFile;
+ m_pImageFile = pImageFile;
+ }
+
+ ImageFileView* getView() const;
+ bool getBadFileOpen() const { return m_bBadFileOpen; }
+ void setBadFileOpen() { m_bBadFileOpen = true; }
};
class ProjectionFileDocument: public wxDocument
{
- DECLARE_DYNAMIC_CLASS(ProjectionFileDocument)
private:
- Projections m_projectionFile;
+ DECLARE_DYNAMIC_CLASS(ProjectionFileDocument)
+ Projections* m_pProjectionFile;
+ bool m_bBadFileOpen;
public:
virtual bool OnSaveDocument (const wxString& filename);
virtual bool OnOpenDocument (const wxString& filename);
virtual bool IsModified () const;
- virtual bool OnCloseDocument ();
virtual void Modify (bool mod);
- ProjectionFileDocument () {}
- ~ProjectionFileDocument () {}
+ ProjectionFileDocument ()
+ : m_bBadFileOpen(false)
+ {
+ m_pProjectionFile = new Projections;
+ }
+
+ virtual ~ProjectionFileDocument ()
+ {
+ delete m_pProjectionFile;
+ }
+
+ const Projections& getProjections () const { return *m_pProjectionFile; }
+ Projections& getProjections () { return *m_pProjectionFile; }
- const Projections& getProjections () const
- { return m_projectionFile; }
+ void setProjections (Projections* pProjections)
+ { delete m_pProjectionFile;
+ m_pProjectionFile = pProjections;
+ }
- Projections& getProjections ()
- { return m_projectionFile; }
+ ProjectionFileView* getView() const;
+ bool getBadFileOpen() const { return m_bBadFileOpen; }
+ void setBadFileOpen() { m_bBadFileOpen = true; }
};
-class PhantomDocument: public wxDocument
+class PhantomFileDocument: public wxDocument
{
- DECLARE_DYNAMIC_CLASS(PhantomDocument)
-
private:
+ DECLARE_DYNAMIC_CLASS(PhantomFileDocument)
Phantom m_phantom;
int m_idPhantom;
wxString m_namePhantom;
+ bool m_bBadFileOpen;
public:
- PhantomDocument ()
- : m_idPhantom(Phantom::PHM_INVALID)
- {}
+ PhantomFileDocument ()
+ : m_idPhantom(Phantom::PHM_INVALID), m_bBadFileOpen(false)
+ {}
- ~PhantomDocument ()
- {}
+ virtual ~PhantomFileDocument ()
+ {}
- const int getPhantomID () const
- { return m_idPhantom; }
+ const int getPhantomID () const { return m_idPhantom; }
- const wxString& getPhantomName () const
- { return m_namePhantom; }
+ const wxString& getPhantomName () const { return m_namePhantom; }
- const Phantom& getPhantom () const
- { return m_phantom; }
+ const Phantom& getPhantom () const { return m_phantom; }
- Phantom& getPhantom ()
- { return m_phantom; }
+ Phantom& getPhantom () { return m_phantom; }
virtual bool OnOpenDocument (const wxString& filename);
- virtual bool OnCloseDocument ();
+ virtual bool OnSaveDocument (const wxString& filename);
virtual bool IsModified () const;
virtual void Modify (bool mod);
+ PhantomFileView* getView() const;
+ bool getBadFileOpen() const { return m_bBadFileOpen; }
+ void setBadFileOpen() { m_bBadFileOpen = true; }
};
-\r
-\r
+
+
class PlotFileDocument: public wxDocument
{
- DECLARE_DYNAMIC_CLASS(PlotFileDocument)
-
private:
+ DECLARE_DYNAMIC_CLASS(PlotFileDocument)
PlotFile m_plot;
wxString m_namePlot;
+ bool m_bBadFileOpen;
public:
PlotFileDocument ()
- {}
+ : m_bBadFileOpen(false)
+ {}
- ~PlotFileDocument ()
+ virtual ~PlotFileDocument ()
{}
const wxString& getPlotName () const
const PlotFile& getPlotFile () const
{ return m_plot; }
- PlotFile& getPlotFile ()\r
- { return m_plot; }\r
-\r
+ PlotFile& getPlotFile ()
+ { return m_plot; }
+
virtual bool OnOpenDocument (const wxString& filename);
- virtual bool OnCloseDocument ();
+ virtual bool OnSaveDocument (const wxString& filename);
virtual bool IsModified () const;
virtual void Modify (bool mod);
+ PlotFileView* getView() const;
+ bool getBadFileOpen() const { return m_bBadFileOpen; }
+ void setBadFileOpen() { m_bBadFileOpen = true; }
+};
+
+
+class TextFileDocument: public wxDocument
+{
+ private:
+ DECLARE_DYNAMIC_CLASS(TextFileDocument)
+ bool m_bBadFileOpen;
+
+ public:
+ TextFileDocument(void)
+ : m_bBadFileOpen(false)
+ {}
+
+ virtual ~TextFileDocument(void) {}
+
+ virtual bool OnSaveDocument(const wxString& filename);
+ virtual bool OnOpenDocument(const wxString& filename);
+ virtual bool IsModified(void) const;
+
+ wxTextCtrl* getTextCtrl();
+
+ TextFileView* getView() const;
+ bool getBadFileOpen() const { return m_bBadFileOpen; }
+ void setBadFileOpen() { m_bBadFileOpen = true; }
+};
+
+
+#if wxUSE_GLCANVAS
+#include <GL/gl.h>
+#include <GL/glu.h>
+
+typedef GLfloat glTripleFloat[3];
+
+class Graph3dFileDocument: public wxDocument
+{
+ friend Graph3dFileView;
+
+ private:
+ DECLARE_DYNAMIC_CLASS(Graph3dFileDocument)
+ bool m_bBadFileOpen;
+ GLint m_nVertices;
+ glTripleFloat* m_pVertices;
+ glTripleFloat* m_pNormals;
+ unsigned int m_nx;
+ unsigned int m_ny;
+ ImageFileArray m_array;
+
+ public:
+ Graph3dFileDocument(void);
+ virtual ~Graph3dFileDocument(void);
+
+ virtual bool OnSaveDocument (const wxString& filename);
+ virtual bool OnOpenDocument (const wxString& filename);
+ virtual bool IsModified () const;
+
+ Graph3dFileView* getView() const;
+ bool getBadFileOpen() const { return m_bBadFileOpen; }
+ void setBadFileOpen() { m_bBadFileOpen = true; }
+ bool createFromImageFile (const ImageFile& rImageFile);
+
+ int nx() const { return m_nx; }
+ int ny() const { return m_ny; }
+ ImageFileArray getArray() { return m_array; }
+ ImageFileArrayConst getArray() const { return m_array; }
};
+#endif // wxUSE_GLCANVAS
#endif