** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: ctsim.h,v 1.3 2000/07/18 03:14:35 kevin Exp $
+** $Id: ctsim.h,v 1.18 2001/01/02 06:29:23 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
#ifndef __CTSIMH__
#define __CTSIMH__
-#include "wx/docview.h"
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#ifdef HAVE_DMALLOC
+#include <dmalloc.h>
+#endif
+
+class wxMenu;
+class wxDocument;\r
+class ImageFileDocument;\r
+#include <vector>\r
+
+#include "wx/docview.h"\r
-// Define a new frame
+// Define a new frame for main window
class MainFrame: public wxDocParentFrame
{
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];
+\r
+ int m_iDefaultPhantomID;\r
+ int m_iDefaultFilterID;\r
+ int m_iDefaultFilterDomainID;\r
+ unsigned int m_iDefaultFilterXSize; \r
+ unsigned int m_iDefaultFilterYSize;\r
+ double m_dDefaultFilterParam;\r
+ double m_dDefaultFilterBandwidth;\r
+ double m_dDefaultFilterInputScale;\r
+ double m_dDefaultFilterOutputScale;\r
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 OnCreatePhantom (wxCommandEvent& event);\r
+ 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()
};
+
class wxDocManager;
class CTSimApp: public wxApp
{
public:
- CTSimApp(void);
- bool OnInit(void);
- int OnExit(void);
- MainFrame* getMainFrame(void) const
+ CTSimApp();
+ bool OnInit();
+ int OnExit();
+ MainFrame* getMainFrame() const
{ return m_pFrame; }
- wxTextCtrl* getLog(void)
+ wxTextCtrl* getLog()
{ return m_pFrame->getLog(); }
wxDocManager* getDocManager()
{ return m_docManager; }
- wxString getUntitledFilename(void);
+ wxString getUntitledFilename();
+\r
+ void getCompatibleImages (const ImageFileDocument* pIFDoc, std::vector<ImageFileDocument*>& vecIF);\r
+\r
+ bool getSetModifyNewDocs() const\r
+ { return true; }\r
private:
wxDocManager* m_docManager;
static struct option ctsimOptions[];
- enum { O_HELP };
+ enum { O_HELP, O_VERSION };
};
DECLARE_APP(CTSimApp)
enum {
MAINMENU_HELP_ABOUT = 500,
MAINMENU_HELP_CONTENTS,
- MAINMENU_FILE_CREATE_PHANTOM,
- MAINMENU_FILE_EXIT,
+ MAINMENU_FILE_CREATE_PHANTOM,\r
+ MAINMENU_FILE_CREATE_FILTER,
+ MAINMENU_FILE_EXIT,\r
IFMENU_FILE_PROPERTIES,
PJMENU_FILE_PROPERTIES,
PHMMENU_FILE_PROPERTIES,
- PJMENU_PROCESS_RECONSTRUCT,
- IFMENU_VIEW_WINDOW_AUTO,
- IFMENU_VIEW_WINDOW_MINMAX,
+ PJMENU_PROCESS_RECONSTRUCT,\r
+ IFMENU_FILE_EXPORT,\r
+ IFMENU_PLOT_ROW,\r
+ IFMENU_PLOT_COL,
+ IFMENU_VIEW_SCALE_AUTO,
+ IFMENU_VIEW_SCALE_MINMAX,\r
+ IFMENU_COMPARE_IMAGES,\r
+ IFMENU_COMPARE_ROW,\r
+ IFMENU_COMPARE_COL,\r
+ IFMENU_IMAGE_SCALESIZE,\r
+ IFMENU_IMAGE_ADD,\r
+ IFMENU_IMAGE_SUBTRACT,\r
+ IFMENU_IMAGE_MULTIPLY,\r
+ IFMENU_IMAGE_DIVIDE,\r
+ IFMENU_FILTER_INVERTVALUES,\r
+ IFMENU_FILTER_SQRT,\r
+ IFMENU_FILTER_SQUARE,\r
+ IFMENU_FILTER_LOG,\r
+ IFMENU_FILTER_EXP,\r
+ IFMENU_FILTER_FOURIER,\r
+ IFMENU_FILTER_INVERSE_FOURIER,\r
+ IFMENU_FILTER_FFT,\r
+ IFMENU_FILTER_IFFT,\r
+ IFMENU_FILTER_MAGNITUDE,\r
+ IFMENU_FILTER_PHASE,\r
+ IFMENU_FILTER_SHUFFLENATURALTOFOURIERORDER,\r
+ IFMENU_FILTER_SHUFFLEFOURIERTONATURALORDER,\r
PHMMENU_PROCESS_RASTERIZE,
- PHMMENU_PROCESS_PROJECTIONS,
+ PHMMENU_PROCESS_PROJECTIONS,\r
+ PLOTMENU_VIEW_SCALE_MINMAX,\r
+ PLOTMENU_VIEW_SCALE_AUTO,
+ MAINMENU_WINDOW_BASE,
};
#endif