X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fctsim.h;h=2577849c4eecd6c78299466f6d5f2b900dd15c3e;hb=31a835d9aebd8acb367a033cc92efb4c944a7b4d;hp=a242109fa1a0ac05bdbae41d5af66dddc241d16b;hpb=a5d437cb4228b07f8c005eaca497c317b8c19d14;p=ctsim.git diff --git a/src/ctsim.h b/src/ctsim.h index a242109..2577849 100644 --- a/src/ctsim.h +++ b/src/ctsim.h @@ -7,9 +7,9 @@ ** Date Started: July 2000 ** ** This is part of the CTSim program -** Copyright (C) 1983-2000 Kevin Rosenberg +** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: ctsim.h,v 1.30 2001/01/20 17:43:41 kevin Exp $ +** $Id: ctsim.h,v 1.38 2001/01/30 10:58:13 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 @@ -54,11 +54,14 @@ class wxMenu; class wxDocument; - class ImageFileDocument; +class ProjectionFileDocument; +class PhantomFileDocument; +class PlotFileDocument; +class TextFileDocument; +class Graph3dFileDocument; #include - #include "wx/docview.h" #include "wx/textctrl.h" #include "wx/menu.h" @@ -78,10 +81,14 @@ class MainFrame: public wxDocMDIParentFrame class MainFrame: public wxDocParentFrame #endif { - DECLARE_CLASS(MainFrame) private: + DECLARE_CLASS(MainFrame) + DECLARE_EVENT_TABLE() + +#ifndef CTSIM_MDI wxMenu* m_pWindowMenu; - +#endif + enum { MAX_WINDOW_MENUITEMS = 20 }; wxMenuItem* m_apWindowMenuItems[MAX_WINDOW_MENUITEMS]; wxDocument* m_apWindowMenuData[MAX_WINDOW_MENUITEMS]; @@ -95,7 +102,9 @@ private: double m_dDefaultFilterBandwidth; double m_dDefaultFilterInputScale; double m_dDefaultFilterOutputScale; - + + bool m_bShuttingDown; + #if CTSIM_WINHELP wxWinHelpController m_winHelp; #endif @@ -103,7 +112,7 @@ private: public: MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, const long type); - ~MainFrame(); + virtual ~MainFrame(); #ifdef CTSIM_CUSTOM_MRU void OnMRUFile (wxCommandEvent& event); @@ -155,8 +164,8 @@ public: void OnWindowMenu19 (wxCommandEvent& event); void DoWindowMenu (int iMenuPosition, wxCommandEvent& event); - - DECLARE_EVENT_TABLE() + + bool getShuttingDown() const { return m_bShuttingDown; } }; @@ -164,17 +173,23 @@ class wxDocManager; class CTSimApp: public wxApp { private: + enum { O_HELP, O_VERSION }; + static struct option ctsimOptions[]; + wxDocManager* m_docManager; MainFrame* m_pFrame; wxConfig* m_pConfig; - - void usage (const char* program); - - static struct option ctsimOptions[]; - - enum { O_HELP, O_VERSION }; wxTextCtrl* m_pLog; + wxDocTemplate* m_pDocTemplImage; + wxDocTemplate* m_pDocTemplProjection; + wxDocTemplate* m_pDocTemplPhantom; + wxDocTemplate* m_pDocTemplPlot; + wxDocTemplate* m_pDocTemplText; + wxDocTemplate* m_pDocTemplGraph3d; + TextFileDocument* m_pLogDoc; + void usage (const char* program); + public: CTSimApp(); bool OnInit(); @@ -195,12 +210,24 @@ public: void getCompatibleImages (const ImageFileDocument* pIFDoc, std::vector& vecIF); - bool getSetModifyNewDocs() const - { return true; } - void setIconForFrame (wxFrame* pFrame); wxConfig* getConfig() { return m_pConfig; } + + wxDocTemplate* getDocTemplImage() { return m_pDocTemplImage; } + wxDocTemplate* getDocTemplProjection() { return m_pDocTemplProjection; } + wxDocTemplate* getDocTemplPhantom() { return m_pDocTemplPhantom; } + wxDocTemplate* getDocTemplPlot() { return m_pDocTemplPlot; } + wxDocTemplate* getDocTemplText() { return m_pDocTemplText; } + wxDocTemplate* getDocTemplGraph3d() { return m_pDocTemplGraph3d; } + TextFileDocument* getLogDoc() { return m_pLogDoc; } + + ProjectionFileDocument* newProjectionDoc(); + ImageFileDocument* newImageDoc(); + PhantomFileDocument* newPhantomDoc(); + PlotFileDocument* newPlotDoc(); + TextFileDocument* newTextDoc(); + Graph3dFileDocument* newGraph3dDoc(); }; DECLARE_APP(CTSimApp) @@ -245,6 +272,7 @@ enum { IFMENU_IMAGE_SUBTRACT, IFMENU_IMAGE_MULTIPLY, IFMENU_IMAGE_DIVIDE, + IFMENU_IMAGE_CONVERT3D, IFMENU_FILTER_INVERTVALUES, IFMENU_FILTER_SQRT,