X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fctsim.h;h=a242109fa1a0ac05bdbae41d5af66dddc241d16b;hb=a5d437cb4228b07f8c005eaca497c317b8c19d14;hp=06c18b35c8b9e200cc3e10a961a3548a32753eec;hpb=2796ae86cd15663bcd6875a45d4b9d7c650321ce;p=ctsim.git diff --git a/src/ctsim.h b/src/ctsim.h index 06c18b3..a242109 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.24 2001/01/13 10:14:06 kevin Exp $ +** $Id: ctsim.h,v 1.30 2001/01/20 17:43:41 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,10 +35,22 @@ #include #endif +#ifndef WX_PRECOMP +#include "wx/wx.h" +#endif +#include "wx/config.h" + #ifdef MSVC -// #define CTSIM_MDI 1 +#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! +#endif +#ifdef CTSIM_MDI +#include "wx/docmdi.h" +#endif class wxMenu; class wxDocument; @@ -47,26 +59,27 @@ class ImageFileDocument; #include -#ifndef WX_PRECOMP -#include "wx/wx.h" -#endif - #include "wx/docview.h" #include "wx/textctrl.h" #include "wx/menu.h" +#include "wx/help.h" +#include "wx/html/helpctrl.h" #include "dlgezplot.h" +#if defined(__WXMSW__) +#define CTSIM_WINHELP 1 +#endif + // Define a new frame for main window #if CTSIM_MDI -class MainFrame: public wxMDIParentFrame +class MainFrame: public wxDocMDIParentFrame #else class MainFrame: public wxDocParentFrame #endif { DECLARE_CLASS(MainFrame) private: - wxTextCtrl* m_pLog; wxMenu* m_pWindowMenu; enum { MAX_WINDOW_MENUITEMS = 20 }; @@ -83,22 +96,43 @@ private: double m_dDefaultFilterInputScale; double m_dDefaultFilterOutputScale; +#if CTSIM_WINHELP + wxWinHelpController 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); - + ~MainFrame(); + +#ifdef CTSIM_CUSTOM_MRU + void OnMRUFile (wxCommandEvent& event); +#endif + void OnSize (wxSizeEvent& event); + +#if CTSIM_WINHELP + wxWinHelpController& getWinHelpController() + {return m_winHelp; } +#endif + wxHtmlHelpController& getHtmlHelpController() + { return m_htmlHelp; } + + void showHelp (int commandID); + void OnAbout (wxCommandEvent& event); + void OnHelpTopics (wxCommandEvent& event); void OnHelpContents (wxCommandEvent& event); void OnCreatePhantom (wxCommandEvent& event); +#if defined(CTSIM_WINHELP) && (defined(DEBUG) || defined(_DEBUG)) + void OnHelpSecondary (wxCommandEvent& event); +#endif + 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); @@ -129,14 +163,28 @@ public: class wxDocManager; class CTSimApp: public wxApp { +private: + wxDocManager* m_docManager; + MainFrame* m_pFrame; + wxConfig* m_pConfig; + + void usage (const char* program); + + static struct option ctsimOptions[]; + + enum { O_HELP, O_VERSION }; + wxTextCtrl* m_pLog; + public: CTSimApp(); bool OnInit(); int OnExit(); MainFrame* getMainFrame() const { return m_pFrame; } + wxTextCtrl* getLog() - { return m_pFrame->getLog(); } + { return m_pLog; } + wxDocManager* getDocManager() { return m_docManager; } @@ -151,27 +199,20 @@ public: { return true; } void setIconForFrame (wxFrame* pFrame); - -private: - wxDocManager* m_docManager; - MainFrame* m_pFrame; - - void usage (const char* program); - - static struct option ctsimOptions[]; - - enum { O_HELP, O_VERSION }; + wxConfig* getConfig() + { return m_pConfig; } }; DECLARE_APP(CTSimApp) extern class CTSimApp* theApp; - enum { - MAINMENU_HELP_ABOUT = 500, - MAINMENU_WINDOW_BASE, + MAINMENU_WINDOW_BASE = 500, + MAINMENU_HELP_ABOUT = 600, MAINMENU_HELP_CONTENTS, + MAINMENU_HELP_TOPICS, + MAINMENU_HELP_SECONDARY, MAINMENU_FILE_CREATE_PHANTOM, MAINMENU_FILE_CREATE_FILTER, @@ -229,8 +270,7 @@ enum { PLOTMENU_VIEW_SCALE_MINMAX, PLOTMENU_VIEW_SCALE_AUTO, - PLOTMENU_VIEW_SCALE_FULL, - + PLOTMENU_VIEW_SCALE_FULL, }; #endif