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,6 +121,7 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w | ||
121 | wxBoxSizer* BoxSizer6; | 121 | wxBoxSizer* BoxSizer6; |
122 | wxFlexGridSizer* FlexGridSizer4; | 122 | wxFlexGridSizer* FlexGridSizer4; |
123 | wxBoxSizer* BoxSizer5; | 123 | wxBoxSizer* BoxSizer5; |
124 | + wxBoxSizer* BoxSizer7; | ||
124 | wxStaticBoxSizer* StaticBoxSizer4; | 125 | wxStaticBoxSizer* StaticBoxSizer4; |
125 | wxFlexGridSizer* FlexGridSizer3; | 126 | wxFlexGridSizer* FlexGridSizer3; |
126 | wxFlexGridSizer* FlexGridSizer5; | 127 | wxFlexGridSizer* FlexGridSizer5; |
@@ -136,12 +137,14 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w | @@ -136,12 +137,14 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w | ||
136 | wxFlexGridSizer* FlexGridSizer1; | 137 | wxFlexGridSizer* FlexGridSizer1; |
137 | wxBoxSizer* BoxSizer3; | 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 | FlexGridSizer1 = new wxFlexGridSizer(1, 2, 0, 0); | 141 | FlexGridSizer1 = new wxFlexGridSizer(1, 2, 0, 0); |
142 | + FlexGridSizer1->AddGrowableCol(0); | ||
141 | FlexGridSizer1->AddGrowableCol(1); | 143 | FlexGridSizer1->AddGrowableCol(1); |
142 | FlexGridSizer1->AddGrowableRow(0); | 144 | FlexGridSizer1->AddGrowableRow(0); |
143 | StaticBoxSizer4 = new wxStaticBoxSizer(wxVERTICAL, this, _("Bundle Specification")); | 145 | StaticBoxSizer4 = new wxStaticBoxSizer(wxVERTICAL, this, _("Bundle Specification")); |
144 | FlexGridSizer3 = new wxFlexGridSizer(0, 1, 0, 0); | 146 | FlexGridSizer3 = new wxFlexGridSizer(0, 1, 0, 0); |
147 | + FlexGridSizer3->AddGrowableRow(1); | ||
145 | BoxSizer2 = new wxBoxSizer(wxHORIZONTAL); | 148 | BoxSizer2 = new wxBoxSizer(wxHORIZONTAL); |
146 | StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("Bundle Name"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1")); | 149 | StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("Bundle Name"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1")); |
147 | BoxSizer2->Add(StaticText1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); | 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,9 +156,10 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w | ||
153 | Panel3 = new wxPanel(Notebook1, ID_PANEL3, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL3")); | 156 | Panel3 = new wxPanel(Notebook1, ID_PANEL3, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL3")); |
154 | BoxSizer6 = new wxBoxSizer(wxVERTICAL); | 157 | BoxSizer6 = new wxBoxSizer(wxVERTICAL); |
155 | StaticBoxSizer2 = new wxStaticBoxSizer(wxVERTICAL, Panel3, _("Cable Component Browser")); | 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 | BoxSizer6->Add(StaticBoxSizer2, 2, wxALL|wxEXPAND, 5); | 163 | BoxSizer6->Add(StaticBoxSizer2, 2, wxALL|wxEXPAND, 5); |
160 | StaticBoxSizer3 = new wxStaticBoxSizer(wxVERTICAL, Panel3, _("Bundle Component Cables")); | 164 | StaticBoxSizer3 = new wxStaticBoxSizer(wxVERTICAL, Panel3, _("Bundle Component Cables")); |
161 | BoxSizer3 = new wxBoxSizer(wxVERTICAL); | 165 | BoxSizer3 = new wxBoxSizer(wxVERTICAL); |
@@ -272,7 +276,7 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w | @@ -272,7 +276,7 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w | ||
272 | Button3 = new wxButton(this, ID_BUTTON3, _("CLOSE"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON3")); | 276 | Button3 = new wxButton(this, ID_BUTTON3, _("CLOSE"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON3")); |
273 | BoxSizer1->Add(Button3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); | 277 | BoxSizer1->Add(Button3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); |
274 | StaticBoxSizer4->Add(BoxSizer1, 1, wxALL, 5); | 278 | StaticBoxSizer4->Add(BoxSizer1, 1, wxALL, 5); |
275 | - FlexGridSizer1->Add(StaticBoxSizer4, 3, wxALL|wxEXPAND, 5); | 279 | + FlexGridSizer1->Add(StaticBoxSizer4, 1, wxALL|wxEXPAND, 5); |
276 | StaticBoxSizer1 = new wxStaticBoxSizer(wxVERTICAL, this, _("2D Cross Section")); | 280 | StaticBoxSizer1 = new wxStaticBoxSizer(wxVERTICAL, this, _("2D Cross Section")); |
277 | Panel1 = new wxPanel(this, ID_PANEL1, wxDefaultPosition, wxSize(500,500), wxTAB_TRAVERSAL, _T("ID_PANEL1")); | 281 | Panel1 = new wxPanel(this, ID_PANEL1, wxDefaultPosition, wxSize(500,500), wxTAB_TRAVERSAL, _T("ID_PANEL1")); |
278 | Panel1->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); | 282 | Panel1->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); |
@@ -285,15 +289,13 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w | @@ -285,15 +289,13 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w | ||
285 | SpinButton1 = new wxSpinButton(this, ID_SPINBUTTON1, wxDefaultPosition, wxDefaultSize, wxSP_VERTICAL|wxSP_ARROW_KEYS, _T("ID_SPINBUTTON1")); | 289 | SpinButton1 = new wxSpinButton(this, ID_SPINBUTTON1, wxDefaultPosition, wxDefaultSize, wxSP_VERTICAL|wxSP_ARROW_KEYS, _T("ID_SPINBUTTON1")); |
286 | SpinButton1->SetRange(0, 100); | 290 | SpinButton1->SetRange(0, 100); |
287 | BoxSizer4->Add(SpinButton1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); | 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 | SetSizer(FlexGridSizer1); | 294 | SetSizer(FlexGridSizer1); |
291 | FlexGridSizer1->Fit(this); | 295 | FlexGridSizer1->Fit(this); |
292 | FlexGridSizer1->SetSizeHints(this); | 296 | FlexGridSizer1->SetSizeHints(this); |
293 | 297 | ||
294 | - Panel2->Connect(wxEVT_PAINT,(wxObjectEventFunction)&BUNDLEBLDR::OnPanel2Paint,0,this); | ||
295 | Connect(ID_CHECKBOX1,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&BUNDLEBLDR::OnCheckBox1Click); | 298 | Connect(ID_CHECKBOX1,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&BUNDLEBLDR::OnCheckBox1Click); |
296 | - Connect(ID_CHECKBOX2,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&BUNDLEBLDR::OnCheckBox2Click); | ||
297 | Connect(ID_COMBOBOX1,wxEVT_COMMAND_COMBOBOX_SELECTED,(wxObjectEventFunction)&BUNDLEBLDR::OnComboBox1Selected); | 299 | Connect(ID_COMBOBOX1,wxEVT_COMMAND_COMBOBOX_SELECTED,(wxObjectEventFunction)&BUNDLEBLDR::OnComboBox1Selected); |
298 | Connect(ID_CHECKBOX3,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&BUNDLEBLDR::OnCheckBox3Click); | 300 | Connect(ID_CHECKBOX3,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&BUNDLEBLDR::OnCheckBox3Click); |
299 | Connect(ID_TEXTCTRL4,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&BUNDLEBLDR::OnTextCtrl4Text); | 301 | Connect(ID_TEXTCTRL4,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&BUNDLEBLDR::OnTextCtrl4Text); |
@@ -410,18 +412,19 @@ void BUNDLEBLDR::PopulateTheDirectoryTree (wxString Path) | @@ -410,18 +412,19 @@ void BUNDLEBLDR::PopulateTheDirectoryTree (wxString Path) | ||
410 | { | 412 | { |
411 | int size_h, size_v; | 413 | int size_h, size_v; |
412 | 414 | ||
413 | - tree = (wxSpecificDirCtrl *) NULL; | ||
414 | - | ||
415 | Panel2->GetSize(&size_h, &size_v ); | 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 | wxDefaultPosition, | 420 | wxDefaultPosition, |
419 | - wxSize(size_h, size_v), | 421 | + wxSize(300, 140), |
420 | wxSIMPLE_BORDER, | 422 | wxSIMPLE_BORDER, |
421 | "*.cable_spec", 0, | 423 | "*.cable_spec", 0, |
422 | _T("Directory Listing")); | 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 | //SetButtonState_FolderSelected(); | 429 | //SetButtonState_FolderSelected(); |
427 | } | 430 | } |
@@ -430,7 +433,7 @@ void BUNDLEBLDR::PopulateTheDirectoryTree (wxString Path) | @@ -430,7 +433,7 @@ void BUNDLEBLDR::PopulateTheDirectoryTree (wxString Path) | ||
430 | void BUNDLEBLDR::OnTreeSelectionChanged(wxTreeEvent& evt) | 433 | void BUNDLEBLDR::OnTreeSelectionChanged(wxTreeEvent& evt) |
431 | { | 434 | { |
432 | // A few file functions | 435 | // A few file functions |
433 | - wxFileName fname (tree->GetFilePath()); | 436 | + wxFileName fname (tree2->GetFilePath()); |
434 | wxString File_Path = fname.GetPath(); | 437 | wxString File_Path = fname.GetPath(); |
435 | wxString File_FullName = fname.GetFullName(); | 438 | wxString File_FullName = fname.GetFullName(); |
436 | 439 | ||
@@ -1613,17 +1616,6 @@ void BUNDLEBLDR::OnSpinButton1ChangeDown(wxSpinEvent& event) | @@ -1613,17 +1616,6 @@ void BUNDLEBLDR::OnSpinButton1ChangeDown(wxSpinEvent& event) | ||
1613 | DrawBundleCsection(); | 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,6 +122,7 @@ SW1_GUIFrame::SW1_GUIFrame(wxWindow* parent,wxWindowID id) | ||
122 | 122 | ||
123 | Create(parent, wxID_ANY, _("SACAMOS"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("wxID_ANY")); | 123 | Create(parent, wxID_ANY, _("SACAMOS"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("wxID_ANY")); |
124 | FlexGridSizer1 = new wxFlexGridSizer(1, 2, 0, 5); | 124 | FlexGridSizer1 = new wxFlexGridSizer(1, 2, 0, 5); |
125 | + FlexGridSizer1->AddGrowableCol(0); | ||
125 | FlexGridSizer1->AddGrowableCol(1); | 126 | FlexGridSizer1->AddGrowableCol(1); |
126 | FlexGridSizer1->AddGrowableRow(0); | 127 | FlexGridSizer1->AddGrowableRow(0); |
127 | StaticBoxSizer1 = new wxStaticBoxSizer(wxVERTICAL, this, _("MOD Browser")); | 128 | StaticBoxSizer1 = new wxStaticBoxSizer(wxVERTICAL, this, _("MOD Browser")); |
@@ -289,15 +290,17 @@ void SW1_GUIFrame::OnCreateMOD(wxCommandEvent& event) | @@ -289,15 +290,17 @@ void SW1_GUIFrame::OnCreateMOD(wxCommandEvent& event) | ||
289 | // Create a new wxDirDialog dialog | 290 | // Create a new wxDirDialog dialog |
290 | wxDirDialog* dirDialog = new wxDirDialog(this); | 291 | wxDirDialog* dirDialog = new wxDirDialog(this); |
291 | 292 | ||
293 | + wxString separator(wxFileName::GetPathSeparator()); | ||
294 | + | ||
292 | // Display the dialog and transfer the contents to | 295 | // Display the dialog and transfer the contents to |
293 | // the wxTextCtrl on the main frame if the user | 296 | // the wxTextCtrl on the main frame if the user |
294 | // doesn't cancel | 297 | // doesn't cancel |
295 | if (dirDialog->ShowModal() == wxID_OK) | 298 | if (dirDialog->ShowModal() == wxID_OK) |
296 | { | 299 | { |
297 | wxString selectedFile = dirDialog->GetPath(); | 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 | while (tkz.HasMoreTokens()) | 305 | while (tkz.HasMoreTokens()) |
303 | { | 306 | { |
@@ -305,22 +308,22 @@ void SW1_GUIFrame::OnCreateMOD(wxCommandEvent& event) | @@ -305,22 +308,22 @@ void SW1_GUIFrame::OnCreateMOD(wxCommandEvent& event) | ||
305 | } | 308 | } |
306 | wxString folder, dirName; | 309 | wxString folder, dirName; |
307 | 310 | ||
308 | - folder = PathToMOD + "/CABLE"; | 311 | + folder = PathToMOD + separator + "CABLE"; |
309 | dirName = folder; | 312 | dirName = folder; |
310 | if (!wxDirExists(dirName)) | 313 | if (!wxDirExists(dirName)) |
311 | wxMkdir(dirName, 0); | 314 | wxMkdir(dirName, 0); |
312 | 315 | ||
313 | - folder = PathToMOD + "/BUNDLE"; | 316 | + folder = PathToMOD + separator +"BUNDLE"; |
314 | dirName = folder; | 317 | dirName = folder; |
315 | if (!wxDirExists(dirName)) | 318 | if (!wxDirExists(dirName)) |
316 | wxMkdir(dirName, 0); | 319 | wxMkdir(dirName, 0); |
317 | 320 | ||
318 | - folder = PathToMOD + "/SPICE"; | 321 | + folder = PathToMOD + separator +"SPICE"; |
319 | dirName = folder; | 322 | dirName = folder; |
320 | if (!wxDirExists(dirName)) | 323 | if (!wxDirExists(dirName)) |
321 | wxMkdir(dirName, 0); | 324 | wxMkdir(dirName, 0); |
322 | 325 | ||
323 | - folder = PathToMOD + "/SPICE/SYMBOL"; | 326 | + folder = PathToMOD + separator +"SPICE" + separator + "SYMBOL"; |
324 | dirName = folder; | 327 | dirName = folder; |
325 | if (!wxDirExists(dirName)) | 328 | if (!wxDirExists(dirName)) |
326 | wxMkdir(dirName, 0); | 329 | wxMkdir(dirName, 0); |
@@ -331,6 +334,8 @@ void SW1_GUIFrame::OnCreateMOD(wxCommandEvent& event) | @@ -331,6 +334,8 @@ void SW1_GUIFrame::OnCreateMOD(wxCommandEvent& event) | ||
331 | MenuBar1->EnableTop(MenuBar1->FindMenu(_("&Spice Model")),true); | 334 | MenuBar1->EnableTop(MenuBar1->FindMenu(_("&Spice Model")),true); |
332 | } | 335 | } |
333 | dirDialog->Destroy(); | 336 | dirDialog->Destroy(); |
337 | + | ||
338 | + PopulateTheDirectoryTree (PathToMOD); | ||
334 | } | 339 | } |
335 | 340 | ||
336 | void SW1_GUIFrame::PopulateTheDirectoryTree ( wxString RootFolder) | 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,9 +62,11 @@ void check_is_empty(wxTextCtrl *TxtBox, int *IsError) | ||
62 | void check_is_numeric(wxTextCtrl *TxtBox, int *IsError) | 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 | if (*IsError == 0) | 71 | if (*IsError == 0) |
70 | { | 72 | { |
@@ -72,7 +74,7 @@ void check_is_numeric(wxTextCtrl *TxtBox, int *IsError) | @@ -72,7 +74,7 @@ void check_is_numeric(wxTextCtrl *TxtBox, int *IsError) | ||
72 | TxtBox->Refresh(); | 74 | TxtBox->Refresh(); |
73 | } | 75 | } |
74 | 76 | ||
75 | - if (!*non_numeric || *IsError == 1) | 77 | + if (*non_numeric || *IsError == 1) |
76 | { | 78 | { |
77 | TxtBox->SetBackgroundColour(wxColor(255,153,153)); | 79 | TxtBox->SetBackgroundColour(wxColor(255,153,153)); |
78 | TxtBox->SetFocus(); | 80 | TxtBox->SetFocus(); |
@@ -84,12 +86,14 @@ void check_is_numeric(wxTextCtrl *TxtBox, int *IsError) | @@ -84,12 +86,14 @@ void check_is_numeric(wxTextCtrl *TxtBox, int *IsError) | ||
84 | void check_is_numeric_list(wxTextCtrl *TxtBox, int *IsError) | 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 | TxtBox->SetBackgroundColour("WHITE"); | 93 | TxtBox->SetBackgroundColour("WHITE"); |
90 | TxtBox->Refresh(); | 94 | TxtBox->Refresh(); |
91 | 95 | ||
92 | - wxStringTokenizer tokenizer(TxtBox->GetValue(), " "); | 96 | + wxStringTokenizer tokenizer(input, " "); |
93 | 97 | ||
94 | while ( tokenizer.HasMoreTokens()) | 98 | while ( tokenizer.HasMoreTokens()) |
95 | { | 99 | { |