X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fctsim.h;h=7ced875d3c5ab3ab044b2d6d8633c5f90c7aafee;hb=b361677a2f7d5b443641faec70b057f2a84dc77e;hp=a2c2afa8f0ffbdca845197b330dde5d9a38d3629;hpb=1a7c2cc82f5a0c04bec766776e57c563378dc611;p=ctsim.git diff --git a/src/ctsim.h b/src/ctsim.h index a2c2afa..7ced875 100644 --- a/src/ctsim.h +++ b/src/ctsim.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: ctsim.h,v 1.50 2001/02/22 00:56:50 kevin Exp $ +** $Id: ctsim.h,v 1.56 2001/03/10 23:14:16 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,6 +35,13 @@ #include #endif +#ifdef MSVC +#define HAVE_WXTHREADS 1 +#else +#undef HAVE_WXTHREADS +#define HAVE_WXTHREADS 1 +#endif + #ifndef WX_PRECOMP #include "wx/wx.h" #endif @@ -62,6 +69,8 @@ class ProjectionFileDocument; class PhantomFileDocument; class PlotFileDocument; class TextFileDocument; +class BackgroundManager; + #if wxUSE_GLCANVAS class Graph3dFileDocument; #endif @@ -99,6 +108,7 @@ private: wxMenuItem* m_apWindowMenuItems[MAX_WINDOW_MENUITEMS]; wxDocument* m_apWindowMenuData[MAX_WINDOW_MENUITEMS]; + int m_iDefaultImportFormat; int m_iDefaultPhantomID; int m_iDefaultFilterID; int m_iDefaultFilterDomainID; @@ -115,7 +125,7 @@ private: wxCHMHelpController m_winHelp; #endif wxHtmlHelpController m_htmlHelp; - + public: MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, const long type); virtual ~MainFrame(); @@ -139,8 +149,12 @@ public: void OnHelpTips (wxCommandEvent& event); 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); #if defined(CTSIM_WINHELP) && (defined(DEBUG) || defined(_DEBUG)) void OnHelpSecondary (wxCommandEvent& event); @@ -190,11 +204,13 @@ private: bool m_bVerboseLogging; bool m_bShowStartupTips; long m_iCurrentTip; + bool m_bUseBackgroundTasks; wxDocManager* m_docManager; MainFrame* m_pFrame; wxConfig* m_pConfig; wxTextCtrl* m_pLog; + TextFileDocument* m_pLogDoc; wxDocTemplate* m_pDocTemplImage; wxDocTemplate* m_pDocTemplProjection; wxDocTemplate* m_pDocTemplPhantom; @@ -203,12 +219,11 @@ private: #if wxUSE_GLCANVAS wxDocTemplate* m_pDocTemplGraph3d; #endif - - TextFileDocument* m_pLogDoc; void usage (const char* program); void openConfig(); void closeConfig(); + BackgroundManager* m_pBackgroundMgr; public: CTSimApp(); @@ -224,7 +239,9 @@ public: { return m_docManager; } wxString getUntitledFilename(); - + + int getNumberCPU() const { return wxThread::GetCPUCount(); } + EZPlotDialog* makeEZPlotDialog() { return new EZPlotDialog (m_pFrame); } @@ -235,6 +252,10 @@ public: void setVerboseLogging (bool bVerbose) { m_bVerboseLogging = bVerbose; } bool getStartupTips() const { return m_bShowStartupTips; } void setStartupTips(bool bTips) { m_bShowStartupTips = bTips; } + bool getUseBackgroundTasks() const { return m_bUseBackgroundTasks; } + void setUseBackgroundTasks(bool bBkgd) { m_bUseBackgroundTasks = bBkgd; } + + BackgroundManager* getBackgroundManager() {return m_pBackgroundMgr;} void ShowTips(); @@ -277,16 +298,18 @@ enum { MAINMENU_HELP_SECONDARY, #endif MAINMENU_FILE_CREATE_PHANTOM, - MAINMENU_FILE_CREATE_FILTER, MAINMENU_FILE_EXIT, MAINMENU_FILE_PREFERENCES, + MAINMENU_LOG_EVENT, + MAINMENU_IMPORT, PJMENU_FILE_PROPERTIES, PJMENU_RECONSTRUCT_FBP, PJMENU_RECONSTRUCT_FOURIER, PJMENU_CONVERT_POLAR, PJMENU_CONVERT_FFT_POLAR, + PJMENU_PLOT_TTHETA_SAMPLING, IFMENU_FILE_EXPORT, IFMENU_FILE_PROPERTIES, @@ -334,7 +357,8 @@ enum { PHMMENU_FILE_PROPERTIES, PHMMENU_PROCESS_RASTERIZE, PHMMENU_PROCESS_PROJECTIONS, - + + PLOTMENU_FILE_PROPERTIES, PLOTMENU_VIEW_SCALE_MINMAX, PLOTMENU_VIEW_SCALE_AUTO, PLOTMENU_VIEW_SCALE_FULL, @@ -346,6 +370,10 @@ enum { GRAPH3D_VIEW_SCALE_AUTO, GRAPH3D_VIEW_SCALE_MINMAX, GRAPH3D_VIEW_SCALE_FULL, + + RECONSTRUCTION_THREAD_EVENT, + NEW_IMAGEFILE_EVENT, + NEW_PROJECTIONFILE_EVENT, }; #endif