X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fctsim.h;h=2055227c1f20119ee65a83dcd5f24aeed8bc1c97;hp=db4d7c354ff623614b1af03de06992d9275b6f88;hb=7ec2cd66921180a624813dff9f8bac76c6b268cc;hpb=1fd4f7cc977b9f1499716de10d15656bd50f4816 diff --git a/src/ctsim.h b/src/ctsim.h index db4d7c3..2055227 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.1 2000/07/13 07:01:59 kevin Exp $ +** $Id: ctsim.h,v 1.16 2001/01/01 10:14:34 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 @@ -28,49 +28,143 @@ #ifndef __CTSIMH__ #define __CTSIMH__ -#include "wx/docview.h" +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#ifdef HAVE_DMALLOC +#include +#endif -class wxDocManager; -class MainFrame; -class CTSimApp: public wxApp -{ -public: - CTSimApp(void); - bool OnInit(void); - int OnExit(void); - MainFrame* getMainFrame(void) const - { return m_pFrame; } +class wxMenu; +class wxDocument; +class ImageFileDocument; +#include -protected: - wxDocManager* m_docManager; - MainFrame* m_pFrame; -}; - -DECLARE_APP(CTSimApp) +#include "wx/docview.h" -// 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]; 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 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() }; -extern MainFrame *GetMainFrame(void); + +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(); + + void getCompatibleImages (const ImageFileDocument* pIFDoc, std::vector& vecIF); + + bool getSetModifyNewDocs() const + { return false; } + +private: + wxDocManager* m_docManager; + MainFrame* m_pFrame; + + void usage (const char* program); + + static struct option ctsimOptions[]; + + enum { O_HELP, O_VERSION }; +}; + +DECLARE_APP(CTSimApp) + +extern class CTSimApp* theApp; enum { MAINMENU_HELP_ABOUT = 500, + MAINMENU_HELP_CONTENTS, + MAINMENU_FILE_CREATE_PHANTOM, + MAINMENU_FILE_CREATE_FILTER, MAINMENU_FILE_EXIT, IFMENU_FILE_PROPERTIES, PJMENU_FILE_PROPERTIES, - PJMENU_FILE_RECONSTRUCT, + PHMMENU_FILE_PROPERTIES, + PJMENU_PROCESS_RECONSTRUCT, + IFMENU_PLOT_ROW, + IFMENU_PLOT_COL, + IFMENU_VIEW_SCALE_AUTO, + IFMENU_VIEW_SCALE_MINMAX, + IFMENU_COMPARE_IMAGES, + IFMENU_COMPARE_ROW, + IFMENU_COMPARE_COL, + IFMENU_PROCESS_INVERTVALUES, + IFMENU_PROCESS_SQRT, + IFMENU_PROCESS_SQUARE, + IFMENU_PROCESS_LOG, + IFMENU_PROCESS_EXP, + IFMENU_PROCESS_FOURIER, + IFMENU_PROCESS_INVERSE_FOURIER, + IFMENU_PROCESS_FFT, + IFMENU_PROCESS_IFFT, + IFMENU_PROCESS_MAGNITUDE, + IFMENU_PROCESS_PHASE, + PHMMENU_PROCESS_RASTERIZE, + PHMMENU_PROCESS_PROJECTIONS, + PLOTMENU_VIEW_SCALE_MINMAX, + PLOTMENU_VIEW_SCALE_AUTO, + MAINMENU_WINDOW_BASE, }; #endif