///////////////////////////////////////////////////////////////////////////////// // // This file is part of SACAMOS, cable models for EMI simulations in SPICE. // It was developed by the University of Nottingham and the Netherlands Aerospace // Centre (NLR) for ESA under contract number 4000112765/14/NL/HK. // // Copyright (C) 2015 - 2018 University of Nottingham // // SACAMOS is free software: you can redistribute it and/or modify it under the // terms of the GNU General Public License as published by the Free Software // Foundation, either version 3 of the License, or (at your option) any later // version. // // SACAMOS is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License // for more details. // // A copy of the GNU General Public License version 3 can be found in the // file GNU_GPL_v3 in the root or at . // // wxWidgets is currently licenced under the "wxWindows Library Licence". // A copy of the wxWindows Library Licence, Version 3.1 can be found in the file // wxWindows_Library_Licence_v3-1 in the root or at: // // // // The University of Nottingham can be contacted at: ggiemr@nottingham.ac.uk // // File Contents: // // NAME // SW1_GUIMain.cpp // // DESCRIPTION // Main application GUI for SACAMOS // // AUTHOR(S) // Steve Greedy // ///////////////////////////////////////////////////////////////////////////////// #ifndef SW1_GUIMAIN_H #define SW1_GUIMAIN_H //(*Headers(SW1_GUIFrame) #include #include #include #include #include #include #include //*) // Additional wxWidgets Includes #include #include #include #include #include #include #include // Application Includes #include "FileSelectorCtrl.h" #include "ABOUT.h" #include "CYLINDRICAL.h" #include "COAXIAL.h" #include "TWINAX.h" #include "UTP.h" #include "TP.h" #include "SPACEWIRE.h" #include "OVERSHIELD.h" #include "FLEXCABLE.h" #include "DCONN.h" #include "BUNDLEBLDR.h" #include "SPICEMODEL.h" #include "CABLE_SCHEMATIC.h" #include "BUNDLE_SCHEMATIC.h" #include "EXPORT_SPICE.h" #include "UTILITIES.h" #include "LOGGER.h" // Standard Library Header Files #include #include #include using namespace std; class SW1_GUIFrame: public wxFrame { public: SW1_GUIFrame(wxWindow* parent,wxWindowID id = -1); virtual ~SW1_GUIFrame(); private: void PopulateTheDirectoryTree ( wxString ); void OnTreeSelectionChanged ( wxTreeEvent& evt ); void OnTreeSelection ( wxTreeEvent& evt ); void CreateCable (wxString, wxString, bool); void CreateLogFile(); wxSpecificDirCtrl *tree = NULL; //NULL used to remain consistent with wxWidgets use of the standard NULL macro wxString PathToMOD; wxString SelectedFile; wxString MODname; bool Edit; //(*Handlers(SW1_GUIFrame) void OnQuit(wxCommandEvent& event); void OnAbout(wxCommandEvent& event); void OnSelectMOD(wxCommandEvent& event); void OnCOAXIAL(wxCommandEvent& event); void OnPanel1Paint(wxPaintEvent& event); void OnPanel2Paint(wxPaintEvent& event); void OnCYLINDRICAL(wxCommandEvent& event); void OnTWINAX(wxCommandEvent& event); void OnUTP(wxCommandEvent& event); void OnTP(wxCommandEvent& event); void OnSPACEWIRE(wxCommandEvent& event); void OnOVERSHIELD(wxCommandEvent& event); void OnFLEXCABLE(wxCommandEvent& event); void OnNEWBUNDLE(wxCommandEvent& event); void OnCREATESPICE(wxCommandEvent& event); void OnDSUB(wxCommandEvent& event); void OnLicense(wxCommandEvent& event); void OnPanel1Resize(wxSizeEvent& event); void OnResize(wxSizeEvent& event); void OnPanel1RightDClick(wxMouseEvent& event); void OnCreateMOD(wxCommandEvent& event); void OnEXPORTSPICE(wxCommandEvent& event); void OnClose(wxCloseEvent& event); //*) //(*Identifiers(SW1_GUIFrame) static const long ID_PANEL1; static const long ID_STATICBITMAP1; static const long ID_PANEL2; static const long ID_CREATEMOD; static const long ID_SELECTMOD; static const long ID_MENUITEM1; static const long ID_CYLINDRICAL; static const long ID_COAX; static const long ID_TWINAX; static const long ID_UTP; static const long ID_TP; static const long ID_SPACEWIRE; static const long ID_FLEX; static const long ID_DSUB; static const long ID_OVERSHIELD; static const long ID_NEWBUNDLE; static const long ID_EDITBUNDLE; static const long ID_NEWSPICE; static const long ID_MENUITEM2; static const long idMenuAbout; static const long ID_STATUSBAR1; //*) //(*Declarations(SW1_GUIFrame) wxMenuItem* MenuItem8; wxMenuItem* Menu7; wxMenuItem* MenuItem7; wxMenuItem* MenuItem5; wxMenu* Menu3; wxStaticBitmap* StaticBitmap1; wxMenuItem* MenuItem4; wxMenuItem* MenuItem14; wxMenuItem* MenuItem11; wxPanel* Panel1; wxMenuItem* MenuItem13; wxMenuItem* MenuItem10; wxMenuItem* MenuItem12; wxMenuItem* MenuItem3; wxStatusBar* StatusBar1; wxDirDialog* DirDialog1; wxMenuItem* MenuItem6; wxMenuItem* Menu6; wxPanel* Panel2; wxMenuItem* MenuItem16; wxMenuItem* MenuItem9; wxMenu* Menu5; wxMenu* Menu4; //*) DECLARE_EVENT_TABLE() }; #endif // SW1_GUIMAIN_H