X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fctsim.h;h=6edcfcf8b9564fc6d538bdc8f2ba5b6db415d806;hp=486224bafc3a02b50442062a9497c0f4152fa12a;hb=c70eb596eeeeda21f872065d9e11a67996394626;hpb=f7d2b7144f32a7bd157b7689022e62944b82fcc1 diff --git a/src/ctsim.h b/src/ctsim.h index 486224b..6edcfcf 100644 --- a/src/ctsim.h +++ b/src/ctsim.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: ctsim.h,v 1.11 2000/12/21 03:40:58 kevin Exp $ +** $Id: ctsim.h,v 1.23 2001/01/13 03:51:35 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 @@ -35,59 +35,94 @@ #include #endif +#ifdef MSVC +// #define CTSIM_MDI 1 +#endif + + class wxMenu; class wxDocument; -#include "wx/docview.h" + +class ImageFileDocument; + +#include + +#ifndef WX_PRECOMP +#include "wx/wx.h" +#endif + +#include "wx/docview.h" +#include "wx/textctrl.h" +#include "wx/menu.h" +#include "dlgezplot.h" + // Define a new frame for main window +#if CTSIM_MDI +class MainFrame: public wxMDIParentFrame +#else class MainFrame: public wxDocParentFrame +#endif { - DECLARE_CLASS(MainFrame) + DECLARE_CLASS(MainFrame) private: - wxTextCtrl* m_pLog; - wxMenu* m_pWindowMenu; - - enum { MAX_WINDOW_MENUITEMS = 20 }; - wxMenuItem* m_apWindowMenuItems[MAX_WINDOW_MENUITEMS]; - wxDocument* m_apWindowMenuData[MAX_WINDOW_MENUITEMS]; - + wxTextCtrl* m_pLog; + wxMenu* m_pWindowMenu; + + enum { MAX_WINDOW_MENUITEMS = 20 }; + wxMenuItem* m_apWindowMenuItems[MAX_WINDOW_MENUITEMS]; + wxDocument* m_apWindowMenuData[MAX_WINDOW_MENUITEMS]; + + int m_iDefaultPhantomID; + int m_iDefaultFilterID; + int m_iDefaultFilterDomainID; + unsigned int m_iDefaultFilterXSize; + unsigned int m_iDefaultFilterYSize; + double m_dDefaultFilterParam; + double m_dDefaultFilterBandwidth; + double m_dDefaultFilterInputScale; + double m_dDefaultFilterOutputScale; + + public: - MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, const long type); - - void OnAbout (wxCommandEvent& event); - void OnHelpContents (wxCommandEvent& event); - void OnCreatePhantom (wxCommandEvent& event); - void OnExit (wxCommandEvent& event); - - void OnUpdateUI (wxUpdateUIEvent& event); - - wxTextCtrl* getLog() - { return m_pLog; } - - void OnWindowMenu0 (wxCommandEvent& event); - void OnWindowMenu1 (wxCommandEvent& event); - void OnWindowMenu2 (wxCommandEvent& event); - void OnWindowMenu3 (wxCommandEvent& event); - void OnWindowMenu4 (wxCommandEvent& event); - void OnWindowMenu5 (wxCommandEvent& event); - void OnWindowMenu6 (wxCommandEvent& event); - void OnWindowMenu7 (wxCommandEvent& event); - void OnWindowMenu8 (wxCommandEvent& event); - void OnWindowMenu9 (wxCommandEvent& event); - void OnWindowMenu10 (wxCommandEvent& event); - void OnWindowMenu11 (wxCommandEvent& event); - void OnWindowMenu12 (wxCommandEvent& event); - void OnWindowMenu13 (wxCommandEvent& event); - void OnWindowMenu14 (wxCommandEvent& event); - void OnWindowMenu15 (wxCommandEvent& event); - void OnWindowMenu16 (wxCommandEvent& event); - void OnWindowMenu17 (wxCommandEvent& event); - void OnWindowMenu18 (wxCommandEvent& event); - void OnWindowMenu19 (wxCommandEvent& event); - - void DoWindowMenu (int iMenuPosition, wxCommandEvent& event); - - DECLARE_EVENT_TABLE() + MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, const long type); + + void OnAbout (wxCommandEvent& event); + void OnHelpContents (wxCommandEvent& event); + void OnCreatePhantom (wxCommandEvent& event); + + void OnCreateFilter (wxCommandEvent& event); + void OnExit (wxCommandEvent& event); + + void OnUpdateUI (wxUpdateUIEvent& event); + + wxTextCtrl* getLog() + { return m_pLog; } + + void OnWindowMenu0 (wxCommandEvent& event); + void OnWindowMenu1 (wxCommandEvent& event); + void OnWindowMenu2 (wxCommandEvent& event); + void OnWindowMenu3 (wxCommandEvent& event); + void OnWindowMenu4 (wxCommandEvent& event); + void OnWindowMenu5 (wxCommandEvent& event); + void OnWindowMenu6 (wxCommandEvent& event); + void OnWindowMenu7 (wxCommandEvent& event); + void OnWindowMenu8 (wxCommandEvent& event); + void OnWindowMenu9 (wxCommandEvent& event); + void OnWindowMenu10 (wxCommandEvent& event); + void OnWindowMenu11 (wxCommandEvent& event); + void OnWindowMenu12 (wxCommandEvent& event); + void OnWindowMenu13 (wxCommandEvent& event); + void OnWindowMenu14 (wxCommandEvent& event); + void OnWindowMenu15 (wxCommandEvent& event); + void OnWindowMenu16 (wxCommandEvent& event); + void OnWindowMenu17 (wxCommandEvent& event); + void OnWindowMenu18 (wxCommandEvent& event); + void OnWindowMenu19 (wxCommandEvent& event); + + void DoWindowMenu (int iMenuPosition, wxCommandEvent& event); + + DECLARE_EVENT_TABLE() }; @@ -95,27 +130,35 @@ class wxDocManager; class CTSimApp: public wxApp { public: - CTSimApp(); - bool OnInit(); - int OnExit(); - MainFrame* getMainFrame() const - { return m_pFrame; } - wxTextCtrl* getLog() - { return m_pFrame->getLog(); } - wxDocManager* getDocManager() - { return m_docManager; } - - wxString getUntitledFilename(); - + CTSimApp(); + bool OnInit(); + int OnExit(); + MainFrame* getMainFrame() const + { return m_pFrame; } + wxTextCtrl* getLog() + { return m_pFrame->getLog(); } + wxDocManager* getDocManager() + { return m_docManager; } + + wxString getUntitledFilename(); + + EZPlotDialog* makeEZPlotDialog() + { return new EZPlotDialog (m_pFrame); } + + void getCompatibleImages (const ImageFileDocument* pIFDoc, std::vector& vecIF); + + bool getSetModifyNewDocs() const + { return true; } + private: - wxDocManager* m_docManager; - MainFrame* m_pFrame; - - void usage (const char* program); - - static struct option ctsimOptions[]; - - enum { O_HELP, O_VERSION }; + wxDocManager* m_docManager; + MainFrame* m_pFrame; + + void usage (const char* program); + + static struct option ctsimOptions[]; + + enum { O_HELP, O_VERSION }; }; DECLARE_APP(CTSimApp) @@ -124,24 +167,68 @@ extern class CTSimApp* theApp; enum { - MAINMENU_HELP_ABOUT = 500, + MAINMENU_HELP_ABOUT = 500, + MAINMENU_WINDOW_BASE, MAINMENU_HELP_CONTENTS, MAINMENU_FILE_CREATE_PHANTOM, + + MAINMENU_FILE_CREATE_FILTER, MAINMENU_FILE_EXIT, - IFMENU_FILE_PROPERTIES, + PJMENU_FILE_PROPERTIES, - PHMMENU_FILE_PROPERTIES, - PJMENU_PROCESS_RECONSTRUCT, - IFMENU_PLOT_ROW, - IFMENU_PLOT_COL, + PJMENU_RECONSTRUCT_FBP, + PJMENU_RECONSTRUCT_FOURIER, + PJMENU_CONVERT_POLAR, + PJMENU_CONVERT_FFT_POLAR, + + IFMENU_FILE_EXPORT, + IFMENU_FILE_PROPERTIES, + + IFMENU_PLOT_ROW, + IFMENU_PLOT_COL, + IFMENU_PLOT_FFT_ROW, + IFMENU_PLOT_FFT_COL, + IFMENU_PLOT_HISTOGRAM, + IFMENU_VIEW_SCALE_AUTO, - IFMENU_VIEW_SCALE_MINMAX, - IFMENU_COMPARE_IMAGES, + IFMENU_VIEW_SCALE_MINMAX, + IFMENU_VIEW_SCALE_FULL, + + IFMENU_COMPARE_IMAGES, + IFMENU_COMPARE_ROW, + IFMENU_COMPARE_COL, + IFMENU_IMAGE_SCALESIZE, + IFMENU_IMAGE_ADD, + IFMENU_IMAGE_SUBTRACT, + IFMENU_IMAGE_MULTIPLY, + IFMENU_IMAGE_DIVIDE, + + IFMENU_FILTER_INVERTVALUES, + IFMENU_FILTER_SQRT, + IFMENU_FILTER_SQUARE, + IFMENU_FILTER_LOG, + IFMENU_FILTER_EXP, + IFMENU_FILTER_FOURIER, + IFMENU_FILTER_INVERSE_FOURIER, + IFMENU_FILTER_FFT, + IFMENU_FILTER_IFFT, + IFMENU_FILTER_FFT_ROWS, + IFMENU_FILTER_FFT_COLS, + IFMENU_FILTER_IFFT_ROWS, + IFMENU_FILTER_IFFT_COLS, + IFMENU_FILTER_MAGNITUDE, + IFMENU_FILTER_PHASE, + IFMENU_FILTER_SHUFFLENATURALTOFOURIERORDER, + IFMENU_FILTER_SHUFFLEFOURIERTONATURALORDER, + + PHMMENU_FILE_PROPERTIES, PHMMENU_PROCESS_RASTERIZE, - PHMMENU_PROCESS_PROJECTIONS, - PLOTMENU_VIEW_SCALE_MINMAX, - PLOTMENU_VIEW_SCALE_AUTO, - MAINMENU_WINDOW_BASE, + PHMMENU_PROCESS_PROJECTIONS, + + PLOTMENU_VIEW_SCALE_MINMAX, + PLOTMENU_VIEW_SCALE_AUTO, + PLOTMENU_VIEW_SCALE_FULL, + }; #endif