X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fctsim.h;h=a98faa29d9ae23d8c71aa588170fb833b0bb6594;hp=e80bbb7c53433f26a780b35845628aeb8ca6b79a;hb=a2ac3119d9f9572f113b1f32d7be996dd49037ae;hpb=c358b8c8b5649f14e2b8203b999ba8549a244727 diff --git a/src/ctsim.h b/src/ctsim.h index e80bbb7..a98faa2 100644 --- a/src/ctsim.h +++ b/src/ctsim.h @@ -7,9 +7,7 @@ ** Date Started: July 2000 ** ** This is part of the CTSim program -** Copyright (c) 1983-2001 Kevin Rosenberg -** -** $Id: ctsim.h,v 1.53 2001/03/01 20:02:18 kevin Exp $ +** Copyright (c) 1983-2009 Kevin Rosenberg ** ** 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,6 +33,10 @@ #include #endif +#ifdef MSVC +#define HAVE_WXTHREADS 1 +#endif + #ifndef WX_PRECOMP #include "wx/wx.h" #endif @@ -46,7 +48,6 @@ #ifdef MSVC #define CTSIM_MDI 1 #endif -#define CTSIM_CUSTOM_MRU 1 #if defined(CTSIM_MDI) && !wxUSE_MDI_ARCHITECTURE #error You must set wxUSE_MDI_ARCHITECTURE to 1 in setup.h! @@ -79,7 +80,7 @@ class Graph3dFileDocument; #if defined(__WXMSW__) || defined (MSVC) -#define CTSIM_WINHELP 1 +// #define CTSIM_WINHELP 1 #endif // Define a new frame for main window @@ -100,12 +101,12 @@ private: enum { MAX_WINDOW_MENUITEMS = 20 }; wxMenuItem* m_apWindowMenuItems[MAX_WINDOW_MENUITEMS]; wxDocument* m_apWindowMenuData[MAX_WINDOW_MENUITEMS]; - + int m_iDefaultImportFormat; int m_iDefaultPhantomID; int m_iDefaultFilterID; int m_iDefaultFilterDomainID; - unsigned int m_iDefaultFilterXSize; + unsigned int m_iDefaultFilterXSize; unsigned int m_iDefaultFilterYSize; double m_dDefaultFilterParam; double m_dDefaultFilterBandwidth; @@ -123,9 +124,6 @@ public: MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, const long type); virtual ~MainFrame(); -#ifdef CTSIM_CUSTOM_MRU - void OnMRUFile (wxCommandEvent& event); -#endif void OnSize (wxSizeEvent& event); #if CTSIM_WINHELP @@ -143,6 +141,8 @@ public: void OnCreatePhantom (wxCommandEvent& event); void OnPreferences (wxCommandEvent& event); void OnLogEvent (wxCommandEvent& event); // used by thread children + void OnNewImageFile (wxCommandEvent& event); + void OnNewProjectionFile (wxCommandEvent& event); void OnHelpButton (wxCommandEvent& event); void OnImport (wxCommandEvent& event); @@ -153,9 +153,9 @@ public: void OnCreateFilter (wxCommandEvent& event); void OnExit (wxCommandEvent& event); - + void OnUpdateUI (wxUpdateUIEvent& event); - + void OnWindowMenu0 (wxCommandEvent& event); void OnWindowMenu1 (wxCommandEvent& event); void OnWindowMenu2 (wxCommandEvent& event); @@ -176,7 +176,7 @@ public: void OnWindowMenu17 (wxCommandEvent& event); void OnWindowMenu18 (wxCommandEvent& event); void OnWindowMenu19 (wxCommandEvent& event); - + void DoWindowMenu (int iMenuPosition, wxCommandEvent& event); bool getShuttingDown() const { return m_bShuttingDown; } @@ -201,6 +201,7 @@ private: MainFrame* m_pFrame; wxConfig* m_pConfig; wxTextCtrl* m_pLog; + TextFileDocument* m_pLogDoc; wxDocTemplate* m_pDocTemplImage; wxDocTemplate* m_pDocTemplProjection; wxDocTemplate* m_pDocTemplPhantom; @@ -209,16 +210,18 @@ private: #if wxUSE_GLCANVAS wxDocTemplate* m_pDocTemplGraph3d; #endif - - TextFileDocument* m_pLogDoc; void usage (const char* program); void openConfig(); void closeConfig(); BackgroundManager* m_pBackgroundMgr; + bool m_bPrintCmdLineImages; + bool m_bCmdLineVerboseFlag; public: CTSimApp(); + void OnInitCmdLine(wxCmdLineParser& parser); + bool OnCmdLineParsed(wxCmdLineParser& parser); bool OnInit(); int OnExit(); MainFrame* getMainFrame() const @@ -227,20 +230,20 @@ public: wxTextCtrl* getLog() { return m_pLog; } - wxDocManager* getDocManager() + wxDocManager* getDocManager() { return m_docManager; } - + wxString getUntitledFilename(); int getNumberCPU() const { return wxThread::GetCPUCount(); } EZPlotDialog* makeEZPlotDialog() { return new EZPlotDialog (m_pFrame); } - + void getCompatibleImages (const ImageFileDocument* pIFDoc, std::vector& vecIF); bool getAdvancedOptions() const { return m_bAdvancedOptions; } void setAdvancedOptions (bool bAdv) { m_bAdvancedOptions = bAdv; } - bool getVerboseLogging() const { return m_bVerboseLogging; } + bool getVerboseLogging() const { return m_bVerboseLogging || m_bCmdLineVerboseFlag; } void setVerboseLogging (bool bVerbose) { m_bVerboseLogging = bVerbose; } bool getStartupTips() const { return m_bShowStartupTips; } void setStartupTips(bool bTips) { m_bShowStartupTips = bTips; } @@ -278,7 +281,6 @@ public: }; DECLARE_APP(CTSimApp) - extern class CTSimApp* theApp; enum { @@ -295,26 +297,36 @@ enum { MAINMENU_FILE_PREFERENCES, MAINMENU_LOG_EVENT, MAINMENU_IMPORT, - + PJMENU_FILE_PROPERTIES, PJMENU_RECONSTRUCT_FBP, + PJMENU_RECONSTRUCT_FBP_REBIN, PJMENU_RECONSTRUCT_FOURIER, + PJMENU_CONVERT_RECTANGULAR, PJMENU_CONVERT_POLAR, PJMENU_CONVERT_FFT_POLAR, - + PJMENU_CONVERT_PARALLEL, + PJMENU_PLOT_TTHETA_SAMPLING, + PJMENU_PLOT_HISTOGRAM, + PJMENU_ARTIFACT_REDUCTION, + IFMENU_FILE_EXPORT, IFMENU_FILE_PROPERTIES, - + + IFMENU_EDIT_COPY, + IFMENU_EDIT_CUT, + IFMENU_EDIT_PASTE, + 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_VIEW_SCALE_FULL, - + IFMENU_COMPARE_IMAGES, IFMENU_COMPARE_ROW, IFMENU_COMPARE_COL, @@ -323,7 +335,7 @@ enum { IFMENU_IMAGE_SUBTRACT, IFMENU_IMAGE_MULTIPLY, IFMENU_IMAGE_DIVIDE, -#if wxUSE_GLCANVAS +#ifdef wxUSE_GLCANVAS IFMENU_IMAGE_CONVERT3D, #endif @@ -342,9 +354,11 @@ enum { IFMENU_FILTER_IFFT_COLS, IFMENU_FILTER_MAGNITUDE, IFMENU_FILTER_PHASE, + IFMENU_FILTER_REAL, + IFMENU_FILTER_IMAGINARY, IFMENU_FILTER_SHUFFLENATURALTOFOURIERORDER, IFMENU_FILTER_SHUFFLEFOURIERTONATURALORDER, - + PHMMENU_FILE_PROPERTIES, PHMMENU_PROCESS_RASTERIZE, PHMMENU_PROCESS_PROJECTIONS, @@ -352,9 +366,9 @@ enum { PLOTMENU_FILE_PROPERTIES, PLOTMENU_VIEW_SCALE_MINMAX, PLOTMENU_VIEW_SCALE_AUTO, - PLOTMENU_VIEW_SCALE_FULL, + PLOTMENU_VIEW_SCALE_FULL, - GRAPH3D_VIEW_SURFACE, + GRAPH3D_VIEW_WIREFRAME, GRAPH3D_VIEW_COLOR, GRAPH3D_VIEW_LIGHTING, GRAPH3D_VIEW_SMOOTH, @@ -363,6 +377,8 @@ enum { GRAPH3D_VIEW_SCALE_FULL, RECONSTRUCTION_THREAD_EVENT, + NEW_IMAGEFILE_EVENT, + NEW_PROJECTIONFILE_EVENT, }; #endif