Commit a399f76b182951e505ab1a164354e5aafaf54668
1 parent
9d10a2ba
Exists in
master
and in
3 other branches
SW Updates
1. Auto update notification 2. Additional logging Misc Bug fixes: Bundle builder, spice model builder
Showing
9 changed files
with
67 additions
and
69 deletions
Show diff stats
GUI/SW1/SRC/BUNDLEBLDR.cpp
| ... | ... | @@ -173,7 +173,7 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w |
| 173 | 173 | Panel4 = new wxPanel(Notebook1, ID_PANEL4, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL4")); |
| 174 | 174 | FlexGridSizer4 = new wxFlexGridSizer(0, 2, 0, 0); |
| 175 | 175 | FlexGridSizer4->AddGrowableCol(1); |
| 176 | - CheckBox1 = new wxCheckBox(Panel4, ID_CHECKBOX1, _("Use Ground Plane"), wxDefaultPosition, wxSize(154,13), 0, wxDefaultValidator, _T("ID_CHECKBOX1")); | |
| 176 | + CheckBox1 = new wxCheckBox(Panel4, ID_CHECKBOX1, _("Use Ground Plane"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX1")); | |
| 177 | 177 | CheckBox1->SetValue(false); |
| 178 | 178 | FlexGridSizer4->Add(CheckBox1, 1, wxALL|wxALIGN_LEFT, 5); |
| 179 | 179 | StaticText2 = new wxStaticText(Panel4, ID_STATICTEXT2, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT2")); |
| ... | ... | @@ -183,7 +183,7 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w |
| 183 | 183 | FlexGridSizer4->SetSizeHints(Panel4); |
| 184 | 184 | Panel5 = new wxPanel(Notebook1, ID_PANEL5, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL5")); |
| 185 | 185 | FlexGridSizer5 = new wxFlexGridSizer(0, 2, 0, 0); |
| 186 | - CheckBox2 = new wxCheckBox(Panel5, ID_CHECKBOX2, _("Use Laplace"), wxDefaultPosition, wxSize(95,24), 0, wxDefaultValidator, _T("ID_CHECKBOX2")); | |
| 186 | + CheckBox2 = new wxCheckBox(Panel5, ID_CHECKBOX2, _("Use Laplace"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX2")); | |
| 187 | 187 | CheckBox2->SetValue(false); |
| 188 | 188 | FlexGridSizer5->Add(CheckBox2, 1, wxALL, 5); |
| 189 | 189 | ComboBox1 = new wxComboBox(Panel5, ID_COMBOBOX1, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, 0, 0, wxDefaultValidator, _T("ID_COMBOBOX1")); |
| ... | ... | @@ -287,6 +287,7 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w |
| 287 | 287 | TextCtrl8 = new wxTextCtrl(this, ID_TEXTCTRL8, _("0.030"), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER, wxDefaultValidator, _T("ID_TEXTCTRL8")); |
| 288 | 288 | BoxSizer4->Add(TextCtrl8, 4, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); |
| 289 | 289 | SpinButton1 = new wxSpinButton(this, ID_SPINBUTTON1, wxDefaultPosition, wxDefaultSize, wxSP_VERTICAL|wxSP_ARROW_KEYS, _T("ID_SPINBUTTON1")); |
| 290 | + SpinButton1->SetValue(50); | |
| 290 | 291 | SpinButton1->SetRange(0, 100); |
| 291 | 292 | BoxSizer4->Add(SpinButton1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); |
| 292 | 293 | StaticBoxSizer1->Add(BoxSizer4, 1, wxALL|wxALIGN_RIGHT, 5); |
| ... | ... | @@ -335,24 +336,16 @@ void BUNDLEBLDR::OnListboxRDown(wxMouseEvent& event) |
| 335 | 336 | |
| 336 | 337 | strMessage = "Are you sure you wish to delete: "; |
| 337 | 338 | strMessage = strMessage << strItem; |
| 338 | - // We have an item in the list to delete - shall we confirm? | |
| 339 | + // Confirm cable component deletion? | |
| 339 | 340 | wxMessageDialog bb_ConfirmDelete (this, strMessage, _("Please confirm delete") ,wxYES_NO|wxCENTRE,wxDefaultPosition ); |
| 340 | 341 | |
| 341 | 342 | bb_ConfirmDelete.ShowModal(); |
| 342 | 343 | |
| 343 | - //int RetVal = bb_ConfirmDelete.GetReturnCode(); | |
| 344 | - | |
| 345 | - //if ( RetVal == wxID_YES ) | |
| 346 | - //{ | |
| 347 | - // Delete the item 'item' from the linked list | |
| 348 | - removeElement(item); | |
| 349 | - PopulateListControl(); | |
| 350 | - // And repopulate the listbox (clear it first!) | |
| 351 | - | |
| 352 | - //} | |
| 353 | - | |
| 344 | + removeElement(item); | |
| 345 | + PopulateListControl(); | |
| 354 | 346 | } |
| 355 | 347 | else |
| 348 | + | |
| 356 | 349 | wxMessageBox(_T("No Cable SELECTED"),_("Remove Cable Component")); |
| 357 | 350 | |
| 358 | 351 | event.Skip(); |
| ... | ... | @@ -380,9 +373,8 @@ void BUNDLEBLDR::removeElement(int ItemIndex) |
| 380 | 373 | |
| 381 | 374 | Bundle *Current = bundle_root; |
| 382 | 375 | Bundle *Previous = Current; |
| 383 | - //Bundle *Next = bundle_root->next; | |
| 384 | 376 | |
| 385 | - // Otherwise we look through the list for the item | |
| 377 | + // Look through the list for the item | |
| 386 | 378 | int i = 0; |
| 387 | 379 | while( (Current!= NULL) && (i < ItemIndex) ) |
| 388 | 380 | { |
| ... | ... | @@ -464,8 +456,6 @@ void BUNDLEBLDR::OnTreeSelectionChanged(wxTreeEvent& evt) |
| 464 | 456 | |
| 465 | 457 | }; |
| 466 | 458 | |
| 467 | - winPLACE_CABLE->Destroy(); | |
| 468 | - | |
| 469 | 459 | ListBox1->Append(File_FullName); |
| 470 | 460 | |
| 471 | 461 | Button1->Enable(); |
| ... | ... | @@ -495,14 +485,6 @@ void BUNDLEBLDR::OnCheckListBox1Toggled(wxCommandEvent& event) |
| 495 | 485 | |
| 496 | 486 | void BUNDLEBLDR::OnPanel1Paint(wxPaintEvent& event) |
| 497 | 487 | { |
| 498 | -// double maxDimension; | |
| 499 | -// | |
| 500 | -// wxString maxXY = TextCtrl8->GetValue(); | |
| 501 | -// | |
| 502 | -// maxXY.ToDouble(&maxDimension); | |
| 503 | -// | |
| 504 | -// FormatPanel(maxDimension); | |
| 505 | - | |
| 506 | 488 | DrawPanel(); |
| 507 | 489 | } |
| 508 | 490 | |
| ... | ... | @@ -1466,7 +1448,7 @@ void BUNDLEBLDR::OnButton2Click(wxCommandEvent& event) |
| 1466 | 1448 | RUN_STATUS *run_status_bundle = new RUN_STATUS(this); |
| 1467 | 1449 | run_status_bundle->ShowModal(); |
| 1468 | 1450 | |
| 1469 | - //Button1->Enable(); | |
| 1451 | + Button1->Enable(); | |
| 1470 | 1452 | |
| 1471 | 1453 | if (CheckBox2->GetValue()) |
| 1472 | 1454 | { |
| ... | ... | @@ -1496,13 +1478,12 @@ void BUNDLEBLDR::OnButton2Click(wxCommandEvent& event) |
| 1496 | 1478 | file = wxFindNextFile(); |
| 1497 | 1479 | } |
| 1498 | 1480 | CheckBox3->Enable(); |
| 1499 | - | |
| 1500 | 1481 | } |
| 1501 | 1482 | } |
| 1502 | 1483 | |
| 1503 | 1484 | void BUNDLEBLDR::OnButton3Click(wxCommandEvent& event) |
| 1504 | 1485 | { |
| 1505 | - PopulateTheDirectoryTree(PathToMOD); | |
| 1486 | + //PopulateTheDirectoryTree(PathToMOD); | |
| 1506 | 1487 | //clean up directory |
| 1507 | 1488 | clean_temp_files(); |
| 1508 | 1489 | Close(); | ... | ... |
GUI/SW1/SRC/LOGGER.cpp
| ... | ... | @@ -70,5 +70,5 @@ void Logger::logHelper(const std::string& inMessage, const std::string& inLogLev |
| 70 | 70 | strftime (tCurrentTime,80,"%X",tTimeNow); |
| 71 | 71 | |
| 72 | 72 | mOutputStream << tCurrentTime <<"\t"; |
| 73 | - mOutputStream << inLogLevel << ": \t" << inMessage << endl; | |
| 73 | + mOutputStream << inLogLevel << ": \t" << inMessage << endl; | |
| 74 | 74 | } | ... | ... |
GUI/SW1/SRC/PLACE_CABLE.cpp
| ... | ... | @@ -93,8 +93,8 @@ PLACE_CABLE::PLACE_CABLE(wxWindow* parent,wxWindowID id,const wxPoint& pos,const |
| 93 | 93 | StaticBoxSizer1->SetSizeHints(this); |
| 94 | 94 | |
| 95 | 95 | Connect(ID_TEXTCTRL1,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&PLACE_CABLE::OnTextCtrl1Text); |
| 96 | - Connect(ID_TEXTCTRL2,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&PLACE_CABLE::OnTextCtrl2Text); | |
| 97 | - Connect(ID_TEXTCTRL3,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&PLACE_CABLE::OnTextCtrl3Text); | |
| 96 | + Connect(ID_TEXTCTRL1,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&PLACE_CABLE::OnTextCtrl2Text); | |
| 97 | + Connect(ID_TEXTCTRL1,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&PLACE_CABLE::OnTextCtrl3Text); | |
| 98 | 98 | Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&PLACE_CABLE::OnButton1Click); |
| 99 | 99 | Connect(ID_BUTTON2,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&PLACE_CABLE::OnButton2Click); |
| 100 | 100 | //*) | ... | ... |
GUI/SW1/SRC/SPICEMODEL.cpp
GUI/SW1/SRC/SPICEMODEL.h
| ... | ... | @@ -219,6 +219,7 @@ class SPICEMODEL: public wxDialog |
| 219 | 219 | void OnNotebook1PageChanged1(wxNotebookEvent& event); |
| 220 | 220 | void OnTextCtrl13Text1(wxCommandEvent& event); |
| 221 | 221 | void OnInit(wxInitDialogEvent& event); |
| 222 | + void OnNotebook1PageChanged2(wxNotebookEvent& event); | |
| 222 | 223 | //*) |
| 223 | 224 | |
| 224 | 225 | void PopulateTheDirectoryTree ( wxString); | ... | ... |
GUI/SW1/SRC/SW1_GUIApp.cpp
| ... | ... | @@ -64,7 +64,6 @@ bool SW1_GUIApp::OnInit() |
| 64 | 64 | |
| 65 | 65 | string updatemessage; |
| 66 | 66 | |
| 67 | - | |
| 68 | 67 | Logger::instance().log(Date, Logger::kLogLevelHeader); |
| 69 | 68 | Logger::instance().log("", Logger::kLogLevelHeader); |
| 70 | 69 | Logger::instance().log("SACAMOS STARTED", Logger::kLogLevelHeader); |
| ... | ... | @@ -98,8 +97,49 @@ bool SW1_GUIApp::OnInit() |
| 98 | 97 | |
| 99 | 98 | BuildFile.Close(); |
| 100 | 99 | |
| 100 | + wxString os_version = wxGetOsDescription(); | |
| 101 | + | |
| 102 | + wxStringTokenizer tokenizer(os_version, " "); | |
| 103 | + | |
| 104 | + wxString os_type = tokenizer.GetNextToken(); | |
| 105 | + | |
| 106 | + //(*AppInitialize | |
| 107 | + bool wxsOK = true; | |
| 108 | + wxInitAllImageHandlers(); | |
| 109 | + | |
| 110 | + | |
| 111 | + if ( wxsOK ) | |
| 112 | + { | |
| 113 | + SW1_GUIFrame* Frame = new SW1_GUIFrame(0); | |
| 114 | + | |
| 115 | + // Display splash screen | |
| 116 | + | |
| 117 | + if (splashimage.LoadFile("resources/Sacamos_About.png", wxBITMAP_TYPE_PNG)) | |
| 118 | + { | |
| 119 | + wxSplashScreen *splashscrn = new wxSplashScreen(splashimage, | |
| 120 | + wxSPLASH_CENTRE_ON_SCREEN|wxSPLASH_TIMEOUT, | |
| 121 | + 2000, Frame, wxID_ANY, wxDefaultPosition, wxDefaultSize, | |
| 122 | + wxSIMPLE_BORDER|wxSTAY_ON_TOP); | |
| 123 | + } | |
| 124 | + | |
| 125 | + if (os_type=="Windows") | |
| 126 | + { | |
| 127 | + wxYield(); | |
| 128 | + wxSleep(2); | |
| 129 | + Frame->Show(true); | |
| 130 | + } | |
| 131 | + else | |
| 132 | + { | |
| 133 | + Frame->Show(true); | |
| 134 | + wxYield(); | |
| 135 | + wxSleep(2); | |
| 136 | + } | |
| 137 | + | |
| 138 | + } | |
| 139 | + //*) | |
| 140 | + | |
| 101 | 141 | // Compare current version against latest release version |
| 102 | - Logger::instance().log("Checking for Software Update...", Logger::kLogLevelHeader); | |
| 142 | + Logger::instance().log("Checking for Software Update...", Logger::kLogLevelInfo); | |
| 103 | 143 | |
| 104 | 144 | wxHTTP checkupdate; |
| 105 | 145 | |
| ... | ... | @@ -129,7 +169,7 @@ bool SW1_GUIApp::OnInit() |
| 129 | 169 | else |
| 130 | 170 | { |
| 131 | 171 | //fail silently & log event |
| 132 | - Logger::instance().log("Could not connect to SACAMOS Repository", Logger::kLogLevelError); | |
| 172 | + Logger::instance().log("Could not connect to SACAMOS Repository", Logger::kLogLevelInfo); | |
| 133 | 173 | } |
| 134 | 174 | |
| 135 | 175 | checkupdate.Close(); |
| ... | ... | @@ -161,37 +201,11 @@ bool SW1_GUIApp::OnInit() |
| 161 | 201 | wxString myString(updatemessage); |
| 162 | 202 | wxMessageBox(updatemessage,"Please Update"); |
| 163 | 203 | |
| 204 | + Logger::instance().log("SACAMOS Update Available", Logger::kLogLevelInfo); | |
| 205 | + | |
| 164 | 206 | } |
| 165 | 207 | } |
| 166 | 208 | |
| 167 | - // Display splash screen | |
| 168 | -// wxBitmap splashimage; | |
| 169 | -// | |
| 170 | -// wxImage::AddHandler(new wxPNGHandler); | |
| 171 | -// | |
| 172 | -// splashimage.LoadFile(_T("resources/Sacamos_About.png"), wxBITMAP_TYPE_PNG); | |
| 173 | -// | |
| 174 | -// wxSplashScreen *splashscrn = new wxSplashScreen(splashimage, | |
| 175 | -// wxSPLASH_CENTRE_ON_SCREEN|wxSPLASH_TIMEOUT, | |
| 176 | -// 0, NULL, -1, wxDefaultPosition, wxDefaultSize, | |
| 177 | -// wxSIMPLE_BORDER|wxSTAY_ON_TOP); | |
| 178 | -// | |
| 179 | -// wxYield(); | |
| 180 | -// wxSleep(2); | |
| 181 | -// splashscrn->Destroy(); | |
| 182 | - | |
| 183 | - //(*AppInitialize | |
| 184 | - bool wxsOK = true; | |
| 185 | - wxInitAllImageHandlers(); | |
| 186 | - | |
| 187 | - | |
| 188 | - if ( wxsOK ) | |
| 189 | - { | |
| 190 | - SW1_GUIFrame* Frame = new SW1_GUIFrame(0); | |
| 191 | - Frame->Show(); | |
| 192 | - SetTopWindow(Frame); | |
| 193 | - } | |
| 194 | - //*) | |
| 195 | 209 | |
| 196 | 210 | return wxsOK; |
| 197 | 211 | ... | ... |
GUI/SW1/SRC/SW1_GUIApp.h
| ... | ... | @@ -65,10 +65,11 @@ class SW1_GUIApp : public wxApp |
| 65 | 65 | public: |
| 66 | 66 | virtual bool OnInit(); |
| 67 | 67 | |
| 68 | - std::string SACAMOS_V_NUMBER = "SPICE_CABLE_MODEL_BUILDER_version=\"v2.1.0\""; | |
| 68 | + wxBitmap splashimage; | |
| 69 | + | |
| 70 | + std::string SACAMOS_V_NUMBER = "SPICE_CABLE_MODEL_BUILDER_version=\"v3.1.0\""; | |
| 69 | 71 | std::string SACAMOS_V_DATE = "SPICE_CABLE_MODEL_BUILDER_date=\"16th April 2018\""; |
| 70 | 72 | |
| 71 | - //SPICE_CABLE_MODEL_BUILDER_date="16th April 2018" | |
| 72 | 73 | }; |
| 73 | 74 | |
| 74 | 75 | #endif // SW1_GUIAPP_H | ... | ... |
GUI/SW1/SRC/SW1_GUIMain.cpp
| ... | ... | @@ -332,22 +332,22 @@ void SW1_GUIFrame::OnCreateMOD(wxCommandEvent& event) |
| 332 | 332 | folder = PathToMOD + separator + "CABLE"; |
| 333 | 333 | dirName = folder; |
| 334 | 334 | if (!wxDirExists(dirName)) |
| 335 | - wxMkdir(dirName, 0); | |
| 335 | + wxMkdir(dirName, wxS_DIR_DEFAULT); | |
| 336 | 336 | |
| 337 | 337 | folder = PathToMOD + separator +"BUNDLE"; |
| 338 | 338 | dirName = folder; |
| 339 | 339 | if (!wxDirExists(dirName)) |
| 340 | - wxMkdir(dirName, 0); | |
| 340 | + wxMkdir(dirName, wxS_DIR_DEFAULT); | |
| 341 | 341 | |
| 342 | 342 | folder = PathToMOD + separator +"SPICE"; |
| 343 | 343 | dirName = folder; |
| 344 | 344 | if (!wxDirExists(dirName)) |
| 345 | - wxMkdir(dirName, 0); | |
| 345 | + wxMkdir(dirName, wxS_DIR_DEFAULT); | |
| 346 | 346 | |
| 347 | 347 | folder = PathToMOD + separator +"SPICE" + separator + "SYMBOL"; |
| 348 | 348 | dirName = folder; |
| 349 | 349 | if (!wxDirExists(dirName)) |
| 350 | - wxMkdir(dirName, 0); | |
| 350 | + wxMkdir(dirName, wxS_DIR_DEFAULT); | |
| 351 | 351 | |
| 352 | 352 | wxMenuBar* MenuBar1 = GetMenuBar(); |
| 353 | 353 | MenuBar1->EnableTop(MenuBar1->FindMenu(_("&Cable Model")),true); | ... | ... |
GUI/SW1/SRC/resources/Sacamos_About.png