From 00c8775f0fb0d038763bcf6f3914b880464991f0 Mon Sep 17 00:00:00 2001 From: steve.greedy Date: Thu, 27 Sep 2018 16:34:29 +0100 Subject: [PATCH] Update SW1 --- GUI/SW1/SRC/BUNDLEBLDR.cpp | 9 ++++++--- GUI/SW1/SRC/BUNDLEBLDR.h | 2 +- GUI/SW1/SRC/COAXIAL.cpp | 2 ++ GUI/SW1/SRC/COAXIAL.h | 1 + GUI/SW1/SRC/CYLINDRICAL.cpp | 2 ++ GUI/SW1/SRC/CYLINDRICAL.h | 1 + GUI/SW1/SRC/DCONN.cpp | 2 +- GUI/SW1/SRC/FLEXCABLE.cpp | 2 +- GUI/SW1/SRC/SPICEMODEL.cpp | 2 +- GUI/SW1/SRC/SPICEMODEL.h | 2 +- GUI/SW1/SRC/SW1_GUIApp.cpp | 49 +++++++++++++++++++++++++++++++------------------ GUI/SW1/SRC/SW1_GUIApp.h | 6 ++++-- GUI/SW1/SRC/SW1_GUIMain.cpp | 15 +++++++++++++-- GUI/SW1/SRC/SW1_GUIMain.h | 5 +++++ GUI/SW1/SRC/resources/Build | 4 ++-- GUI/SW1/SRC/resources/Sacamos_About.png | Bin 37501 -> 0 bytes version_information.inc | 2 +- 17 files changed, 73 insertions(+), 33 deletions(-) diff --git a/GUI/SW1/SRC/BUNDLEBLDR.cpp b/GUI/SW1/SRC/BUNDLEBLDR.cpp index d2950dd..950edf3 100644 --- a/GUI/SW1/SRC/BUNDLEBLDR.cpp +++ b/GUI/SW1/SRC/BUNDLEBLDR.cpp @@ -486,6 +486,7 @@ void BUNDLEBLDR::OnCheckListBox1Toggled(wxCommandEvent& event) void BUNDLEBLDR::OnPanel1Paint(wxPaintEvent& event) { DrawPanel(); + DrawBundleCsection(); } void BUNDLEBLDR::DrawPanel() @@ -558,6 +559,8 @@ void BUNDLEBLDR::FormatPanel(double maxDimension) dc.DrawText("scale (m)", (size_h/2+50), size_v-70); dc.DrawText(scale, (size_h/2+55), size_v-40); + + } void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxString rot) @@ -664,7 +667,7 @@ void BUNDLEBLDR::DrawBundleCable(wxString cable, wxString x, wxString y, wxStrin dc.SetPen( wxPen( wxColor(0,0,0),1 ) ); dc.SetBrush(wxBrush(*wxBLACK, wxSOLID)); dc.DrawCircle( wxPoint(size_h/2+scaledxCoord,size_v/2+scaledyCoord), inner_conductor_Scaledradius ); - + DrawBundleCsection(); } if (str.compare("Twinax") == 0 ){ @@ -1409,10 +1412,10 @@ void BUNDLEBLDR::WriteBundleFile(wxString fileName) if (CheckBox1->GetValue()) { - cableFile << "gp_mesh_edge_length\n"; + cableFile << "gp_edge_length\n"; cableFile << TextCtrl10->GetValue() <<"\n"; } - CheckBox3 ->SetValue(false); + //CheckBox3 ->SetValue(false); } } cableFile.close(); diff --git a/GUI/SW1/SRC/BUNDLEBLDR.h b/GUI/SW1/SRC/BUNDLEBLDR.h index 2ed6d0c..1525dfb 100644 --- a/GUI/SW1/SRC/BUNDLEBLDR.h +++ b/GUI/SW1/SRC/BUNDLEBLDR.h @@ -126,7 +126,7 @@ class BUNDLEBLDR: public wxDialog //wxGenericDirCtrl *tree; - wxSpecificDirCtrl *tree2; + wxSpecificDirCtrl *tree2 = NULL; //NULL used to remain consistent with wxWidgets use of the standard NULL macro wxString PathToMOD; wxString MODname; diff --git a/GUI/SW1/SRC/COAXIAL.cpp b/GUI/SW1/SRC/COAXIAL.cpp index 5288de1..a908ea2 100644 --- a/GUI/SW1/SRC/COAXIAL.cpp +++ b/GUI/SW1/SRC/COAXIAL.cpp @@ -329,6 +329,8 @@ void COAXIAL::OnInit(wxInitDialogEvent& event) TextCtrl8->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&COAXIAL::OnHighlightSchematic, this); TextCtrl9->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&COAXIAL::OnHighlightSchematic, this); CheckBox1->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&COAXIAL::OnHighlightSchematic, this); + + Logger::instance().log("Create Coaxial Cable Model", Logger::kLogLevelInfo); } void COAXIAL::OnPaint(wxPaintEvent& event) diff --git a/GUI/SW1/SRC/COAXIAL.h b/GUI/SW1/SRC/COAXIAL.h index 91a9bf1..7e16ec2 100644 --- a/GUI/SW1/SRC/COAXIAL.h +++ b/GUI/SW1/SRC/COAXIAL.h @@ -62,6 +62,7 @@ #include "FD_ESR.h" #include "FD_ZT.h" #include "RUN_STATUS.h" +#include "LOGGER.h" // Standard Library Header Files #include diff --git a/GUI/SW1/SRC/CYLINDRICAL.cpp b/GUI/SW1/SRC/CYLINDRICAL.cpp index db4e7a0..4ea6f81 100644 --- a/GUI/SW1/SRC/CYLINDRICAL.cpp +++ b/GUI/SW1/SRC/CYLINDRICAL.cpp @@ -184,6 +184,8 @@ void CYLINDRICAL::OnInit(wxInitDialogEvent& event) TextCtrl4->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&CYLINDRICAL::OnHighlightSchematic, this); TextCtrl5->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&CYLINDRICAL::OnHighlightSchematic, this); CheckBox1->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&CYLINDRICAL::OnHighlightSchematic, this); + + Logger::instance().log("Create Cylindrical Cable Model", Logger::kLogLevelInfo); } void CYLINDRICAL::OnPaint(wxPaintEvent& event) diff --git a/GUI/SW1/SRC/CYLINDRICAL.h b/GUI/SW1/SRC/CYLINDRICAL.h index 35524ee..72125a7 100644 --- a/GUI/SW1/SRC/CYLINDRICAL.h +++ b/GUI/SW1/SRC/CYLINDRICAL.h @@ -59,6 +59,7 @@ #include "FD_ESR.h" #include "UTILITIES.h" #include "RUN_STATUS.h" +#include "LOGGER.h" // Standard Library Header Files #include diff --git a/GUI/SW1/SRC/DCONN.cpp b/GUI/SW1/SRC/DCONN.cpp index 4b59acf..a8dc36a 100644 --- a/GUI/SW1/SRC/DCONN.cpp +++ b/GUI/SW1/SRC/DCONN.cpp @@ -348,7 +348,7 @@ void DCONN::WriteCableFile(wxString fileName) cableFile << TextCtrl2->GetValue() <<" # parameter 1: conductor radius\n"; cableFile << TextCtrl3->GetValue() <<" # parameter 2: conductor pitch (separation in x)\n"; cableFile << TextCtrl4->GetValue() <<" # parameter 3: conductor separation in y \n"; - cableFile << TextCtrl2->GetValue() <<" # offset from conductors to shell \n"; + cableFile << TextCtrl5->GetValue() <<" # offset from conductors to shell \n"; cableFile <<"0 # number of frequency dependent parameters\n"; cableFile <<"0 # number of transfer impedance models \n"; cableFile <<"use_laplace \n"; diff --git a/GUI/SW1/SRC/FLEXCABLE.cpp b/GUI/SW1/SRC/FLEXCABLE.cpp index 169b69a..6dff874 100644 --- a/GUI/SW1/SRC/FLEXCABLE.cpp +++ b/GUI/SW1/SRC/FLEXCABLE.cpp @@ -107,7 +107,7 @@ FLEXCABLE::FLEXCABLE(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxS StaticBoxSizer1 = new wxStaticBoxSizer(wxVERTICAL, this, _("Flex Cable Parameters")); FlexGridSizer2 = new wxFlexGridSizer(0, 1, 0, 0); BoxSizer1 = new wxBoxSizer(wxHORIZONTAL); - StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("Cabe Name"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1")); + StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("Cable Name"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1")); BoxSizer1->Add(StaticText1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); TextCtrl1 = new wxTextCtrl(this, ID_TEXTCTRL1, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL1")); BoxSizer1->Add(TextCtrl1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); diff --git a/GUI/SW1/SRC/SPICEMODEL.cpp b/GUI/SW1/SRC/SPICEMODEL.cpp index 1d89cff..ae855a1 100644 --- a/GUI/SW1/SRC/SPICEMODEL.cpp +++ b/GUI/SW1/SRC/SPICEMODEL.cpp @@ -321,7 +321,7 @@ void SPICEMODEL::PopulateTheDirectoryTree (wxString Path) wxDefaultPosition, wxSize(size_h, size_v), wxSIMPLE_BORDER,//wxDIRCTRL_3D_INTERNAL|wxSUNKEN_BORDER, - wxEmptyString, 0, + "*.bundle_spec", 0, _T("Directory Listing")); Connect(tree->GetTreeCtrl()->GetId(),wxEVT_COMMAND_TREE_ITEM_ACTIVATED, (wxObjectEventFunction) (wxEventFunction)(wxCommandEventFunction) &SPICEMODEL::OnTreeSelectionChanged); diff --git a/GUI/SW1/SRC/SPICEMODEL.h b/GUI/SW1/SRC/SPICEMODEL.h index 06bca83..cac3e77 100644 --- a/GUI/SW1/SRC/SPICEMODEL.h +++ b/GUI/SW1/SRC/SPICEMODEL.h @@ -87,7 +87,7 @@ class SPICEMODEL: public wxDialog wxString PathToMOD; wxString MODname; - wxSpecificDirCtrl *tree; + wxSpecificDirCtrl *tree = NULL; //NULL used to remain consistent with wxWidgets use of the standard NULL macro void renderBundle(wxString); void FormatPanel(wxString); diff --git a/GUI/SW1/SRC/SW1_GUIApp.cpp b/GUI/SW1/SRC/SW1_GUIApp.cpp index 6d70532..df4dd48 100644 --- a/GUI/SW1/SRC/SW1_GUIApp.cpp +++ b/GUI/SW1/SRC/SW1_GUIApp.cpp @@ -110,15 +110,13 @@ bool SW1_GUIApp::OnInit() if ( wxsOK ) { - SW1_GUIFrame* Frame = new SW1_GUIFrame(0); - // Display splash screen if (splashimage.LoadFile("resources/Sacamos_About.png", wxBITMAP_TYPE_PNG)) { wxSplashScreen *splashscrn = new wxSplashScreen(splashimage, wxSPLASH_CENTRE_ON_SCREEN|wxSPLASH_TIMEOUT, - 2000, Frame, wxID_ANY, wxDefaultPosition, wxDefaultSize, + 2000, NULL, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSIMPLE_BORDER|wxSTAY_ON_TOP); } @@ -126,13 +124,15 @@ bool SW1_GUIApp::OnInit() { wxYield(); wxSleep(2); - Frame->Show(true); + //Frame->Show(true); } else { - Frame->Show(true); - wxYield(); - wxSleep(2); + for (int i=0;i<20;i++) + { + wxYield(); + wxMilliSleep(10); + } } } @@ -141,39 +141,49 @@ bool SW1_GUIApp::OnInit() // Compare current version against latest release version Logger::instance().log("Checking for Software Update...", Logger::kLogLevelInfo); - wxHTTP checkupdate; - - wxInputStream *latest_versioninfo; + std::string latest_version,latest_version_number, latest_version_date; + std::string current_version,current_version_number, current_version_date; wxString version_temp = ""; wxStringOutputStream out_stream(&version_temp); + wxHTTP checkupdate; checkupdate.SetHeader(_T("Content-type"), _T("text/html; charset=utf-8")); + checkupdate.SetTimeout(5); + checkupdate.Connect(_T("128.243.70.77")); - std::string latest_version,latest_version_number, latest_version_date; - std::string current_version,current_version_number, current_version_date; + wxApp::IsMainLoopRunning(); + + wxInputStream *latest_versioninfo; - if (checkupdate.Connect(_T("128.243.70.77"))) // only the server, no pages here yet ... + latest_versioninfo = checkupdate.GetInputStream(_T("/UoN/SACAMOS/raw/master/version_information.inc")); + + if (checkupdate.GetError() == wxPROTO_NOERR) { Logger::instance().log("Connected to SACAMOS Repository", Logger::kLogLevelInfo); - latest_versioninfo = checkupdate.GetInputStream(_T("/UoN/SACAMOS/raw/master/version_information.inc")); - latest_versioninfo->Read(out_stream); latest_version = version_temp.ToStdString(); - - wxDELETE(latest_versioninfo); } + else { //fail silently & log event Logger::instance().log("Could not connect to SACAMOS Repository", Logger::kLogLevelInfo); } + wxDELETE(latest_versioninfo); + checkupdate.Close(); + if (wxsOK) + { + SW1_GUIFrame* Frame = new SW1_GUIFrame(0); + Frame->Show(true); + } + std::istringstream stream{latest_version}; if (latest_version != "") @@ -204,9 +214,12 @@ bool SW1_GUIApp::OnInit() Logger::instance().log("SACAMOS Update Available", Logger::kLogLevelInfo); } + else + { + Logger::instance().log("SACAMOS Uptodate", Logger::kLogLevelInfo); + } } - return wxsOK; } diff --git a/GUI/SW1/SRC/SW1_GUIApp.h b/GUI/SW1/SRC/SW1_GUIApp.h index 29065ae..e643473 100644 --- a/GUI/SW1/SRC/SW1_GUIApp.h +++ b/GUI/SW1/SRC/SW1_GUIApp.h @@ -67,8 +67,10 @@ class SW1_GUIApp : public wxApp wxBitmap splashimage; - std::string SACAMOS_V_NUMBER = "SPICE_CABLE_MODEL_BUILDER_version=\"v3.1.0\""; - std::string SACAMOS_V_DATE = "SPICE_CABLE_MODEL_BUILDER_date=\"16th April 2018\""; + std::string SACAMOS_V_NUMBER = "SPICE_CABLE_MODEL_BUILDER_version=\"v4.0.0\""; + std::string SACAMOS_V_DATE = "SPICE_CABLE_MODEL_BUILDER_date=\"27th September 2018\""; + + }; diff --git a/GUI/SW1/SRC/SW1_GUIMain.cpp b/GUI/SW1/SRC/SW1_GUIMain.cpp index 0b61a22..8fe431d 100644 --- a/GUI/SW1/SRC/SW1_GUIMain.cpp +++ b/GUI/SW1/SRC/SW1_GUIMain.cpp @@ -251,6 +251,9 @@ SW1_GUIFrame::SW1_GUIFrame(wxWindow* parent,wxWindowID id) // Set status bar message text StatusBar1 -> SetStatusText(wxT("Please Select MOD Directory")); + + //Write to log file + CreateLogFile(); } SW1_GUIFrame::~SW1_GUIFrame() @@ -308,7 +311,8 @@ void SW1_GUIFrame::OnSelectMOD(wxCommandEvent& event) void SW1_GUIFrame::OnCreateMOD(wxCommandEvent& event) { - // Create a new wxDirDialog dialog + + // Create a new wxDirDialog dialog wxDirDialog* dirDialog = new wxDirDialog(this); wxString separator(wxFileName::GetPathSeparator()); @@ -357,6 +361,8 @@ void SW1_GUIFrame::OnCreateMOD(wxCommandEvent& event) dirDialog->Destroy(); PopulateTheDirectoryTree (PathToMOD); + + } void SW1_GUIFrame::PopulateTheDirectoryTree ( wxString RootFolder) @@ -377,7 +383,7 @@ void SW1_GUIFrame::PopulateTheDirectoryTree ( wxString RootFolder) wxDefaultPosition, wxSize(size_h,size_v), wxSIMPLE_BORDER, - "*.cable_spec;*.bundle_spec;*.spice_model_spec", 0, + "*.cable_spec;*.bundle_spec;*.spice_model_spec;*.asy;*.sym", 0, _T("Directory Listing")); //Connect tree item activated e.g. single click and tree item selected e.g. double click events @@ -669,6 +675,11 @@ void SW1_GUIFrame::OnEXPORTSPICE(wxCommandEvent& event) exportspice->ShowModal(); } +void SW1_GUIFrame::CreateLogFile() +{ + Logger::instance().log("Main GUI Initialised", Logger::kLogLevelInfo); +} + void SW1_GUIFrame::OnPanel1Paint(wxPaintEvent& event) { diff --git a/GUI/SW1/SRC/SW1_GUIMain.h b/GUI/SW1/SRC/SW1_GUIMain.h index 5d0f81e..b53f118 100644 --- a/GUI/SW1/SRC/SW1_GUIMain.h +++ b/GUI/SW1/SRC/SW1_GUIMain.h @@ -80,6 +80,7 @@ #include "BUNDLE_SCHEMATIC.h" #include "EXPORT_SPICE.h" #include "UTILITIES.h" +#include "LOGGER.h" // Standard Library Header Files #include @@ -102,12 +103,16 @@ class SW1_GUIFrame: public wxFrame 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) diff --git a/GUI/SW1/SRC/resources/Build b/GUI/SW1/SRC/resources/Build index fd17829..59e3b55 100644 --- a/GUI/SW1/SRC/resources/Build +++ b/GUI/SW1/SRC/resources/Build @@ -1,6 +1,6 @@ GUI: -Version: 1.4.0 -Date: 25th August 2018 +Version: v4.0.0 +Date: 29th September 2018 SPICE_CABLE_MODEL_BUILDER Version: v4.0.0 diff --git a/GUI/SW1/SRC/resources/Sacamos_About.png b/GUI/SW1/SRC/resources/Sacamos_About.png index d3501b1..564d1a6 100644 Binary files a/GUI/SW1/SRC/resources/Sacamos_About.png and b/GUI/SW1/SRC/resources/Sacamos_About.png differ diff --git a/version_information.inc b/version_information.inc index d75de05..eaacfd6 100644 --- a/version_information.inc +++ b/version_information.inc @@ -1,2 +1,2 @@ SPICE_CABLE_MODEL_BUILDER_version="v4.0.0" -SPICE_CABLE_MODEL_BUILDER_date="19th June 2018" +SPICE_CABLE_MODEL_BUILDER_date="27th September 2018" -- libgit2 0.21.2