Commit 529d6552365500f1c76ea060048e450c896da2ee
1 parent
2f8cca9d
Exists in
master
and in
3 other branches
SW1_GUI Bug fixes
MOD create Check for vaild input applicable to Linux for non decimal input Sizing of MOD fram in Bundlebldr
Showing
3 changed files
with
39 additions
and
38 deletions
Show diff stats
GUI/SW1/SRC/BUNDLEBLDR.cpp
... | ... | @@ -121,6 +121,7 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w |
121 | 121 | wxBoxSizer* BoxSizer6; |
122 | 122 | wxFlexGridSizer* FlexGridSizer4; |
123 | 123 | wxBoxSizer* BoxSizer5; |
124 | + wxBoxSizer* BoxSizer7; | |
124 | 125 | wxStaticBoxSizer* StaticBoxSizer4; |
125 | 126 | wxFlexGridSizer* FlexGridSizer3; |
126 | 127 | wxFlexGridSizer* FlexGridSizer5; |
... | ... | @@ -136,12 +137,14 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w |
136 | 137 | wxFlexGridSizer* FlexGridSizer1; |
137 | 138 | wxBoxSizer* BoxSizer3; |
138 | 139 | |
139 | - Create(parent, wxID_ANY, _("SACAMOS: CABLE BUNDLE BUILDER"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER, _T("wxID_ANY")); | |
140 | + Create(parent, wxID_ANY, _("SACAMOS: CABLE BUNDLE BUILDER"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, _T("wxID_ANY")); | |
140 | 141 | FlexGridSizer1 = new wxFlexGridSizer(1, 2, 0, 0); |
142 | + FlexGridSizer1->AddGrowableCol(0); | |
141 | 143 | FlexGridSizer1->AddGrowableCol(1); |
142 | 144 | FlexGridSizer1->AddGrowableRow(0); |
143 | 145 | StaticBoxSizer4 = new wxStaticBoxSizer(wxVERTICAL, this, _("Bundle Specification")); |
144 | 146 | FlexGridSizer3 = new wxFlexGridSizer(0, 1, 0, 0); |
147 | + FlexGridSizer3->AddGrowableRow(1); | |
145 | 148 | BoxSizer2 = new wxBoxSizer(wxHORIZONTAL); |
146 | 149 | StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("Bundle Name"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1")); |
147 | 150 | BoxSizer2->Add(StaticText1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); |
... | ... | @@ -153,9 +156,10 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w |
153 | 156 | Panel3 = new wxPanel(Notebook1, ID_PANEL3, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL3")); |
154 | 157 | BoxSizer6 = new wxBoxSizer(wxVERTICAL); |
155 | 158 | StaticBoxSizer2 = new wxStaticBoxSizer(wxVERTICAL, Panel3, _("Cable Component Browser")); |
156 | - Panel2 = new wxPanel(Panel3, ID_PANEL2, wxDefaultPosition, wxDefaultSize, wxSIMPLE_BORDER|wxTAB_TRAVERSAL, _T("ID_PANEL2")); | |
157 | - Panel2->SetMinSize(wxSize(300,0)); | |
158 | - StaticBoxSizer2->Add(Panel2, 1, wxALL|wxEXPAND, 5); | |
159 | + BoxSizer7 = new wxBoxSizer(wxVERTICAL); | |
160 | + Panel2 = new wxPanel(Panel3, ID_PANEL2, wxDefaultPosition, wxSize(300,140), wxTAB_TRAVERSAL, _T("ID_PANEL2")); | |
161 | + BoxSizer7->Add(Panel2, 1, wxALL|wxEXPAND, 5); | |
162 | + StaticBoxSizer2->Add(BoxSizer7, 1, wxALL|wxEXPAND, 5); | |
159 | 163 | BoxSizer6->Add(StaticBoxSizer2, 2, wxALL|wxEXPAND, 5); |
160 | 164 | StaticBoxSizer3 = new wxStaticBoxSizer(wxVERTICAL, Panel3, _("Bundle Component Cables")); |
161 | 165 | BoxSizer3 = new wxBoxSizer(wxVERTICAL); |
... | ... | @@ -272,7 +276,7 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w |
272 | 276 | Button3 = new wxButton(this, ID_BUTTON3, _("CLOSE"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON3")); |
273 | 277 | BoxSizer1->Add(Button3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); |
274 | 278 | StaticBoxSizer4->Add(BoxSizer1, 1, wxALL, 5); |
275 | - FlexGridSizer1->Add(StaticBoxSizer4, 3, wxALL|wxEXPAND, 5); | |
279 | + FlexGridSizer1->Add(StaticBoxSizer4, 1, wxALL|wxEXPAND, 5); | |
276 | 280 | StaticBoxSizer1 = new wxStaticBoxSizer(wxVERTICAL, this, _("2D Cross Section")); |
277 | 281 | Panel1 = new wxPanel(this, ID_PANEL1, wxDefaultPosition, wxSize(500,500), wxTAB_TRAVERSAL, _T("ID_PANEL1")); |
278 | 282 | Panel1->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); |
... | ... | @@ -285,15 +289,13 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w |
285 | 289 | SpinButton1 = new wxSpinButton(this, ID_SPINBUTTON1, wxDefaultPosition, wxDefaultSize, wxSP_VERTICAL|wxSP_ARROW_KEYS, _T("ID_SPINBUTTON1")); |
286 | 290 | SpinButton1->SetRange(0, 100); |
287 | 291 | BoxSizer4->Add(SpinButton1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); |
288 | - StaticBoxSizer1->Add(BoxSizer4, 1, wxALL, 5); | |
289 | - FlexGridSizer1->Add(StaticBoxSizer1, 1, wxALL, 5); | |
292 | + StaticBoxSizer1->Add(BoxSizer4, 1, wxALL|wxALIGN_RIGHT, 5); | |
293 | + FlexGridSizer1->Add(StaticBoxSizer1, 1, wxALL|wxEXPAND, 5); | |
290 | 294 | SetSizer(FlexGridSizer1); |
291 | 295 | FlexGridSizer1->Fit(this); |
292 | 296 | FlexGridSizer1->SetSizeHints(this); |
293 | 297 | |
294 | - Panel2->Connect(wxEVT_PAINT,(wxObjectEventFunction)&BUNDLEBLDR::OnPanel2Paint,0,this); | |
295 | 298 | Connect(ID_CHECKBOX1,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&BUNDLEBLDR::OnCheckBox1Click); |
296 | - Connect(ID_CHECKBOX2,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&BUNDLEBLDR::OnCheckBox2Click); | |
297 | 299 | Connect(ID_COMBOBOX1,wxEVT_COMMAND_COMBOBOX_SELECTED,(wxObjectEventFunction)&BUNDLEBLDR::OnComboBox1Selected); |
298 | 300 | Connect(ID_CHECKBOX3,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&BUNDLEBLDR::OnCheckBox3Click); |
299 | 301 | Connect(ID_TEXTCTRL4,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&BUNDLEBLDR::OnTextCtrl4Text); |
... | ... | @@ -410,18 +412,19 @@ void BUNDLEBLDR::PopulateTheDirectoryTree (wxString Path) |
410 | 412 | { |
411 | 413 | int size_h, size_v; |
412 | 414 | |
413 | - tree = (wxSpecificDirCtrl *) NULL; | |
414 | - | |
415 | 415 | Panel2->GetSize(&size_h, &size_v ); |
416 | 416 | |
417 | - tree = new wxSpecificDirCtrl (Panel2, -1, Path, | |
417 | + tree2 = (wxSpecificDirCtrl *) NULL; | |
418 | + | |
419 | + tree2 = new wxSpecificDirCtrl (Panel2, -1, Path, | |
418 | 420 | wxDefaultPosition, |
419 | - wxSize(size_h, size_v), | |
421 | + wxSize(300, 140), | |
420 | 422 | wxSIMPLE_BORDER, |
421 | 423 | "*.cable_spec", 0, |
422 | 424 | _T("Directory Listing")); |
423 | 425 | |
424 | - Connect(tree->GetTreeCtrl()->GetId(),wxEVT_COMMAND_TREE_ITEM_ACTIVATED, (wxObjectEventFunction) (wxEventFunction)(wxCommandEventFunction) &BUNDLEBLDR::OnTreeSelectionChanged); | |
426 | + | |
427 | + Connect(tree2->GetTreeCtrl()->GetId(),wxEVT_COMMAND_TREE_ITEM_ACTIVATED, (wxObjectEventFunction) (wxEventFunction)(wxCommandEventFunction) &BUNDLEBLDR::OnTreeSelectionChanged); | |
425 | 428 | |
426 | 429 | //SetButtonState_FolderSelected(); |
427 | 430 | } |
... | ... | @@ -430,7 +433,7 @@ void BUNDLEBLDR::PopulateTheDirectoryTree (wxString Path) |
430 | 433 | void BUNDLEBLDR::OnTreeSelectionChanged(wxTreeEvent& evt) |
431 | 434 | { |
432 | 435 | // A few file functions |
433 | - wxFileName fname (tree->GetFilePath()); | |
436 | + wxFileName fname (tree2->GetFilePath()); | |
434 | 437 | wxString File_Path = fname.GetPath(); |
435 | 438 | wxString File_FullName = fname.GetFullName(); |
436 | 439 | |
... | ... | @@ -1613,17 +1616,6 @@ void BUNDLEBLDR::OnSpinButton1ChangeDown(wxSpinEvent& event) |
1613 | 1616 | DrawBundleCsection(); |
1614 | 1617 | } |
1615 | 1618 | |
1616 | -void BUNDLEBLDR::OnCheckBox2Click(wxCommandEvent& event) | |
1619 | +void BUNDLEBLDR::OnPanel2Paint1(wxPaintEvent& event) | |
1617 | 1620 | { |
1618 | - if (CheckBox2->GetValue()) | |
1619 | - { | |
1620 | - TextCtrl8 -> Disable(); | |
1621 | - SpinButton1 -> Disable(); | |
1622 | - } | |
1623 | - | |
1624 | - if (!CheckBox2->GetValue()) | |
1625 | - { | |
1626 | - TextCtrl8 -> Enable(); | |
1627 | - SpinButton1 -> Enable(); | |
1628 | - } | |
1629 | 1621 | } | ... | ... |
GUI/SW1/SRC/SW1_GUIMain.cpp
... | ... | @@ -122,6 +122,7 @@ SW1_GUIFrame::SW1_GUIFrame(wxWindow* parent,wxWindowID id) |
122 | 122 | |
123 | 123 | Create(parent, wxID_ANY, _("SACAMOS"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("wxID_ANY")); |
124 | 124 | FlexGridSizer1 = new wxFlexGridSizer(1, 2, 0, 5); |
125 | + FlexGridSizer1->AddGrowableCol(0); | |
125 | 126 | FlexGridSizer1->AddGrowableCol(1); |
126 | 127 | FlexGridSizer1->AddGrowableRow(0); |
127 | 128 | StaticBoxSizer1 = new wxStaticBoxSizer(wxVERTICAL, this, _("MOD Browser")); |
... | ... | @@ -289,15 +290,17 @@ void SW1_GUIFrame::OnCreateMOD(wxCommandEvent& event) |
289 | 290 | // Create a new wxDirDialog dialog |
290 | 291 | wxDirDialog* dirDialog = new wxDirDialog(this); |
291 | 292 | |
293 | + wxString separator(wxFileName::GetPathSeparator()); | |
294 | + | |
292 | 295 | // Display the dialog and transfer the contents to |
293 | 296 | // the wxTextCtrl on the main frame if the user |
294 | 297 | // doesn't cancel |
295 | 298 | if (dirDialog->ShowModal() == wxID_OK) |
296 | 299 | { |
297 | 300 | wxString selectedFile = dirDialog->GetPath(); |
298 | - PathToMOD << dirDialog->GetPath(); | |
301 | + PathToMOD = dirDialog->GetPath(); | |
299 | 302 | |
300 | - wxStringTokenizer tkz(PathToMOD, wxT("/")); | |
303 | + wxStringTokenizer tkz(PathToMOD, separator); | |
301 | 304 | |
302 | 305 | while (tkz.HasMoreTokens()) |
303 | 306 | { |
... | ... | @@ -305,22 +308,22 @@ void SW1_GUIFrame::OnCreateMOD(wxCommandEvent& event) |
305 | 308 | } |
306 | 309 | wxString folder, dirName; |
307 | 310 | |
308 | - folder = PathToMOD + "/CABLE"; | |
311 | + folder = PathToMOD + separator + "CABLE"; | |
309 | 312 | dirName = folder; |
310 | 313 | if (!wxDirExists(dirName)) |
311 | 314 | wxMkdir(dirName, 0); |
312 | 315 | |
313 | - folder = PathToMOD + "/BUNDLE"; | |
316 | + folder = PathToMOD + separator +"BUNDLE"; | |
314 | 317 | dirName = folder; |
315 | 318 | if (!wxDirExists(dirName)) |
316 | 319 | wxMkdir(dirName, 0); |
317 | 320 | |
318 | - folder = PathToMOD + "/SPICE"; | |
321 | + folder = PathToMOD + separator +"SPICE"; | |
319 | 322 | dirName = folder; |
320 | 323 | if (!wxDirExists(dirName)) |
321 | 324 | wxMkdir(dirName, 0); |
322 | 325 | |
323 | - folder = PathToMOD + "/SPICE/SYMBOL"; | |
326 | + folder = PathToMOD + separator +"SPICE" + separator + "SYMBOL"; | |
324 | 327 | dirName = folder; |
325 | 328 | if (!wxDirExists(dirName)) |
326 | 329 | wxMkdir(dirName, 0); |
... | ... | @@ -331,6 +334,8 @@ void SW1_GUIFrame::OnCreateMOD(wxCommandEvent& event) |
331 | 334 | MenuBar1->EnableTop(MenuBar1->FindMenu(_("&Spice Model")),true); |
332 | 335 | } |
333 | 336 | dirDialog->Destroy(); |
337 | + | |
338 | + PopulateTheDirectoryTree (PathToMOD); | |
334 | 339 | } |
335 | 340 | |
336 | 341 | void SW1_GUIFrame::PopulateTheDirectoryTree ( wxString RootFolder) | ... | ... |
GUI/SW1/SRC/UTILITIES.cpp
... | ... | @@ -62,9 +62,11 @@ void check_is_empty(wxTextCtrl *TxtBox, int *IsError) |
62 | 62 | void check_is_numeric(wxTextCtrl *TxtBox, int *IsError) |
63 | 63 | { |
64 | 64 | |
65 | - char* non_numeric; | |
65 | + char* non_numeric = NULL; | |
66 | 66 | |
67 | - (void) strtod(TxtBox->GetValue(), &non_numeric); | |
67 | + wxString input = TxtBox->GetValue(); | |
68 | + | |
69 | + (void) strtod(input, &non_numeric); | |
68 | 70 | |
69 | 71 | if (*IsError == 0) |
70 | 72 | { |
... | ... | @@ -72,7 +74,7 @@ void check_is_numeric(wxTextCtrl *TxtBox, int *IsError) |
72 | 74 | TxtBox->Refresh(); |
73 | 75 | } |
74 | 76 | |
75 | - if (!*non_numeric || *IsError == 1) | |
77 | + if (*non_numeric || *IsError == 1) | |
76 | 78 | { |
77 | 79 | TxtBox->SetBackgroundColour(wxColor(255,153,153)); |
78 | 80 | TxtBox->SetFocus(); |
... | ... | @@ -84,12 +86,14 @@ void check_is_numeric(wxTextCtrl *TxtBox, int *IsError) |
84 | 86 | void check_is_numeric_list(wxTextCtrl *TxtBox, int *IsError) |
85 | 87 | { |
86 | 88 | |
87 | - char* non_numeric; | |
89 | + char* non_numeric = NULL; | |
90 | + | |
91 | + wxString input = TxtBox->GetValue(); | |
88 | 92 | |
89 | 93 | TxtBox->SetBackgroundColour("WHITE"); |
90 | 94 | TxtBox->Refresh(); |
91 | 95 | |
92 | - wxStringTokenizer tokenizer(TxtBox->GetValue(), " "); | |
96 | + wxStringTokenizer tokenizer(input, " "); | |
93 | 97 | |
94 | 98 | while ( tokenizer.HasMoreTokens()) |
95 | 99 | { | ... | ... |