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