From d475f4d669246ee5894cd778d27ca360b6c91bb7 Mon Sep 17 00:00:00 2001 From: steve.greedy Date: Wed, 1 Nov 2017 08:50:09 +0000 Subject: [PATCH] SW1 Update to v1.0.1 --- GUI/SW1/SRC/BUNDLEBLDR.cpp | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- GUI/SW1/SRC/BUNDLEBLDR.h | 29 +++++++++++++++++++++++++++++ GUI/SW1/SRC/COAXIAL.cpp | 2 ++ GUI/SW1/SRC/COAXIAL.h | 2 ++ GUI/SW1/SRC/CYLINDRICAL.cpp | 191 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------- GUI/SW1/SRC/CYLINDRICAL.h | 48 +++++++++++++++++++----------------------------- GUI/SW1/SRC/DCONN.cpp | 2 +- GUI/SW1/SRC/EXPORT_SPICE.cpp | 26 +++++++++++++++++++++++--- GUI/SW1/SRC/EXPORT_SPICE.h | 3 +++ GUI/SW1/SRC/FD_ESR.cpp | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ GUI/SW1/SRC/FD_ESR.h | 27 ++++++++++++++++++++++++++- GUI/SW1/SRC/FD_ESR_SW.cpp | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- GUI/SW1/SRC/FD_ESR_SW.h | 24 ++++++++++++++++++++++++ GUI/SW1/SRC/FLEXCABLE.cpp | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------ GUI/SW1/SRC/FLEXCABLE.h | 36 +++++++----------------------------- GUI/SW1/SRC/SPACEWIRE.cpp | 60 +++++++++++++++++++++++++++++++++++++++++++++++------------- GUI/SW1/SRC/SPACEWIRE.h | 10 +++++++++- GUI/SW1/SRC/SPICEMODEL.cpp | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- GUI/SW1/SRC/SPICEMODEL.h | 33 +++++++++++++++++++++++++++++++++ GUI/SW1/SRC/SW1_GUI | Bin 1318184 -> 0 bytes GUI/SW1/SRC/SW1_GUIMain.cpp | 2 +- GUI/SW1/SRC/TP.cpp | 33 +++++++++++++++++++++++++++------ GUI/SW1/SRC/TP.h | 7 +++++++ GUI/SW1/SRC/TWINAX.cpp | 32 ++++++++++++++++++++++++++------ GUI/SW1/SRC/TWINAX.h | 7 +++++++ GUI/SW1/SRC/UTP.cpp | 202 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------- GUI/SW1/SRC/UTP.h | 50 ++++++++++++++++++++------------------------------ GUI/SW1/SRC/resources/Twinax.png | Bin 0 -> 65168 bytes GUI/SW1/SRC/resources/coaxial.jpg | Bin 0 -> 88024 bytes GUI/SW1/SRC/resources/coaxial.png | Bin 0 -> 42299 bytes GUI/SW1/SRC/resources/cylindrical.png | Bin 0 -> 31535 bytes GUI/SW1/SRC/resources/dsub.png | Bin 0 -> 37578 bytes GUI/SW1/SRC/resources/flexcable.png | Bin 0 -> 22288 bytes GUI/SW1/SRC/resources/overshield.png | Bin 0 -> 30860 bytes GUI/SW1/SRC/resources/spacewire.png | Bin 0 -> 94933 bytes GUI/SW1/SRC/resources/stp.png | Bin 0 -> 74034 bytes GUI/SW1/SRC/resources/tp.png | Bin 0 -> 39823 bytes 37 files changed, 878 insertions(+), 449 deletions(-) delete mode 100644 GUI/SW1/SRC/SW1_GUI create mode 100644 GUI/SW1/SRC/resources/Twinax.png create mode 100644 GUI/SW1/SRC/resources/coaxial.jpg create mode 100644 GUI/SW1/SRC/resources/coaxial.png create mode 100644 GUI/SW1/SRC/resources/cylindrical.png create mode 100644 GUI/SW1/SRC/resources/dsub.png create mode 100644 GUI/SW1/SRC/resources/flexcable.png create mode 100644 GUI/SW1/SRC/resources/overshield.png create mode 100644 GUI/SW1/SRC/resources/spacewire.png create mode 100644 GUI/SW1/SRC/resources/stp.png create mode 100644 GUI/SW1/SRC/resources/tp.png diff --git a/GUI/SW1/SRC/BUNDLEBLDR.cpp b/GUI/SW1/SRC/BUNDLEBLDR.cpp index 59be543..73023b4 100644 --- a/GUI/SW1/SRC/BUNDLEBLDR.cpp +++ b/GUI/SW1/SRC/BUNDLEBLDR.cpp @@ -78,6 +78,20 @@ const long BUNDLEBLDR::ID_TEXTCTRL4 = wxNewId(); const long BUNDLEBLDR::ID_STATICTEXT8 = wxNewId(); const long BUNDLEBLDR::ID_TEXTCTRL5 = wxNewId(); const long BUNDLEBLDR::ID_PANEL5 = wxNewId(); +const long BUNDLEBLDR::ID_STATICTEXT11 = wxNewId(); +const long BUNDLEBLDR::ID_CHECKBOX4 = wxNewId(); +const long BUNDLEBLDR::ID_STATICTEXT3 = wxNewId(); +const long BUNDLEBLDR::ID_TEXTCTRL2 = wxNewId(); +const long BUNDLEBLDR::ID_STATICTEXT4 = wxNewId(); +const long BUNDLEBLDR::ID_RADIOBUTTON1 = wxNewId(); +const long BUNDLEBLDR::ID_RADIOBUTTON2 = wxNewId(); +const long BUNDLEBLDR::ID_STATICTEXT5 = wxNewId(); +const long BUNDLEBLDR::ID_TEXTCTRL3 = wxNewId(); +const long BUNDLEBLDR::ID_STATICTEXT9 = wxNewId(); +const long BUNDLEBLDR::ID_TEXTCTRL6 = wxNewId(); +const long BUNDLEBLDR::ID_STATICTEXT10 = wxNewId(); +const long BUNDLEBLDR::ID_TEXTCTRL7 = wxNewId(); +const long BUNDLEBLDR::ID_PANEL6 = wxNewId(); const long BUNDLEBLDR::ID_NOTEBOOK1 = wxNewId(); const long BUNDLEBLDR::ID_BUTTON1 = wxNewId(); const long BUNDLEBLDR::ID_BUTTON2 = wxNewId(); @@ -100,9 +114,14 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w wxStaticBoxSizer* StaticBoxSizer4; wxFlexGridSizer* FlexGridSizer3; wxFlexGridSizer* FlexGridSizer5; + wxFlexGridSizer* FlexGridSizer9; + wxFlexGridSizer* FlexGridSizer2; wxBoxSizer* BoxSizer2; + wxFlexGridSizer* FlexGridSizer7; wxStaticBoxSizer* StaticBoxSizer3; + wxFlexGridSizer* FlexGridSizer8; wxBoxSizer* BoxSizer1; + wxFlexGridSizer* FlexGridSizer6; wxStaticBoxSizer* StaticBoxSizer1; wxFlexGridSizer* FlexGridSizer1; wxBoxSizer* BoxSizer3; @@ -172,9 +191,54 @@ BUNDLEBLDR::BUNDLEBLDR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w Panel5->SetSizer(FlexGridSizer5); FlexGridSizer5->Fit(Panel5); FlexGridSizer5->SetSizeHints(Panel5); + Panel6 = new wxPanel(Notebook1, ID_PANEL6, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL6")); + FlexGridSizer2 = new wxFlexGridSizer(0, 1, 0, 0); + FlexGridSizer9 = new wxFlexGridSizer(0, 3, 0, 0); + StaticText11 = new wxStaticText(Panel6, ID_STATICTEXT11, _("Use Filter Fitting Parameters"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT11")); + FlexGridSizer9->Add(StaticText11, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + CheckBox4 = new wxCheckBox(Panel6, ID_CHECKBOX4, _("Label"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX4")); + CheckBox4->SetValue(false); + FlexGridSizer9->Add(CheckBox4, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + FlexGridSizer2->Add(FlexGridSizer9, 1, wxALL|wxEXPAND, 5); + FlexGridSizer6 = new wxFlexGridSizer(0, 2, 0, 0); + StaticText3 = new wxStaticText(Panel6, ID_STATICTEXT3, _("Order for Filter Fitting "), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT3")); + FlexGridSizer6->Add(StaticText3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + TextCtrl2 = new wxTextCtrl(Panel6, ID_TEXTCTRL2, _("-10"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL2")); + TextCtrl2->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + FlexGridSizer6->Add(TextCtrl2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + FlexGridSizer2->Add(FlexGridSizer6, 1, wxALL|wxEXPAND, 5); + FlexGridSizer7 = new wxFlexGridSizer(0, 3, 0, 0); + StaticText4 = new wxStaticText(Panel6, ID_STATICTEXT4, _("Range Type"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT4")); + FlexGridSizer7->Add(StaticText4, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + RadioButton1 = new wxRadioButton(Panel6, ID_RADIOBUTTON1, _("Lin"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_RADIOBUTTON1")); + FlexGridSizer7->Add(RadioButton1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + RadioButton2 = new wxRadioButton(Panel6, ID_RADIOBUTTON2, _("Log"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_RADIOBUTTON2")); + FlexGridSizer7->Add(RadioButton2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + FlexGridSizer2->Add(FlexGridSizer7, 1, wxALL|wxEXPAND, 5); + FlexGridSizer8 = new wxFlexGridSizer(0, 2, 0, 0); + StaticText5 = new wxStaticText(Panel6, ID_STATICTEXT5, _("Frequency min (Hz)"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT5")); + FlexGridSizer8->Add(StaticText5, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + TextCtrl3 = new wxTextCtrl(Panel6, ID_TEXTCTRL3, _("1e3"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL3")); + TextCtrl3->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + FlexGridSizer8->Add(TextCtrl3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + StaticText9 = new wxStaticText(Panel6, ID_STATICTEXT9, _("Frequecy max (Hz)"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT9")); + FlexGridSizer8->Add(StaticText9, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + TextCtrl6 = new wxTextCtrl(Panel6, ID_TEXTCTRL6, _("1e9"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL6")); + TextCtrl6->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + FlexGridSizer8->Add(TextCtrl6, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + StaticText10 = new wxStaticText(Panel6, ID_STATICTEXT10, _("Number of Frequencies"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT10")); + FlexGridSizer8->Add(StaticText10, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + TextCtrl7 = new wxTextCtrl(Panel6, ID_TEXTCTRL7, _("12"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL7")); + TextCtrl7->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + FlexGridSizer8->Add(TextCtrl7, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + FlexGridSizer2->Add(FlexGridSizer8, 1, wxALL|wxEXPAND, 5); + Panel6->SetSizer(FlexGridSizer2); + FlexGridSizer2->Fit(Panel6); + FlexGridSizer2->SetSizeHints(Panel6); Notebook1->AddPage(Panel3, _("Bundle"), false); Notebook1->AddPage(Panel4, _("Ground Plane"), false); Notebook1->AddPage(Panel5, _("Laplace Solver"), false); + Notebook1->AddPage(Panel6, _("Filter Fitting"), false); BoxSizer5->Add(Notebook1, 1, wxALL|wxEXPAND, 5); FlexGridSizer3->Add(BoxSizer5, 1, wxALL|wxEXPAND, 5); StaticBoxSizer4->Add(FlexGridSizer3, 8, wxALL|wxEXPAND, 5); @@ -1154,6 +1218,22 @@ void BUNDLEBLDR::OnButton1Click(wxCommandEvent& event) cableFile <<"no_ground_plane\n"; } + + if (CheckBox4->GetValue()) + { + cableFile << TextCtrl2->GetValue() <<"\t # order for filter fitting\n"; + if (RadioButton1) + { + cableFile << "lin # frequency range type for filter fitting type (lin or dB)"; + } + else + { + cableFile << "log # frequency range type for filter fitting type (lin or dB)"; + } + cableFile << TextCtrl3->GetValue() <<" "<< TextCtrl6->GetValue() <<" "<< TextCtrl7->GetValue() <<"\t # fmin fmax number_of_frequencies for filter fitting"; + + } + if (CheckBox2->GetValue()) { cableFile << "use_laplace\n"; @@ -1203,7 +1283,7 @@ void BUNDLEBLDR::OnButton2Click(wxCommandEvent& event) if (CheckBox2->GetValue()) { // Identify all mesh files for viewing - //struct _finddata_t fileinfo; + struct _finddata_t fileinfo; long hFile; wxString meshFileName = "*.msh.vtk"; diff --git a/GUI/SW1/SRC/BUNDLEBLDR.h b/GUI/SW1/SRC/BUNDLEBLDR.h index 11568f4..9a9ccf7 100644 --- a/GUI/SW1/SRC/BUNDLEBLDR.h +++ b/GUI/SW1/SRC/BUNDLEBLDR.h @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -145,27 +146,41 @@ class BUNDLEBLDR: public wxDialog //(*Declarations(BUNDLEBLDR) + wxStaticText* StaticText10; + wxStaticText* StaticText9; wxTextCtrl* TextCtrl4; + wxRadioButton* RadioButton1; wxPanel* Panel5; wxNotebook* Notebook1; wxStaticText* StaticText2; wxPanel* Panel4; + wxRadioButton* RadioButton2; wxButton* Button1; wxStaticText* StaticText6; + wxTextCtrl* TextCtrl6; wxStaticText* StaticText8; + wxStaticText* StaticText11; wxCheckBox* CheckBox3; wxCheckBox* CheckBox2; wxPanel* Panel1; wxStaticText* StaticText1; + wxStaticText* StaticText3; wxButton* Button2; + wxPanel* Panel6; wxCheckBox* CheckBox1; wxPanel* Panel3; wxButton* Button3; + wxStaticText* StaticText5; wxStaticText* StaticText7; + wxTextCtrl* TextCtrl2; + wxCheckBox* CheckBox4; wxComboBox* ComboBox1; + wxTextCtrl* TextCtrl7; wxTextCtrl* TextCtrl1; wxPanel* Panel2; wxTextCtrl* TextCtrl5; + wxStaticText* StaticText4; + wxTextCtrl* TextCtrl3; wxListBox* ListBox1; //*) @@ -189,6 +204,20 @@ class BUNDLEBLDR: public wxDialog static const long ID_STATICTEXT8; static const long ID_TEXTCTRL5; static const long ID_PANEL5; + static const long ID_STATICTEXT11; + static const long ID_CHECKBOX4; + static const long ID_STATICTEXT3; + static const long ID_TEXTCTRL2; + static const long ID_STATICTEXT4; + static const long ID_RADIOBUTTON1; + static const long ID_RADIOBUTTON2; + static const long ID_STATICTEXT5; + static const long ID_TEXTCTRL3; + static const long ID_STATICTEXT9; + static const long ID_TEXTCTRL6; + static const long ID_STATICTEXT10; + static const long ID_TEXTCTRL7; + static const long ID_PANEL6; static const long ID_NOTEBOOK1; static const long ID_BUTTON1; static const long ID_BUTTON2; diff --git a/GUI/SW1/SRC/COAXIAL.cpp b/GUI/SW1/SRC/COAXIAL.cpp index c40d373..4b95f97 100644 --- a/GUI/SW1/SRC/COAXIAL.cpp +++ b/GUI/SW1/SRC/COAXIAL.cpp @@ -418,6 +418,8 @@ void COAXIAL::OnCheckBox1Click(wxCommandEvent& event) FD_ESR *winFD_ESR = new FD_ESR(this); + winFD_ESR->formtype = 2; + if ( winFD_ESR->ShowModal() == wxID_OK ) { FD_ESR1 = winFD_ESR->TextCtrl1->GetValue(); diff --git a/GUI/SW1/SRC/COAXIAL.h b/GUI/SW1/SRC/COAXIAL.h index 5f16d6c..4025568 100644 --- a/GUI/SW1/SRC/COAXIAL.h +++ b/GUI/SW1/SRC/COAXIAL.h @@ -111,6 +111,8 @@ class COAXIAL: public wxDialog void coaxialSchematic(); void OnHighlightSchematic(wxCommandEvent & event); + + coaxialSchematicPane *drawPane; //(*Declarations(COAXIAL) diff --git a/GUI/SW1/SRC/CYLINDRICAL.cpp b/GUI/SW1/SRC/CYLINDRICAL.cpp index e21cada..b654d7d 100644 --- a/GUI/SW1/SRC/CYLINDRICAL.cpp +++ b/GUI/SW1/SRC/CYLINDRICAL.cpp @@ -62,20 +62,6 @@ const long CYLINDRICAL::ID_STATICTEXT6 = wxNewId(); const long CYLINDRICAL::ID_STATICTEXT7 = wxNewId(); const long CYLINDRICAL::ID_STATICTEXT8 = wxNewId(); const long CYLINDRICAL::ID_CHECKBOX1 = wxNewId(); -const long CYLINDRICAL::ID_STATICTEXT9 = wxNewId(); -const long CYLINDRICAL::ID_TEXTCTRL6 = wxNewId(); -const long CYLINDRICAL::ID_STATICLINE1 = wxNewId(); -const long CYLINDRICAL::ID_STATICLINE2 = wxNewId(); -const long CYLINDRICAL::ID_STATICTEXT10 = wxNewId(); -const long CYLINDRICAL::ID_TEXTCTRL7 = wxNewId(); -const long CYLINDRICAL::ID_STATICTEXT11 = wxNewId(); -const long CYLINDRICAL::ID_TEXTCTRL8 = wxNewId(); -const long CYLINDRICAL::ID_STATICLINE3 = wxNewId(); -const long CYLINDRICAL::ID_STATICLINE4 = wxNewId(); -const long CYLINDRICAL::ID_STATICTEXT12 = wxNewId(); -const long CYLINDRICAL::ID_TEXTCTRL9 = wxNewId(); -const long CYLINDRICAL::ID_STATICTEXT13 = wxNewId(); -const long CYLINDRICAL::ID_TEXTCTRL10 = wxNewId(); const long CYLINDRICAL::ID_BUTTON1 = wxNewId(); const long CYLINDRICAL::ID_BUTTON2 = wxNewId(); const long CYLINDRICAL::ID_BUTTON3 = wxNewId(); @@ -94,14 +80,12 @@ CYLINDRICAL::CYLINDRICAL(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxFlexGridSizer* FlexGridSizer4; wxStaticBoxSizer* StaticBoxSizer4; wxFlexGridSizer* FlexGridSizer3; - wxFlexGridSizer* FlexGridSizer5; wxFlexGridSizer* FlexGridSizer2; wxBoxSizer* BoxSizer2; wxStaticBoxSizer* StaticBoxSizer3; wxBoxSizer* BoxSizer1; wxStaticBoxSizer* StaticBoxSizer1; wxFlexGridSizer* FlexGridSizer1; - wxStaticBoxSizer* StaticBoxSizer5; Create(parent, wxID_ANY, _("SACAMOS: Cylindrical Cable Model"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxMINIMIZE_BOX, _T("wxID_ANY")); FlexGridSizer1 = new wxFlexGridSizer(2, 2, 0, 5); @@ -150,44 +134,6 @@ CYLINDRICAL::CYLINDRICAL(wxWindow* parent,wxWindowID id,const wxPoint& pos,const FlexGridSizer4->Add(CheckBox1, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); StaticBoxSizer4->Add(FlexGridSizer4, 1, wxALL|wxEXPAND, 5); FlexGridSizer2->Add(StaticBoxSizer4, 1, wxALL|wxEXPAND, 5); - StaticBoxSizer5 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Frequency Dependent Permittivity")); - FlexGridSizer5 = new wxFlexGridSizer(0, 2, 0, 0); - FlexGridSizer5->AddGrowableCol(0); - StaticText9 = new wxStaticText(this, ID_STATICTEXT9, _("Normalisation Constant"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT9")); - FlexGridSizer5->Add(StaticText9, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - TextCtrl6 = new wxTextCtrl(this, ID_TEXTCTRL6, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL6")); - TextCtrl6->Disable(); - FlexGridSizer5->Add(TextCtrl6, 1, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); - StaticLine1 = new wxStaticLine(this, ID_STATICLINE1, wxDefaultPosition, wxSize(10,-1), wxLI_HORIZONTAL, _T("ID_STATICLINE1")); - FlexGridSizer5->Add(StaticLine1, 1, wxALL|wxEXPAND, 0); - StaticLine2 = new wxStaticLine(this, ID_STATICLINE2, wxDefaultPosition, wxSize(10,-1), wxLI_HORIZONTAL, _T("ID_STATICLINE2")); - FlexGridSizer5->Add(StaticLine2, 1, wxALL|wxEXPAND, 0); - StaticText10 = new wxStaticText(this, ID_STATICTEXT10, _("a order"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT10")); - FlexGridSizer5->Add(StaticText10, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - TextCtrl7 = new wxTextCtrl(this, ID_TEXTCTRL7, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL7")); - TextCtrl7->Disable(); - FlexGridSizer5->Add(TextCtrl7, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - StaticText11 = new wxStaticText(this, ID_STATICTEXT11, _("a constants"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT11")); - FlexGridSizer5->Add(StaticText11, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - TextCtrl8 = new wxTextCtrl(this, ID_TEXTCTRL8, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL8")); - TextCtrl8->Disable(); - FlexGridSizer5->Add(TextCtrl8, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - StaticLine3 = new wxStaticLine(this, ID_STATICLINE3, wxDefaultPosition, wxSize(10,-1), wxLI_HORIZONTAL, _T("ID_STATICLINE3")); - FlexGridSizer5->Add(StaticLine3, 1, wxALL|wxEXPAND, 0); - StaticLine4 = new wxStaticLine(this, ID_STATICLINE4, wxDefaultPosition, wxSize(10,-1), wxLI_HORIZONTAL, _T("ID_STATICLINE4")); - FlexGridSizer5->Add(StaticLine4, 1, wxALL|wxEXPAND, 0); - StaticText12 = new wxStaticText(this, ID_STATICTEXT12, _("b order"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT12")); - FlexGridSizer5->Add(StaticText12, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - TextCtrl9 = new wxTextCtrl(this, ID_TEXTCTRL9, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL9")); - TextCtrl9->Disable(); - FlexGridSizer5->Add(TextCtrl9, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - StaticText13 = new wxStaticText(this, ID_STATICTEXT13, _("b constants"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT13")); - FlexGridSizer5->Add(StaticText13, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - TextCtrl10 = new wxTextCtrl(this, ID_TEXTCTRL10, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL10")); - TextCtrl10->Disable(); - FlexGridSizer5->Add(TextCtrl10, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - StaticBoxSizer5->Add(FlexGridSizer5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - FlexGridSizer2->Add(StaticBoxSizer5, 1, wxALL|wxEXPAND, 5); BoxSizer2 = new wxBoxSizer(wxHORIZONTAL); Button1 = new wxButton(this, ID_BUTTON1, _("SAVE"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1")); BoxSizer2->Add(Button1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); @@ -214,11 +160,6 @@ CYLINDRICAL::CYLINDRICAL(wxWindow* parent,wxWindowID id,const wxPoint& pos,const Connect(ID_TEXTCTRL4,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&CYLINDRICAL::OnTextCtrl4Text); Connect(ID_TEXTCTRL5,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&CYLINDRICAL::OnTextCtrl5Text); Connect(ID_CHECKBOX1,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&CYLINDRICAL::OnCheckBox1Click); - Connect(ID_TEXTCTRL6,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&CYLINDRICAL::OnTextCtrl6Text); - Connect(ID_TEXTCTRL7,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&CYLINDRICAL::OnTextCtrl7Text); - Connect(ID_TEXTCTRL8,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&CYLINDRICAL::OnTextCtrl8Text); - Connect(ID_TEXTCTRL9,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&CYLINDRICAL::OnTextCtrl9Text); - Connect(ID_TEXTCTRL10,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&CYLINDRICAL::OnTextCtrl10Text); Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&CYLINDRICAL::OnButton1Click); Connect(ID_BUTTON2,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&CYLINDRICAL::OnButton2Click); Connect(ID_BUTTON3,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&CYLINDRICAL::OnButton3Click); @@ -267,11 +208,11 @@ void CYLINDRICAL::OnButton1Click(wxCommandEvent& event) check_is_empty(TextCtrl4, &IsError); if (CheckBox1->GetValue()){ - check_is_empty(TextCtrl6, &IsError); - check_is_empty(TextCtrl7, &IsError); - check_is_empty(TextCtrl8, &IsError); - check_is_empty(TextCtrl9, &IsError); - check_is_empty(TextCtrl10, &IsError); +// check_is_empty(TextCtrl6, &IsError); +// check_is_empty(TextCtrl7, &IsError); +// check_is_empty(TextCtrl8, &IsError); +// check_is_empty(TextCtrl9, &IsError); +// check_is_empty(TextCtrl10, &IsError); } else { @@ -355,57 +296,75 @@ void CYLINDRICAL::OnTextCtrl5Text(wxCommandEvent& event) check_is_positive (TextCtrl5, &IsError); } -void CYLINDRICAL::OnTextCtrl6Text(wxCommandEvent& event) -{ - int IsError = 0; - check_is_numeric(TextCtrl6, &IsError); - check_is_positive (TextCtrl6, &IsError); -} - -void CYLINDRICAL::OnTextCtrl7Text(wxCommandEvent& event) -{ - int IsError = 0; - check_is_numeric(TextCtrl7, &IsError); -} - -void CYLINDRICAL::OnTextCtrl8Text(wxCommandEvent& event) -{ - int IsError = 0; - check_is_numeric_list(TextCtrl8, &IsError); -} - -void CYLINDRICAL::OnTextCtrl9Text(wxCommandEvent& event) -{ - int IsError = 0; - check_is_numeric(TextCtrl9, &IsError); -} - -void CYLINDRICAL::OnTextCtrl10Text(wxCommandEvent& event) -{ - int IsError = 0; - check_is_numeric_list(TextCtrl10, &IsError); -} +//void CYLINDRICAL::OnTextCtrl6Text(wxCommandEvent& event) +//{ +// int IsError = 0; +// check_is_numeric(TextCtrl6, &IsError); +// check_is_positive (TextCtrl6, &IsError); +//} +// +//void CYLINDRICAL::OnTextCtrl7Text(wxCommandEvent& event) +//{ +// int IsError = 0; +// check_is_numeric(TextCtrl7, &IsError); +//} +// +//void CYLINDRICAL::OnTextCtrl8Text(wxCommandEvent& event) +//{ +// int IsError = 0; +// check_is_numeric_list(TextCtrl8, &IsError); +//} +// +//void CYLINDRICAL::OnTextCtrl9Text(wxCommandEvent& event) +//{ +// int IsError = 0; +// check_is_numeric(TextCtrl9, &IsError); +//} +// +//void CYLINDRICAL::OnTextCtrl10Text(wxCommandEvent& event) +//{ +// int IsError = 0; +// check_is_numeric_list(TextCtrl10, &IsError); +//} void CYLINDRICAL::OnCheckBox1Click(wxCommandEvent& event) { if (CheckBox1->GetValue()) { TextCtrl5->Disable(); - TextCtrl6->Enable(); - TextCtrl7->Enable(); - TextCtrl8->Enable(); - TextCtrl9->Enable(); - TextCtrl10->Enable(); - } - else - { - TextCtrl5->Enable(); - TextCtrl6->Disable(); - TextCtrl7->Disable(); - TextCtrl8->Disable(); - TextCtrl9->Disable(); - TextCtrl10->Disable(); + + FD_ESR *winFD_ESR = new FD_ESR(this); + + winFD_ESR->formtype = 1; + + if ( winFD_ESR->ShowModal() == wxID_OK ) + { + FD_ESR6 = winFD_ESR->TextCtrl6->GetValue(); + FD_ESR7 = winFD_ESR->TextCtrl7->GetValue(); + FD_ESR8 = winFD_ESR->TextCtrl8->GetValue(); + FD_ESR9 = winFD_ESR->TextCtrl9->GetValue(); + FD_ESR10= winFD_ESR->TextCtrl10->GetValue(); + } + winFD_ESR->Destroy(); } +// if (CheckBox1->GetValue()) +// { +// TextCtrl5->Disable(); +// TextCtrl6->Enable(); +// TextCtrl7->Enable(); +// TextCtrl8->Enable(); +// TextCtrl9->Enable(); +// TextCtrl10->Enable(); +// } +// else +// { +// TextCtrl5->Enable(); +// TextCtrl6->Disable(); +// TextCtrl7->Disable(); +// TextCtrl8->Disable(); +// TextCtrl9->Disable(); +// TextCtrl10->Disable(); +// } } void CYLINDRICAL::WriteCableFile (wxString fileName) @@ -431,12 +390,18 @@ void CYLINDRICAL::WriteCableFile (wxString fileName) cableFile <<"1 \t\t\t# number of frequency dependent parameters\n"; if (CheckBox1->GetValue()){ +// cableFile << "# Dielectric relative permittivity model follows\n"; +// cableFile << TextCtrl6->GetValue() <<" # w normalisation constant\n"; +// cableFile << TextCtrl7->GetValue() <<" # a order, a coefficients follow below\n"; +// cableFile << TextCtrl8->GetValue() <<" \n"; +// cableFile << TextCtrl9->GetValue() <<" # b order, b coefficients follow below\n"; +// cableFile << TextCtrl10->GetValue() <<" \n"; cableFile << "# Dielectric relative permittivity model follows\n"; - cableFile << TextCtrl6->GetValue() <<" # w normalisation constant\n"; - cableFile << TextCtrl7->GetValue() <<" # a order, a coefficients follow below\n"; - cableFile << TextCtrl8->GetValue() <<" \n"; - cableFile << TextCtrl9->GetValue() <<" # b order, b coefficients follow below\n"; - cableFile << TextCtrl10->GetValue() <<" \n"; + cableFile << FD_ESR6 <<"\t # w normalisation constant\n"; + cableFile << FD_ESR7 <<"\t # a order, a coefficients follow below\n"; + cableFile << FD_ESR8 <<"\n"; + cableFile << FD_ESR9 <<"\t # b order, b coefficients follow below\n"; + cableFile << FD_ESR10 <<"\n"; } else{ diff --git a/GUI/SW1/SRC/CYLINDRICAL.h b/GUI/SW1/SRC/CYLINDRICAL.h index 7ee78b8..2510c80 100644 --- a/GUI/SW1/SRC/CYLINDRICAL.h +++ b/GUI/SW1/SRC/CYLINDRICAL.h @@ -46,7 +46,6 @@ #include #include #include -#include #include #include #include @@ -57,6 +56,7 @@ #include // Application Includes +#include "FD_ESR.h" #include "UTILITIES.h" #include "RUN_STATUS.h" @@ -83,41 +83,45 @@ class CYLINDRICAL: public wxDialog void cylindricalSchematic(); void OnHighlightSchematic(wxCommandEvent & event); + wxString FD_ESR1; + wxString FD_ESR2; + wxString FD_ESR3; + wxString FD_ESR4; + wxString FD_ESR5; + wxString FD_ESR6; + wxString FD_ESR7; + wxString FD_ESR8; + wxString FD_ESR9; + wxString FD_ESR10; + + wxString FD_ORDER; + bool FD_LINLOG; + + wxString FD_FMIN; + wxString FD_FMAX; + wxString FD_NUMF; + //double a0; //(*Declarations(CYLINDRICAL) - wxStaticText* StaticText10; - wxStaticText* StaticText9; wxTextCtrl* TextCtrl4; - wxStaticText* StaticText13; wxStaticText* StaticText2; wxButton* Button1; wxStaticText* StaticText6; - wxTextCtrl* TextCtrl6; wxStaticText* StaticText8; - wxStaticText* StaticText11; wxPanel* Panel1; wxStaticText* StaticText1; wxStaticText* StaticText3; wxButton* Button2; - wxStaticLine* StaticLine4; wxCheckBox* CheckBox1; - wxStaticLine* StaticLine2; wxButton* Button3; wxStaticText* StaticText5; wxStaticText* StaticText7; - wxStaticLine* StaticLine3; - wxTextCtrl* TextCtrl8; - wxStaticLine* StaticLine1; wxTextCtrl* TextCtrl2; - wxTextCtrl* TextCtrl7; wxTextCtrl* TextCtrl1; - wxStaticText* StaticText12; - wxTextCtrl* TextCtrl9; wxTextCtrl* TextCtrl5; wxStaticText* StaticText4; wxTextCtrl* TextCtrl3; - wxTextCtrl* TextCtrl10; //*) protected: @@ -137,20 +141,6 @@ class CYLINDRICAL: public wxDialog static const long ID_STATICTEXT7; static const long ID_STATICTEXT8; static const long ID_CHECKBOX1; - static const long ID_STATICTEXT9; - static const long ID_TEXTCTRL6; - static const long ID_STATICLINE1; - static const long ID_STATICLINE2; - static const long ID_STATICTEXT10; - static const long ID_TEXTCTRL7; - static const long ID_STATICTEXT11; - static const long ID_TEXTCTRL8; - static const long ID_STATICLINE3; - static const long ID_STATICLINE4; - static const long ID_STATICTEXT12; - static const long ID_TEXTCTRL9; - static const long ID_STATICTEXT13; - static const long ID_TEXTCTRL10; static const long ID_BUTTON1; static const long ID_BUTTON2; static const long ID_BUTTON3; diff --git a/GUI/SW1/SRC/DCONN.cpp b/GUI/SW1/SRC/DCONN.cpp index a70b87f..e67a4f1 100644 --- a/GUI/SW1/SRC/DCONN.cpp +++ b/GUI/SW1/SRC/DCONN.cpp @@ -249,7 +249,7 @@ void DCONN::OnButton2Click(wxCommandEvent& event) if (CheckBox1->GetValue()) { // Identify all mesh files for viewing - //struct _finddata_t fileinfo; + struct _finddata_t fileinfo; long hFile; //wxString meshFileName = "*.msh.vtk"; wxString pattern((".msh.vtk")); diff --git a/GUI/SW1/SRC/EXPORT_SPICE.cpp b/GUI/SW1/SRC/EXPORT_SPICE.cpp index 3dd7b8f..baf92da 100644 --- a/GUI/SW1/SRC/EXPORT_SPICE.cpp +++ b/GUI/SW1/SRC/EXPORT_SPICE.cpp @@ -51,6 +51,7 @@ const long EXPORT_SPICE::ID_DIRPICKERCTRL1 = wxNewId(); const long EXPORT_SPICE::ID_DIRPICKERCTRL2 = wxNewId(); const long EXPORT_SPICE::ID_BUTTON1 = wxNewId(); const long EXPORT_SPICE::ID_BUTTON2 = wxNewId(); +const long EXPORT_SPICE::ID_TEXTCTRL1 = wxNewId(); //*) BEGIN_EVENT_TABLE(EXPORT_SPICE,wxDialog) @@ -84,6 +85,8 @@ EXPORT_SPICE::EXPORT_SPICE(wxWindow* parent,wxWindowID id,const wxPoint& pos,con Button2 = new wxButton(this, ID_BUTTON2, _("CLOSE"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON2")); BoxSizer2->Add(Button2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer1->Add(BoxSizer2, 1, wxALL|wxEXPAND, 5); + TextCtrl1 = new wxTextCtrl(this, ID_TEXTCTRL1, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_AUTO_SCROLL|wxTE_MULTILINE|wxTE_READONLY|wxTE_DONTWRAP|wxVSCROLL|wxHSCROLL|wxALWAYS_SHOW_SB, wxDefaultValidator, _T("ID_TEXTCTRL1")); + BoxSizer1->Add(TextCtrl1, 2, wxALL|wxEXPAND, 5); FlexGridSizer1->Add(BoxSizer1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); SetSizer(FlexGridSizer1); FlexGridSizer1->Fit(this); @@ -132,7 +135,7 @@ void EXPORT_SPICE::OnButton1Click(wxCommandEvent& event) wxString sacamos_sym_dir = "..\\" + MODname + "\\SPICE\\SYMBOL\\"; wxSetWorkingDirectory(sacamos_sym_dir); - wxString file, pattern; + wxString file, pattern, export_notification; if (DirPickerCtrl1->GetPath() != "") { @@ -144,6 +147,9 @@ void EXPORT_SPICE::OnButton1Click(wxCommandEvent& event) file = wxFindFirstFile(pattern); + TextCtrl1->AppendText("Exporting Ngspice Symbols\n"); + TextCtrl1->AppendText("=========================\n\n"); + while ( !file.empty()) { wxString file_no_path = wxFileNameFromPath(file); @@ -155,6 +161,10 @@ void EXPORT_SPICE::OnButton1Click(wxCommandEvent& event) ng_sym_to = ng_sym_dir + "\\" + file_no_path; wxCopyFile(ng_sym_from, ng_sym_to); + + export_notification = "Exported: " + file_no_path + "\n"; + TextCtrl1->AppendText(export_notification); + wxTextFile file_to_edit(ng_sym_to); if (file_to_edit.Open()) @@ -166,18 +176,19 @@ void EXPORT_SPICE::OnButton1Click(wxCommandEvent& event) { file_to_edit[i] = "file=" + pathToMOD + "\\SPICE\\" + file_name + "_NGspice.lib"; } - file_to_edit.Write(); + file_to_edit.Write(); } file_to_edit.Close(); } - file = wxFindNextFile(); } + TextCtrl1->AppendText("\n"); } if (DirPickerCtrl2->GetPath() != "") { + wxString lt_sym_from, lt_sym_to; wxString lt_sym_dir = DirPickerCtrl2->GetPath(); @@ -186,6 +197,9 @@ void EXPORT_SPICE::OnButton1Click(wxCommandEvent& event) file = wxFindFirstFile(pattern); + TextCtrl1->AppendText("Exporting LTspice Symbols\n"); + TextCtrl1->AppendText("=========================\n\n"); + while ( !file.empty()) { wxString file_no_path = wxFileNameFromPath(file); @@ -197,6 +211,10 @@ void EXPORT_SPICE::OnButton1Click(wxCommandEvent& event) lt_sym_to = lt_sym_dir + "\\" + file_no_path; wxCopyFile(lt_sym_from, lt_sym_to); + + export_notification = "Exported:\n" + file_no_path + "\n"; + TextCtrl1->AppendText(export_notification); + wxTextFile file_to_edit(lt_sym_to); if (file_to_edit.Open()) @@ -217,5 +235,7 @@ void EXPORT_SPICE::OnButton1Click(wxCommandEvent& event) } } + TextCtrl1->AppendText("\nExport Complete"); + wxSetWorkingDirectory(pathToMOD); } diff --git a/GUI/SW1/SRC/EXPORT_SPICE.h b/GUI/SW1/SRC/EXPORT_SPICE.h index b681af3..31c7dfa 100644 --- a/GUI/SW1/SRC/EXPORT_SPICE.h +++ b/GUI/SW1/SRC/EXPORT_SPICE.h @@ -44,6 +44,7 @@ //(*Headers(EXPORT_SPICE) #include +#include #include #include #include @@ -76,6 +77,7 @@ class EXPORT_SPICE: public wxDialog wxButton* Button1; wxDirPickerCtrl* DirPickerCtrl2; wxButton* Button2; + wxTextCtrl* TextCtrl1; //*) protected: @@ -85,6 +87,7 @@ class EXPORT_SPICE: public wxDialog static const long ID_DIRPICKERCTRL2; static const long ID_BUTTON1; static const long ID_BUTTON2; + static const long ID_TEXTCTRL1; //*) private: diff --git a/GUI/SW1/SRC/FD_ESR.cpp b/GUI/SW1/SRC/FD_ESR.cpp index 21a9916..7fc4040 100644 --- a/GUI/SW1/SRC/FD_ESR.cpp +++ b/GUI/SW1/SRC/FD_ESR.cpp @@ -41,6 +41,7 @@ #include "FD_ESR.h" //(*InternalHeaders(FD_ESR) +#include #include #include //*) @@ -74,6 +75,17 @@ const long FD_ESR::ID_STATICTEXT9 = wxNewId(); const long FD_ESR::ID_TEXTCTRL9 = wxNewId(); const long FD_ESR::ID_STATICTEXT10 = wxNewId(); const long FD_ESR::ID_TEXTCTRL10 = wxNewId(); +const long FD_ESR::ID_STATICTEXT11 = wxNewId(); +const long FD_ESR::ID_TEXTCTRL11 = wxNewId(); +const long FD_ESR::ID_STATICTEXT12 = wxNewId(); +const long FD_ESR::ID_RADIOBUTTON1 = wxNewId(); +const long FD_ESR::ID_RADIOBUTTON2 = wxNewId(); +const long FD_ESR::ID_STATICTEXT13 = wxNewId(); +const long FD_ESR::ID_TEXTCTRL12 = wxNewId(); +const long FD_ESR::ID_STATICTEXT14 = wxNewId(); +const long FD_ESR::ID_TEXTCTRL13 = wxNewId(); +const long FD_ESR::ID_STATICTEXT15 = wxNewId(); +const long FD_ESR::ID_TEXTCTRL14 = wxNewId(); const long FD_ESR::ID_BUTTON1 = wxNewId(); const long FD_ESR::ID_BUTTON2 = wxNewId(); //*) @@ -89,14 +101,21 @@ FD_ESR::FD_ESR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& s wxStaticBoxSizer* StaticBoxSizer2; wxFlexGridSizer* FlexGridSizer4; wxFlexGridSizer* FlexGridSizer3; + wxFlexGridSizer* FlexGridSizer5; wxFlexGridSizer* FlexGridSizer2; + wxFlexGridSizer* FlexGridSizer7; + wxStaticBoxSizer* StaticBoxSizer3; + wxGridSizer* GridSizer3; + wxFlexGridSizer* FlexGridSizer6; wxStaticBoxSizer* StaticBoxSizer1; wxFlexGridSizer* FlexGridSizer1; + wxGridSizer* GridSizer2; Create(parent, wxID_ANY, _("Frequency Dependent Dielectric"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, _T("wxID_ANY")); FlexGridSizer1 = new wxFlexGridSizer(0, 1, 0, 0); FlexGridSizer1->AddGrowableCol(0); FlexGridSizer1->AddGrowableRow(0); + FlexGridSizer5 = new wxFlexGridSizer(0, 2, 0, 0); StaticBoxSizer1 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Inner Dielectric")); FlexGridSizer2 = new wxFlexGridSizer(0, 2, 0, 0); StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("Normalisation Constant"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1")); @@ -133,7 +152,7 @@ FD_ESR::FD_ESR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& s TextCtrl5->SetToolTip(_("b coefficient - space seperated list")); FlexGridSizer2->Add(TextCtrl5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); StaticBoxSizer1->Add(FlexGridSizer2, 1, wxALL, 5); - FlexGridSizer1->Add(StaticBoxSizer1, 1, wxALL|wxEXPAND, 5); + FlexGridSizer5->Add(StaticBoxSizer1, 1, wxALL|wxEXPAND, 5); StaticBoxSizer2 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Outer Dielectric")); FlexGridSizer3 = new wxFlexGridSizer(0, 2, 0, 0); StaticText6 = new wxStaticText(this, ID_STATICTEXT6, _("Normalisation Constant"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT6")); @@ -170,15 +189,53 @@ FD_ESR::FD_ESR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& s TextCtrl10->SetToolTip(_("b coefficient - space seperated list")); FlexGridSizer3->Add(TextCtrl10, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); StaticBoxSizer2->Add(FlexGridSizer3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - FlexGridSizer1->Add(StaticBoxSizer2, 1, wxALL|wxEXPAND, 5); - FlexGridSizer4 = new wxFlexGridSizer(0, 2, 0, 0); + FlexGridSizer5->Add(StaticBoxSizer2, 1, wxALL|wxEXPAND, 5); + FlexGridSizer1->Add(FlexGridSizer5, 1, wxALL|wxEXPAND, 5); + StaticBoxSizer3 = new wxStaticBoxSizer(wxVERTICAL, this, _("Filter Fitting Parameters")); + FlexGridSizer6 = new wxFlexGridSizer(0, 1, 0, 0); + FlexGridSizer7 = new wxFlexGridSizer(0, 2, 0, 0); + StaticText11 = new wxStaticText(this, ID_STATICTEXT11, _("Order for Filter Fitting "), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT11")); + FlexGridSizer7->Add(StaticText11, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + TextCtrl11 = new wxTextCtrl(this, ID_TEXTCTRL11, _("-10"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL11")); + TextCtrl11->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + FlexGridSizer7->Add(TextCtrl11, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + FlexGridSizer6->Add(FlexGridSizer7, 1, wxALL|wxEXPAND, 5); + GridSizer2 = new wxGridSizer(0, 3, 0, 0); + StaticText12 = new wxStaticText(this, ID_STATICTEXT12, _("Range Type"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT12")); + GridSizer2->Add(StaticText12, 2, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + RadioButton1 = new wxRadioButton(this, ID_RADIOBUTTON1, _("Lin"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_RADIOBUTTON1")); + RadioButton1->SetValue(true); + GridSizer2->Add(RadioButton1, 1, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); + RadioButton2 = new wxRadioButton(this, ID_RADIOBUTTON2, _("Log"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_RADIOBUTTON2")); + GridSizer2->Add(RadioButton2, 1, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); + FlexGridSizer6->Add(GridSizer2, 1, wxALL|wxEXPAND, 5); + GridSizer3 = new wxGridSizer(0, 2, 0, 0); + StaticText13 = new wxStaticText(this, ID_STATICTEXT13, _("Frequency min (Hz)"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT13")); + GridSizer3->Add(StaticText13, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + TextCtrl12 = new wxTextCtrl(this, ID_TEXTCTRL12, _("1e3"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL12")); + TextCtrl12->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + GridSizer3->Add(TextCtrl12, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + StaticText14 = new wxStaticText(this, ID_STATICTEXT14, _("Frequecy max (Hz)"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT14")); + GridSizer3->Add(StaticText14, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + TextCtrl13 = new wxTextCtrl(this, ID_TEXTCTRL13, _("1e9"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL13")); + TextCtrl13->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + GridSizer3->Add(TextCtrl13, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + StaticText15 = new wxStaticText(this, ID_STATICTEXT15, _("Number of Frequencies"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT15")); + GridSizer3->Add(StaticText15, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + TextCtrl14 = new wxTextCtrl(this, ID_TEXTCTRL14, _("12"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL14")); + TextCtrl14->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + GridSizer3->Add(TextCtrl14, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + FlexGridSizer6->Add(GridSizer3, 1, wxALL|wxEXPAND, 5); + StaticBoxSizer3->Add(FlexGridSizer6, 1, wxALL|wxEXPAND, 5); + FlexGridSizer1->Add(StaticBoxSizer3, 1, wxALL|wxEXPAND, 5); + FlexGridSizer4 = new wxFlexGridSizer(0, 5, 0, 0); FlexGridSizer4->AddGrowableCol(0); FlexGridSizer4->AddGrowableCol(1); Button1 = new wxButton(this, ID_BUTTON1, _("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1")); - FlexGridSizer4->Add(Button1, 1, wxALL|wxALIGN_RIGHT, 5); + FlexGridSizer4->Add(Button1, 1, wxALL|wxALIGN_LEFT|wxALIGN_BOTTOM, 5); Button2 = new wxButton(this, ID_BUTTON2, _("CLOSE"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON2")); - FlexGridSizer4->Add(Button2, 1, wxALL, 5); - FlexGridSizer1->Add(FlexGridSizer4, 1, wxALL|wxEXPAND, 5); + FlexGridSizer4->Add(Button2, 1, wxALL|wxALIGN_LEFT|wxALIGN_BOTTOM, 5); + FlexGridSizer1->Add(FlexGridSizer4, 5, wxALL|wxALIGN_RIGHT, 5); SetSizer(FlexGridSizer1); FlexGridSizer1->Fit(this); FlexGridSizer1->SetSizeHints(this); @@ -193,6 +250,7 @@ FD_ESR::FD_ESR(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& s Connect(ID_TEXTCTRL8,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&FD_ESR::OnTextCtrl8Text); Connect(ID_TEXTCTRL9,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&FD_ESR::OnTextCtrl9Text); Connect(ID_TEXTCTRL10,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&FD_ESR::OnTextCtrl10Text); + Connect(ID_TEXTCTRL13,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&FD_ESR::OnTextCtrl13Text); Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&FD_ESR::OnButton1Click1); Connect(ID_BUTTON2,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&FD_ESR::OnButton2Click1); Connect(wxID_ANY,wxEVT_INIT_DIALOG,(wxObjectEventFunction)&FD_ESR::OnInit); @@ -280,5 +338,38 @@ void FD_ESR::OnTextCtrl10Text(wxCommandEvent& event) void FD_ESR::OnInit(wxInitDialogEvent& event) { + if (formtype == 1) + { + TextCtrl1->Enable(false); + TextCtrl2->Enable(false); + TextCtrl3->Enable(false); + TextCtrl4->Enable(false); + TextCtrl5->Enable(false); + TextCtrl11->Enable(false); + RadioButton1->Enable(false); + RadioButton2->Enable(false); + TextCtrl12->Enable(false); + TextCtrl13->Enable(false); + TextCtrl14->Enable(false); + } + + if (formtype == 2) + { + TextCtrl11->Enable(false); + RadioButton1->Enable(false); + RadioButton2->Enable(false); + TextCtrl12->Enable(false); + TextCtrl13->Enable(false); + TextCtrl14->Enable(false); + } + +} + +void FD_ESR::OnTextCtrl14Text(wxCommandEvent& event) +{ +} + +void FD_ESR::OnTextCtrl13Text(wxCommandEvent& event) +{ } diff --git a/GUI/SW1/SRC/FD_ESR.h b/GUI/SW1/SRC/FD_ESR.h index 5af7a10..8a140ef 100644 --- a/GUI/SW1/SRC/FD_ESR.h +++ b/GUI/SW1/SRC/FD_ESR.h @@ -46,6 +46,7 @@ #include #include #include +#include #include #include //*) @@ -64,37 +65,48 @@ class FD_ESR: public wxDialog wxStaticText* StaticText10; wxStaticText* StaticText9; wxTextCtrl* TextCtrl4; + wxRadioButton* RadioButton1; wxStaticLine* StaticLine8; + wxStaticText* StaticText13; wxStaticText* StaticText2; wxStaticLine* StaticLine6; + wxStaticText* StaticText14; + wxRadioButton* RadioButton2; wxButton* Button1; wxStaticText* StaticText6; wxTextCtrl* TextCtrl6; wxStaticText* StaticText8; + wxStaticText* StaticText11; wxStaticText* StaticText1; wxStaticText* StaticText3; wxStaticLine* StaticLine7; wxButton* Button2; wxStaticLine* StaticLine4; wxStaticLine* StaticLine2; + wxTextCtrl* TextCtrl14; wxStaticText* StaticText5; wxStaticText* StaticText7; + wxTextCtrl* TextCtrl13; wxStaticLine* StaticLine3; wxTextCtrl* TextCtrl8; wxStaticLine* StaticLine1; wxTextCtrl* TextCtrl2; wxTextCtrl* TextCtrl7; wxTextCtrl* TextCtrl1; + wxStaticText* StaticText15; + wxStaticText* StaticText12; wxTextCtrl* TextCtrl9; wxTextCtrl* TextCtrl5; wxStaticText* StaticText4; wxTextCtrl* TextCtrl3; wxTextCtrl* TextCtrl10; + wxTextCtrl* TextCtrl12; + wxTextCtrl* TextCtrl11; wxStaticLine* StaticLine5; //*) wxString a,b,c,d,e; //SG - + int formtype; protected: @@ -127,6 +139,17 @@ class FD_ESR: public wxDialog static const long ID_TEXTCTRL9; static const long ID_STATICTEXT10; static const long ID_TEXTCTRL10; + static const long ID_STATICTEXT11; + static const long ID_TEXTCTRL11; + static const long ID_STATICTEXT12; + static const long ID_RADIOBUTTON1; + static const long ID_RADIOBUTTON2; + static const long ID_STATICTEXT13; + static const long ID_TEXTCTRL12; + static const long ID_STATICTEXT14; + static const long ID_TEXTCTRL13; + static const long ID_STATICTEXT15; + static const long ID_TEXTCTRL14; static const long ID_BUTTON1; static const long ID_BUTTON2; //*) @@ -149,6 +172,8 @@ class FD_ESR: public wxDialog void OnTextCtrl9Text(wxCommandEvent& event); void OnTextCtrl10Text(wxCommandEvent& event); void OnInit(wxInitDialogEvent& event); + void OnTextCtrl14Text(wxCommandEvent& event); + void OnTextCtrl13Text(wxCommandEvent& event); //*) DECLARE_EVENT_TABLE() diff --git a/GUI/SW1/SRC/FD_ESR_SW.cpp b/GUI/SW1/SRC/FD_ESR_SW.cpp index df8deb4..e4e0f93 100644 --- a/GUI/SW1/SRC/FD_ESR_SW.cpp +++ b/GUI/SW1/SRC/FD_ESR_SW.cpp @@ -42,6 +42,7 @@ #include "UTILITIES.h" //(*InternalHeaders(FD_ESR_SW) +#include #include #include //*) @@ -89,6 +90,17 @@ const long FD_ESR_SW::ID_STATICTEXT14 = wxNewId(); const long FD_ESR_SW::ID_TEXTCTRL14 = wxNewId(); const long FD_ESR_SW::ID_STATICTEXT15 = wxNewId(); const long FD_ESR_SW::ID_TEXTCTRL15 = wxNewId(); +const long FD_ESR_SW::ID_STATICTEXT16 = wxNewId(); +const long FD_ESR_SW::ID_TEXTCTRL16 = wxNewId(); +const long FD_ESR_SW::ID_STATICTEXT17 = wxNewId(); +const long FD_ESR_SW::ID_RADIOBUTTON1 = wxNewId(); +const long FD_ESR_SW::ID_RADIOBUTTON2 = wxNewId(); +const long FD_ESR_SW::ID_STATICTEXT18 = wxNewId(); +const long FD_ESR_SW::ID_TEXTCTRL17 = wxNewId(); +const long FD_ESR_SW::ID_STATICTEXT19 = wxNewId(); +const long FD_ESR_SW::ID_TEXTCTRL18 = wxNewId(); +const long FD_ESR_SW::ID_STATICTEXT20 = wxNewId(); +const long FD_ESR_SW::ID_TEXTCTRL19 = wxNewId(); const long FD_ESR_SW::ID_BUTTON1 = wxNewId(); const long FD_ESR_SW::ID_BUTTON2 = wxNewId(); //*) @@ -103,15 +115,20 @@ FD_ESR_SW::FD_ESR_SW(wxWindow* parent,wxWindowID id) //(*Initialize(FD_ESR_SW) wxStaticBoxSizer* StaticBoxSizer2; wxFlexGridSizer* FlexGridSizer4; + wxStaticBoxSizer* StaticBoxSizer4; wxFlexGridSizer* FlexGridSizer3; wxFlexGridSizer* FlexGridSizer5; + wxFlexGridSizer* FlexGridSizer9; wxFlexGridSizer* FlexGridSizer2; + wxFlexGridSizer* FlexGridSizer7; wxStaticBoxSizer* StaticBoxSizer3; + wxFlexGridSizer* FlexGridSizer8; + wxFlexGridSizer* FlexGridSizer6; wxStaticBoxSizer* StaticBoxSizer1; wxFlexGridSizer* FlexGridSizer1; Create(parent, wxID_ANY, _("Frequency Dependent Dielectric"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, _T("wxID_ANY")); - FlexGridSizer1 = new wxFlexGridSizer(0, 1, 0, 0); + FlexGridSizer1 = new wxFlexGridSizer(0, 2, 0, 0); StaticBoxSizer1 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Inner Dielectric")); FlexGridSizer3 = new wxFlexGridSizer(0, 2, 0, 0); StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("Normalisation Constant"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1")); @@ -208,6 +225,42 @@ FD_ESR_SW::FD_ESR_SW(wxWindow* parent,wxWindowID id) FlexGridSizer5->Add(TextCtrl15, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); StaticBoxSizer3->Add(FlexGridSizer5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer1->Add(StaticBoxSizer3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + StaticBoxSizer4 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Filter Fitting Parameters")); + FlexGridSizer6 = new wxFlexGridSizer(0, 1, 0, 0); + FlexGridSizer7 = new wxFlexGridSizer(0, 2, 0, 0); + StaticText16 = new wxStaticText(this, ID_STATICTEXT16, _("Order for filter fitting "), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT16")); + FlexGridSizer7->Add(StaticText16, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + TextCtrl16 = new wxTextCtrl(this, ID_TEXTCTRL16, _("-10"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL16")); + TextCtrl16->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + FlexGridSizer7->Add(TextCtrl16, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + FlexGridSizer6->Add(FlexGridSizer7, 1, wxALL|wxEXPAND, 5); + FlexGridSizer8 = new wxFlexGridSizer(0, 3, 0, 0); + StaticText17 = new wxStaticText(this, ID_STATICTEXT17, _("Range Type"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT17")); + FlexGridSizer8->Add(StaticText17, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + RadioButton1 = new wxRadioButton(this, ID_RADIOBUTTON1, _("Lin"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_RADIOBUTTON1")); + FlexGridSizer8->Add(RadioButton1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + RadioButton2 = new wxRadioButton(this, ID_RADIOBUTTON2, _("Log"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_RADIOBUTTON2")); + FlexGridSizer8->Add(RadioButton2, 1, wxALL, 5); + FlexGridSizer6->Add(FlexGridSizer8, 1, wxALL|wxEXPAND, 5); + FlexGridSizer9 = new wxFlexGridSizer(0, 2, 0, 0); + StaticText18 = new wxStaticText(this, ID_STATICTEXT18, _("Frequency min (Hz)"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT18")); + FlexGridSizer9->Add(StaticText18, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + TextCtrl17 = new wxTextCtrl(this, ID_TEXTCTRL17, _("1e3"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL17")); + TextCtrl17->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + FlexGridSizer9->Add(TextCtrl17, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + StaticText19 = new wxStaticText(this, ID_STATICTEXT19, _("Frequecy max (Hz)"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT19")); + FlexGridSizer9->Add(StaticText19, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + TextCtrl18 = new wxTextCtrl(this, ID_TEXTCTRL18, _("1e9"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL18")); + TextCtrl18->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + FlexGridSizer9->Add(TextCtrl18, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + StaticText20 = new wxStaticText(this, ID_STATICTEXT20, _("Number of Frequencies"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT20")); + FlexGridSizer9->Add(StaticText20, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + TextCtrl19 = new wxTextCtrl(this, ID_TEXTCTRL19, _("12"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL19")); + TextCtrl19->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + FlexGridSizer9->Add(TextCtrl19, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + FlexGridSizer6->Add(FlexGridSizer9, 1, wxALL|wxEXPAND, 5); + StaticBoxSizer4->Add(FlexGridSizer6, 1, wxALL|wxEXPAND, 5); + FlexGridSizer1->Add(StaticBoxSizer4, 1, wxALL|wxEXPAND, 5); FlexGridSizer2 = new wxFlexGridSizer(0, 2, 0, 0); Button1 = new wxButton(this, ID_BUTTON1, _("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1")); FlexGridSizer2->Add(Button1, 1, wxALL, 5); diff --git a/GUI/SW1/SRC/FD_ESR_SW.h b/GUI/SW1/SRC/FD_ESR_SW.h index 4ef7ef4..fd78f83 100644 --- a/GUI/SW1/SRC/FD_ESR_SW.h +++ b/GUI/SW1/SRC/FD_ESR_SW.h @@ -46,6 +46,7 @@ #include #include #include +#include #include #include //*) @@ -60,26 +61,35 @@ class FD_ESR_SW: public wxDialog //(*Declarations(FD_ESR_SW) wxStaticText* StaticText10; wxStaticText* StaticText9; + wxStaticText* StaticText20; wxTextCtrl* TextCtrl4; + wxRadioButton* RadioButton1; wxStaticLine* StaticLine8; wxStaticLine* StaticLine10; wxStaticText* StaticText13; wxStaticText* StaticText2; wxStaticLine* StaticLine6; wxStaticText* StaticText14; + wxRadioButton* RadioButton2; wxButton* Button1; + wxTextCtrl* TextCtrl16; wxStaticText* StaticText6; wxStaticLine* StaticLine9; wxTextCtrl* TextCtrl6; + wxStaticText* StaticText19; wxStaticText* StaticText8; wxStaticText* StaticText11; + wxStaticText* StaticText18; + wxTextCtrl* TextCtrl19; wxStaticText* StaticText1; wxStaticText* StaticText3; wxStaticLine* StaticLine7; wxButton* Button2; + wxTextCtrl* TextCtrl18; wxStaticLine* StaticLine4; wxStaticLine* StaticLine2; wxStaticLine* StaticLine12; + wxTextCtrl* TextCtrl17; wxTextCtrl* TextCtrl14; wxTextCtrl* TextCtrl15; wxStaticText* StaticText5; @@ -96,11 +106,13 @@ class FD_ESR_SW: public wxDialog wxTextCtrl* TextCtrl9; wxTextCtrl* TextCtrl5; wxStaticLine* StaticLine11; + wxStaticText* StaticText17; wxStaticText* StaticText4; wxTextCtrl* TextCtrl3; wxTextCtrl* TextCtrl10; wxTextCtrl* TextCtrl12; wxTextCtrl* TextCtrl11; + wxStaticText* StaticText16; wxStaticLine* StaticLine5; //*) @@ -149,6 +161,17 @@ class FD_ESR_SW: public wxDialog static const long ID_TEXTCTRL14; static const long ID_STATICTEXT15; static const long ID_TEXTCTRL15; + static const long ID_STATICTEXT16; + static const long ID_TEXTCTRL16; + static const long ID_STATICTEXT17; + static const long ID_RADIOBUTTON1; + static const long ID_RADIOBUTTON2; + static const long ID_STATICTEXT18; + static const long ID_TEXTCTRL17; + static const long ID_STATICTEXT19; + static const long ID_TEXTCTRL18; + static const long ID_STATICTEXT20; + static const long ID_TEXTCTRL19; static const long ID_BUTTON1; static const long ID_BUTTON2; //*) @@ -173,6 +196,7 @@ class FD_ESR_SW: public wxDialog void OnTextCtrl13Text(wxCommandEvent& event); void OnTextCtrl14Text(wxCommandEvent& event); void OnTextCtrl15Text(wxCommandEvent& event); + void OnTextCtrl16Text(wxCommandEvent& event); //*) DECLARE_EVENT_TABLE() diff --git a/GUI/SW1/SRC/FLEXCABLE.cpp b/GUI/SW1/SRC/FLEXCABLE.cpp index 883af54..cb44e43 100644 --- a/GUI/SW1/SRC/FLEXCABLE.cpp +++ b/GUI/SW1/SRC/FLEXCABLE.cpp @@ -70,20 +70,6 @@ const long FLEXCABLE::ID_STATICTEXT13 = wxNewId(); const long FLEXCABLE::ID_STATICTEXT14 = wxNewId(); const long FLEXCABLE::ID_STATICTEXT15 = wxNewId(); const long FLEXCABLE::ID_CHECKBOX1 = wxNewId(); -const long FLEXCABLE::ID_STATICTEXT7 = wxNewId(); -const long FLEXCABLE::ID_TEXTCTRL7 = wxNewId(); -const long FLEXCABLE::ID_STATICLINE1 = wxNewId(); -const long FLEXCABLE::ID_STATICLINE2 = wxNewId(); -const long FLEXCABLE::ID_STATICTEXT8 = wxNewId(); -const long FLEXCABLE::ID_TEXTCTRL8 = wxNewId(); -const long FLEXCABLE::ID_STATICTEXT9 = wxNewId(); -const long FLEXCABLE::ID_TEXTCTRL9 = wxNewId(); -const long FLEXCABLE::ID_STATICLINE3 = wxNewId(); -const long FLEXCABLE::ID_STATICLINE4 = wxNewId(); -const long FLEXCABLE::ID_STATICTEXT10 = wxNewId(); -const long FLEXCABLE::ID_TEXTCTRL10 = wxNewId(); -const long FLEXCABLE::ID_STATICTEXT11 = wxNewId(); -const long FLEXCABLE::ID_TEXTCTRL11 = wxNewId(); const long FLEXCABLE::ID_PANEL3 = wxNewId(); const long FLEXCABLE::ID_NOTEBOOK1 = wxNewId(); const long FLEXCABLE::ID_BUTTON1 = wxNewId(); @@ -102,7 +88,6 @@ FLEXCABLE::FLEXCABLE(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxS //(*Initialize(FLEXCABLE) wxBoxSizer* BoxSizer4; wxStaticBoxSizer* StaticBoxSizer2; - wxFlexGridSizer* FlexGridSizer4; wxFlexGridSizer* FlexGridSizer3; wxFlexGridSizer* FlexGridSizer5; wxFlexGridSizer* FlexGridSizer2; @@ -174,41 +159,6 @@ FLEXCABLE::FLEXCABLE(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxS CheckBox1->SetValue(false); FlexGridSizer5->Add(CheckBox1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer4->Add(FlexGridSizer5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - FlexGridSizer4 = new wxFlexGridSizer(0, 2, 0, 0); - StaticText7 = new wxStaticText(Panel3, ID_STATICTEXT7, _("Normalisation Constant"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT7")); - FlexGridSizer4->Add(StaticText7, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - TextCtrl7 = new wxTextCtrl(Panel3, ID_TEXTCTRL7, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL7")); - TextCtrl7->Disable(); - FlexGridSizer4->Add(TextCtrl7, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - StaticLine1 = new wxStaticLine(Panel3, ID_STATICLINE1, wxDefaultPosition, wxSize(10,-1), wxLI_HORIZONTAL, _T("ID_STATICLINE1")); - FlexGridSizer4->Add(StaticLine1, 1, wxALL|wxEXPAND, 5); - StaticLine2 = new wxStaticLine(Panel3, ID_STATICLINE2, wxDefaultPosition, wxSize(10,-1), wxLI_HORIZONTAL, _T("ID_STATICLINE2")); - FlexGridSizer4->Add(StaticLine2, 1, wxALL|wxEXPAND, 5); - StaticText8 = new wxStaticText(Panel3, ID_STATICTEXT8, _("a order"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT8")); - FlexGridSizer4->Add(StaticText8, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - TextCtrl8 = new wxTextCtrl(Panel3, ID_TEXTCTRL8, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL8")); - TextCtrl8->Disable(); - FlexGridSizer4->Add(TextCtrl8, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - StaticText9 = new wxStaticText(Panel3, ID_STATICTEXT9, _("a coefficents"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT9")); - FlexGridSizer4->Add(StaticText9, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - TextCtrl9 = new wxTextCtrl(Panel3, ID_TEXTCTRL9, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL9")); - TextCtrl9->Disable(); - FlexGridSizer4->Add(TextCtrl9, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - StaticLine3 = new wxStaticLine(Panel3, ID_STATICLINE3, wxDefaultPosition, wxSize(10,-1), wxLI_HORIZONTAL, _T("ID_STATICLINE3")); - FlexGridSizer4->Add(StaticLine3, 1, wxALL|wxEXPAND, 5); - StaticLine4 = new wxStaticLine(Panel3, ID_STATICLINE4, wxDefaultPosition, wxSize(10,-1), wxLI_HORIZONTAL, _T("ID_STATICLINE4")); - FlexGridSizer4->Add(StaticLine4, 1, wxALL|wxEXPAND, 5); - StaticText10 = new wxStaticText(Panel3, ID_STATICTEXT10, _("b order"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT10")); - FlexGridSizer4->Add(StaticText10, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - TextCtrl10 = new wxTextCtrl(Panel3, ID_TEXTCTRL10, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL10")); - TextCtrl10->Disable(); - FlexGridSizer4->Add(TextCtrl10, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - StaticText11 = new wxStaticText(Panel3, ID_STATICTEXT11, _("b coefficients"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT11")); - FlexGridSizer4->Add(StaticText11, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - TextCtrl11 = new wxTextCtrl(Panel3, ID_TEXTCTRL11, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL11")); - TextCtrl11->Disable(); - FlexGridSizer4->Add(TextCtrl11, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - BoxSizer4->Add(FlexGridSizer4, 3, wxALL|wxEXPAND, 5); Panel3->SetSizer(BoxSizer4); BoxSizer4->Fit(Panel3); BoxSizer4->SetSizeHints(Panel3); @@ -244,11 +194,6 @@ FLEXCABLE::FLEXCABLE(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxS Connect(ID_TEXTCTRL6,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&FLEXCABLE::OnTextCtrl6Text); Connect(ID_TEXTCTRL12,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&FLEXCABLE::OnTextCtrl12Text); Connect(ID_CHECKBOX1,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&FLEXCABLE::OnCheckBox1Click); - Connect(ID_TEXTCTRL7,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&FLEXCABLE::OnTextCtrl7Text); - Connect(ID_TEXTCTRL8,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&FLEXCABLE::OnTextCtrl8Text); - Connect(ID_TEXTCTRL9,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&FLEXCABLE::OnTextCtrl9Text); - Connect(ID_TEXTCTRL10,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&FLEXCABLE::OnTextCtrl10Text); - Connect(ID_TEXTCTRL11,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&FLEXCABLE::OnTextCtrl11Text); Connect(ID_NOTEBOOK1,wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING,(wxObjectEventFunction)&FLEXCABLE::OnNotebook1PageChanging); Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&FLEXCABLE::OnButton1Click); Connect(ID_BUTTON2,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&FLEXCABLE::OnButton2Click); @@ -306,11 +251,11 @@ void FLEXCABLE::OnButton1Click(wxCommandEvent& event) if (CheckBox1->GetValue()) { - check_is_empty(TextCtrl7, &IsError); - check_is_empty(TextCtrl8, &IsError); - check_is_empty(TextCtrl9, &IsError); - check_is_empty(TextCtrl10, &IsError); - check_is_empty(TextCtrl11, &IsError); +// check_is_empty(TextCtrl7, &IsError); +// check_is_empty(TextCtrl8, &IsError); +// check_is_empty(TextCtrl9, &IsError); +// check_is_empty(TextCtrl10, &IsError); +// check_is_empty(TextCtrl11, &IsError); } else @@ -331,11 +276,29 @@ void FLEXCABLE::OnButton1Click(wxCommandEvent& event) void FLEXCABLE::OnCheckBox1Click(wxCommandEvent& event) { - TextCtrl7->Enable(); - TextCtrl8->Enable(); - TextCtrl9->Enable(); - TextCtrl10->Enable(); - TextCtrl11->Enable(); + + TextCtrl12->Disable(); + + FD_ESR *winFD_ESR = new FD_ESR(this); + + winFD_ESR->formtype = 1; + + if ( winFD_ESR->ShowModal() == wxID_OK ) + { + FD_ESR6 = winFD_ESR->TextCtrl6->GetValue(); + FD_ESR7 = winFD_ESR->TextCtrl7->GetValue(); + FD_ESR8 = winFD_ESR->TextCtrl8->GetValue(); + FD_ESR9 = winFD_ESR->TextCtrl9->GetValue(); + FD_ESR10= winFD_ESR->TextCtrl10->GetValue(); + } + winFD_ESR->Destroy(); + + +// TextCtrl7->Enable(); +// TextCtrl8->Enable(); +// TextCtrl9->Enable(); +// TextCtrl10->Enable(); +// TextCtrl11->Enable(); } @@ -409,38 +372,38 @@ void FLEXCABLE::OnTextCtrl12Text(wxCommandEvent& event) check_is_positive(TextCtrl2, &IsError); } -void FLEXCABLE::OnTextCtrl7Text(wxCommandEvent& event) -{ - int IsError = 0; - check_is_numeric(TextCtrl7, &IsError); - check_is_positive(TextCtrl7, &IsError); -} - -void FLEXCABLE::OnTextCtrl8Text(wxCommandEvent& event) -{ - int IsError = 0; - check_is_numeric(TextCtrl8, &IsError); - check_is_positive(TextCtrl8, &IsError); -} - -void FLEXCABLE::OnTextCtrl9Text(wxCommandEvent& event) -{ - int IsError = 0; - check_is_numeric_list(TextCtrl9, &IsError); -} - -void FLEXCABLE::OnTextCtrl10Text(wxCommandEvent& event) -{ - int IsError = 0; - check_is_numeric(TextCtrl10, &IsError); - check_is_positive(TextCtrl10, &IsError); -} - -void FLEXCABLE::OnTextCtrl11Text(wxCommandEvent& event) -{ - int IsError = 0; - check_is_numeric_list(TextCtrl11, &IsError); -} +//void FLEXCABLE::OnTextCtrl7Text(wxCommandEvent& event) +//{ +// int IsError = 0; +// check_is_numeric(TextCtrl7, &IsError); +// check_is_positive(TextCtrl7, &IsError); +//} +// +//void FLEXCABLE::OnTextCtrl8Text(wxCommandEvent& event) +//{ +// int IsError = 0; +// check_is_numeric(TextCtrl8, &IsError); +// check_is_positive(TextCtrl8, &IsError); +//} +// +//void FLEXCABLE::OnTextCtrl9Text(wxCommandEvent& event) +//{ +// int IsError = 0; +// check_is_numeric_list(TextCtrl9, &IsError); +//} +// +//void FLEXCABLE::OnTextCtrl10Text(wxCommandEvent& event) +//{ +// int IsError = 0; +// check_is_numeric(TextCtrl10, &IsError); +// check_is_positive(TextCtrl10, &IsError); +//} + +//void FLEXCABLE::OnTextCtrl11Text(wxCommandEvent& event) +//{ +// int IsError = 0; +// check_is_numeric_list(TextCtrl11, &IsError); +//} void FLEXCABLE::OnTextCtrl13Text(wxCommandEvent& event) { @@ -489,11 +452,11 @@ void FLEXCABLE::WriteCableFile (wxString fileName) if (CheckBox1->GetValue()){ cableFile << "# Dielectric relative permittivity model follows\n"; - cableFile << TextCtrl7->GetValue() <<" # w normalisation constant\n"; - cableFile << TextCtrl8->GetValue() <<" # a order, a coefficients follow below\n"; - cableFile << TextCtrl9->GetValue() <<" \n"; - cableFile << TextCtrl10->GetValue() <<" # b order, b coefficients follow below\n"; - cableFile << TextCtrl11->GetValue() <<" \n"; + cableFile << FD_ESR6 <<" # w normalisation constant\n"; + cableFile << FD_ESR7 <<" # a order, a coefficients follow below\n"; + cableFile << FD_ESR8 <<" \n"; + cableFile << FD_ESR9 <<" # b order, b coefficients follow below\n"; + cableFile << FD_ESR10 <<" \n"; } else{ diff --git a/GUI/SW1/SRC/FLEXCABLE.h b/GUI/SW1/SRC/FLEXCABLE.h index 266f340..852a2cb 100644 --- a/GUI/SW1/SRC/FLEXCABLE.h +++ b/GUI/SW1/SRC/FLEXCABLE.h @@ -47,7 +47,6 @@ #include #include #include -#include #include #include #include @@ -62,6 +61,7 @@ #include "MESH_LAPLACE.h" #include "MESH_PARAM.h" #include "RUN_STATUS.h" +#include "FD_ESR.h" // Standard Library Header Files #include @@ -116,12 +116,16 @@ class FLEXCABLE: public wxDialog flexcableSchematicPane *drawPane; + wxString FD_ESR6; + wxString FD_ESR7; + wxString FD_ESR8; + wxString FD_ESR9; + wxString FD_ESR10; + wxString MESH_PARAM1; wxString MESH_PARAM2; //(*Declarations(FLEXCABLE) - wxStaticText* StaticText10; - wxStaticText* StaticText9; wxTextCtrl* TextCtrl4; wxNotebook* Notebook1; wxStaticText* StaticText13; @@ -130,38 +134,26 @@ class FLEXCABLE: public wxDialog wxButton* Button1; wxStaticText* StaticText6; wxTextCtrl* TextCtrl6; - wxStaticText* StaticText8; - wxStaticText* StaticText11; wxPanel* Panel1; wxStaticText* StaticText1; wxStaticText* StaticText3; wxButton* Button2; wxPanel* Panel3; - wxStaticLine* StaticLine4; wxCheckBox* CheckBox1; - wxStaticLine* StaticLine2; wxButton* Button3; wxTextCtrl* TextCtrl14; wxStaticText* StaticText5; - wxStaticText* StaticText7; wxTextCtrl* TextCtrl13; - wxStaticLine* StaticLine3; - wxTextCtrl* TextCtrl8; - wxStaticLine* StaticLine1; wxTextCtrl* TextCtrl2; - wxTextCtrl* TextCtrl7; wxTextCtrl* TextCtrl1; wxStaticText* StaticText15; wxStaticText* StaticText12; - wxTextCtrl* TextCtrl9; wxPanel* Panel2; wxTextCtrl* TextCtrl5; wxStaticText* StaticText17; wxStaticText* StaticText4; wxTextCtrl* TextCtrl3; - wxTextCtrl* TextCtrl10; wxTextCtrl* TextCtrl12; - wxTextCtrl* TextCtrl11; wxStaticText* StaticText16; //*) @@ -191,20 +183,6 @@ class FLEXCABLE: public wxDialog static const long ID_STATICTEXT14; static const long ID_STATICTEXT15; static const long ID_CHECKBOX1; - static const long ID_STATICTEXT7; - static const long ID_TEXTCTRL7; - static const long ID_STATICLINE1; - static const long ID_STATICLINE2; - static const long ID_STATICTEXT8; - static const long ID_TEXTCTRL8; - static const long ID_STATICTEXT9; - static const long ID_TEXTCTRL9; - static const long ID_STATICLINE3; - static const long ID_STATICLINE4; - static const long ID_STATICTEXT10; - static const long ID_TEXTCTRL10; - static const long ID_STATICTEXT11; - static const long ID_TEXTCTRL11; static const long ID_PANEL3; static const long ID_NOTEBOOK1; static const long ID_BUTTON1; diff --git a/GUI/SW1/SRC/SPACEWIRE.cpp b/GUI/SW1/SRC/SPACEWIRE.cpp index f1997b3..6b87a8f 100644 --- a/GUI/SW1/SRC/SPACEWIRE.cpp +++ b/GUI/SW1/SRC/SPACEWIRE.cpp @@ -114,10 +114,10 @@ const long SPACEWIRE::ID_STATICTEXT22 = wxNewId(); const long SPACEWIRE::ID_COMBOBOX1 = wxNewId(); const long SPACEWIRE::ID_STATICTEXT25 = wxNewId(); const long SPACEWIRE::ID_CHECKBOX3 = wxNewId(); +const long SPACEWIRE::ID_PANEL1 = wxNewId(); const long SPACEWIRE::ID_BUTTON1 = wxNewId(); const long SPACEWIRE::ID_BUTTON2 = wxNewId(); const long SPACEWIRE::ID_BUTTON3 = wxNewId(); -const long SPACEWIRE::ID_PANEL1 = wxNewId(); //*) BEGIN_EVENT_TABLE(SPACEWIRE,wxDialog) @@ -136,6 +136,7 @@ SPACEWIRE::SPACEWIRE(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxS wxFlexGridSizer* FlexGridSizer2; wxBoxSizer* BoxSizer2; wxFlexGridSizer* FlexGridSizer7; + wxFlexGridSizer* FlexGridSizer8; wxBoxSizer* BoxSizer1; wxFlexGridSizer* FlexGridSizer6; wxStaticBoxSizer* StaticBoxSizer1; @@ -300,6 +301,14 @@ SPACEWIRE::SPACEWIRE(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxS FlexGridSizer7->Add(CheckBox3, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer2->Add(FlexGridSizer7, 1, wxALL|wxEXPAND, 5); StaticBoxSizer1->Add(FlexGridSizer2, 8, wxALL|wxEXPAND, 5); + FlexGridSizer1->Add(StaticBoxSizer1, 1, wxALL|wxEXPAND, 5); + FlexGridSizer8 = new wxFlexGridSizer(0, 1, 0, 0); + StaticBoxSizer2 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Cross Section")); + Panel1 = new wxPanel(this, ID_PANEL1, wxDefaultPosition, wxSize(500,500), wxTAB_TRAVERSAL, _T("ID_PANEL1")); + Panel1->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); + Panel1->SetToolTip(_("Double Click to Reset Schematic")); + StaticBoxSizer2->Add(Panel1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + FlexGridSizer8->Add(StaticBoxSizer2, 1, wxALL|wxALIGN_TOP|wxALIGN_CENTER_HORIZONTAL, 5); FlexGridSizer6 = new wxFlexGridSizer(0, 1, 0, 0); BoxSizer2 = new wxBoxSizer(wxHORIZONTAL); Button1 = new wxButton(this, ID_BUTTON1, _("SAVE"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1")); @@ -308,15 +317,9 @@ SPACEWIRE::SPACEWIRE(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxS BoxSizer2->Add(Button2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); Button3 = new wxButton(this, ID_BUTTON3, _("CLOSE"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON3")); BoxSizer2->Add(Button3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - FlexGridSizer6->Add(BoxSizer2, 1, wxALL|wxEXPAND, 5); - StaticBoxSizer1->Add(FlexGridSizer6, 1, wxALL|wxEXPAND, 5); - FlexGridSizer1->Add(StaticBoxSizer1, 1, wxALL|wxEXPAND, 5); - StaticBoxSizer2 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Cross Section")); - Panel1 = new wxPanel(this, ID_PANEL1, wxDefaultPosition, wxSize(500,500), wxTAB_TRAVERSAL, _T("ID_PANEL1")); - Panel1->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); - Panel1->SetToolTip(_("Double Click to Reset Schematic")); - StaticBoxSizer2->Add(Panel1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - FlexGridSizer1->Add(StaticBoxSizer2, 1, wxALL|wxALIGN_TOP|wxALIGN_CENTER_HORIZONTAL, 5); + FlexGridSizer6->Add(BoxSizer2, 1, wxALL|wxALIGN_RIGHT, 5); + FlexGridSizer8->Add(FlexGridSizer6, 1, wxALL|wxEXPAND, 5); + FlexGridSizer1->Add(FlexGridSizer8, 1, wxALL|wxEXPAND, 5); SetSizer(FlexGridSizer1); FlexGridSizer1->Fit(this); FlexGridSizer1->SetSizeHints(this); @@ -350,11 +353,11 @@ SPACEWIRE::SPACEWIRE(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxS Connect(ID_TEXTCTRL25,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&SPACEWIRE::OnTextCtrl25Text); Connect(ID_COMBOBOX1,wxEVT_COMMAND_COMBOBOX_SELECTED,(wxObjectEventFunction)&SPACEWIRE::OnComboBox1Selected); Connect(ID_CHECKBOX3,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&SPACEWIRE::OnCheckBox3Click); + Panel1->Connect(wxEVT_PAINT,(wxObjectEventFunction)&SPACEWIRE::OnPanel1Paint,0,this); + Panel1->Connect(wxEVT_LEFT_DCLICK,(wxObjectEventFunction)&SPACEWIRE::OnPanel1LeftDClick,0,this); Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&SPACEWIRE::OnButton1Click); Connect(ID_BUTTON2,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&SPACEWIRE::OnButton2Click); Connect(ID_BUTTON3,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&SPACEWIRE::OnButton3Click); - Panel1->Connect(wxEVT_PAINT,(wxObjectEventFunction)&SPACEWIRE::OnPanel1Paint,0,this); - Panel1->Connect(wxEVT_LEFT_DCLICK,(wxObjectEventFunction)&SPACEWIRE::OnPanel1LeftDClick,0,this); //*) TextCtrl2->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&SPACEWIRE::OnHighlightSchematic, this); @@ -475,6 +478,19 @@ void SPACEWIRE::OnCheckBox1Click(wxCommandEvent& event) FD_ESR13 = winFD_ESR->TextCtrl13->GetValue(); FD_ESR14 = winFD_ESR->TextCtrl14->GetValue(); FD_ESR15 = winFD_ESR->TextCtrl15->GetValue(); + + FD_ORDER = winFD_ESR->TextCtrl16->GetValue(); + FD_lin = winFD_ESR->RadioButton1->GetValue(); + FD_Fmin = winFD_ESR->TextCtrl17->GetValue(); + FD_Fmax = winFD_ESR->TextCtrl18->GetValue(); + FD_Num = winFD_ESR->TextCtrl19->GetValue(); + + +// FD_ORDER = winFD_ESR->TextCtrl11->GetValue(); +// FD_lin = winFD_ESR->RadioButton1->GetValue(); +// FD_Fmin = winFD_ESR->TextCtrl12->GetValue(); +// FD_Fmax = winFD_ESR->TextCtrl12->GetValue(); +// FD_Num = winFD_ESR->TextCtrl12->GetValue(); } winFD_ESR->Destroy(); } @@ -506,7 +522,7 @@ void SPACEWIRE::OnButton2Click(wxCommandEvent& event) if (CheckBox2->GetValue()){ // Identify all mesh files for viewing - //struct _finddata_t fileinfo; + struct _finddata_t fileinfo; long hFile; //wxString meshFileName = "*.msh.vtk"; wxString pattern = "*.msh.vtk"; @@ -938,6 +954,20 @@ void SPACEWIRE::WriteCableFile (wxString fileName) cableFile << TextCtrl25->GetValue() <<" \t# list of denominator coefficients b0 b1 b2... \n"; } + if (CheckBox1->GetValue()){ + + cableFile << FD_ORDER <<"\t # order for filter fitting\n"; + if (FD_lin) + { + cableFile << "lin # frequency range type for filter fitting type (lin or dB)\n"; + } + else + { + cableFile << "log # frequency range type for filter fitting type (lin or dB)\n"; + } + cableFile << FD_Fmin <<" "<< FD_Fmax <<" "<< FD_ORDER <<"\t # fmin fmax number_of_frequencies for filter fitting"; + } + if (CheckBox2->GetValue()){ cableFile << "use_laplace\n"; } @@ -1609,3 +1639,7 @@ void SPACEWIRE::OnCheckBox3Click(wxCommandEvent& event) } WriteCableFile (TextCtrl1->GetValue()); } + +void SPACEWIRE::OnTextCtrl28Text(wxCommandEvent& event) +{ +} diff --git a/GUI/SW1/SRC/SPACEWIRE.h b/GUI/SW1/SRC/SPACEWIRE.h index 5898bea..41b0859 100644 --- a/GUI/SW1/SRC/SPACEWIRE.h +++ b/GUI/SW1/SRC/SPACEWIRE.h @@ -103,6 +103,13 @@ class SPACEWIRE: public wxDialog wxString FD_ESR14; wxString FD_ESR15; + wxString FD_ORDER; + bool FD_log; + bool FD_lin; + wxString FD_Fmin; + wxString FD_Fmax; + wxString FD_Num; + wxString MESH_PARAM1; wxString MESH_PARAM2; @@ -248,10 +255,10 @@ class SPACEWIRE: public wxDialog static const long ID_COMBOBOX1; static const long ID_STATICTEXT25; static const long ID_CHECKBOX3; + static const long ID_PANEL1; static const long ID_BUTTON1; static const long ID_BUTTON2; static const long ID_BUTTON3; - static const long ID_PANEL1; //*) private: @@ -291,6 +298,7 @@ class SPACEWIRE: public wxDialog void OnTextCtrl25Text(wxCommandEvent& event); void OnComboBox1Selected(wxCommandEvent& event); void OnCheckBox3Click(wxCommandEvent& event); + void OnTextCtrl28Text(wxCommandEvent& event); //*) DECLARE_EVENT_TABLE() diff --git a/GUI/SW1/SRC/SPICEMODEL.cpp b/GUI/SW1/SRC/SPICEMODEL.cpp index ede1d6d..25e2f52 100644 --- a/GUI/SW1/SRC/SPICEMODEL.cpp +++ b/GUI/SW1/SRC/SPICEMODEL.cpp @@ -84,6 +84,20 @@ const long SPICEMODEL::ID_TEXTCTRL8 = wxNewId(); const long SPICEMODEL::ID_STATICTEXT11 = wxNewId(); const long SPICEMODEL::ID_TEXTCTRL9 = wxNewId(); const long SPICEMODEL::ID_PANEL4 = wxNewId(); +const long SPICEMODEL::ID_STATICTEXT17 = wxNewId(); +const long SPICEMODEL::ID_CHECKBOX1 = wxNewId(); +const long SPICEMODEL::ID_STATICTEXT12 = wxNewId(); +const long SPICEMODEL::ID_TEXTCTRL10 = wxNewId(); +const long SPICEMODEL::ID_STATICTEXT13 = wxNewId(); +const long SPICEMODEL::ID_RADIOBUTTON1 = wxNewId(); +const long SPICEMODEL::ID_RADIOBUTTON2 = wxNewId(); +const long SPICEMODEL::ID_STATICTEXT14 = wxNewId(); +const long SPICEMODEL::ID_TEXTCTRL11 = wxNewId(); +const long SPICEMODEL::ID_STATICTEXT15 = wxNewId(); +const long SPICEMODEL::ID_TEXTCTRL12 = wxNewId(); +const long SPICEMODEL::ID_STATICTEXT16 = wxNewId(); +const long SPICEMODEL::ID_TEXTCTRL13 = wxNewId(); +const long SPICEMODEL::ID_PANEL5 = wxNewId(); const long SPICEMODEL::ID_NOTEBOOK1 = wxNewId(); const long SPICEMODEL::ID_BUTTON1 = wxNewId(); const long SPICEMODEL::ID_BUTTON2 = wxNewId(); @@ -99,15 +113,20 @@ END_EVENT_TABLE() SPICEMODEL::SPICEMODEL(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& size) { //(*Initialize(SPICEMODEL) + wxBoxSizer* BoxSizer4; wxStaticBoxSizer* StaticBoxSizer2; wxFlexGridSizer* FlexGridSizer4; + wxFlexGridSizer* FlexGridSizer10; wxFlexGridSizer* FlexGridSizer3; wxFlexGridSizer* FlexGridSizer5; + wxFlexGridSizer* FlexGridSizer9; wxFlexGridSizer* FlexGridSizer2; wxBoxSizer* BoxSizer2; wxFlexGridSizer* FlexGridSizer7; wxStaticBoxSizer* StaticBoxSizer6; + wxFlexGridSizer* FlexGridSizer8; wxBoxSizer* BoxSizer1; + wxFlexGridSizer* FlexGridSizer6; wxStaticBoxSizer* StaticBoxSizer1; wxFlexGridSizer* FlexGridSizer1; wxBoxSizer* BoxSizer3; @@ -181,8 +200,53 @@ SPICEMODEL::SPICEMODEL(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w Panel4->SetSizer(FlexGridSizer5); FlexGridSizer5->Fit(Panel4); FlexGridSizer5->SetSizeHints(Panel4); + Panel5 = new wxPanel(Notebook1, ID_PANEL5, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL5")); + FlexGridSizer6 = new wxFlexGridSizer(0, 1, 0, 0); + BoxSizer4 = new wxBoxSizer(wxHORIZONTAL); + StaticText16 = new wxStaticText(Panel5, ID_STATICTEXT17, _("Use Filter Fitting"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT17")); + BoxSizer4->Add(StaticText16, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + CheckBox1 = new wxCheckBox(Panel5, ID_CHECKBOX1, _("Yes"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CHECKBOX1")); + CheckBox1->SetValue(false); + BoxSizer4->Add(CheckBox1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + FlexGridSizer6->Add(BoxSizer4, 1, wxALL|wxEXPAND, 5); + FlexGridSizer8 = new wxFlexGridSizer(0, 2, 0, 0); + StaticText9 = new wxStaticText(Panel5, ID_STATICTEXT12, _("Order for Filter Fitting "), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT12")); + FlexGridSizer8->Add(StaticText9, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + TextCtrl10 = new wxTextCtrl(Panel5, ID_TEXTCTRL10, _("-10"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL10")); + TextCtrl10->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + FlexGridSizer8->Add(TextCtrl10, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + FlexGridSizer6->Add(FlexGridSizer8, 1, wxALL, 5); + FlexGridSizer9 = new wxFlexGridSizer(0, 3, 0, 0); + StaticText12 = new wxStaticText(Panel5, ID_STATICTEXT13, _("Range Type"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT13")); + FlexGridSizer9->Add(StaticText12, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + RadioButton1 = new wxRadioButton(Panel5, ID_RADIOBUTTON1, _("Lin"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_RADIOBUTTON1")); + FlexGridSizer9->Add(RadioButton1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + RadioButton2 = new wxRadioButton(Panel5, ID_RADIOBUTTON2, _("Log"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_RADIOBUTTON2")); + FlexGridSizer9->Add(RadioButton2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + FlexGridSizer6->Add(FlexGridSizer9, 1, wxALL|wxEXPAND, 5); + FlexGridSizer10 = new wxFlexGridSizer(0, 2, 0, 0); + StaticText13 = new wxStaticText(Panel5, ID_STATICTEXT14, _("Frequency min (Hz)"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT14")); + FlexGridSizer10->Add(StaticText13, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + TextCtrl11 = new wxTextCtrl(Panel5, ID_TEXTCTRL11, _("1e3"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL11")); + TextCtrl11->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + FlexGridSizer10->Add(TextCtrl11, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + StaticText14 = new wxStaticText(Panel5, ID_STATICTEXT15, _("Frequecy max (Hz)"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT15")); + FlexGridSizer10->Add(StaticText14, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + TextCtrl12 = new wxTextCtrl(Panel5, ID_TEXTCTRL12, _("1e9"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL12")); + TextCtrl12->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + FlexGridSizer10->Add(TextCtrl12, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + StaticText15 = new wxStaticText(Panel5, ID_STATICTEXT16, _("Number of Frequencies"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT16")); + FlexGridSizer10->Add(StaticText15, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + TextCtrl13 = new wxTextCtrl(Panel5, ID_TEXTCTRL13, _("12"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL13")); + TextCtrl13->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT)); + FlexGridSizer10->Add(TextCtrl13, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); + FlexGridSizer6->Add(FlexGridSizer10, 1, wxALL|wxEXPAND, 5); + Panel5->SetSizer(FlexGridSizer6); + FlexGridSizer6->Fit(Panel5); + FlexGridSizer6->SetSizeHints(Panel5); Notebook1->AddPage(Panel3, _("Incident Field Excitation"), false); Notebook1->AddPage(Panel4, _("Transfer Impedance Model"), false); + Notebook1->AddPage(Panel5, _("Filter Fitting"), false); BoxSizer3->Add(Notebook1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer2->Add(BoxSizer3, 1, wxALL|wxEXPAND, 5); BoxSizer2 = new wxBoxSizer(wxHORIZONTAL); @@ -215,6 +279,7 @@ SPICEMODEL::SPICEMODEL(wxWindow* parent,wxWindowID id,const wxPoint& pos,const w Connect(ID_TEXTCTRL7,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&SPICEMODEL::OnTextCtrl7Text); Connect(ID_TEXTCTRL8,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&SPICEMODEL::OnTextCtrl8Text); Connect(ID_TEXTCTRL9,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&SPICEMODEL::OnTextCtrl9Text); + Connect(ID_TEXTCTRL13,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&SPICEMODEL::OnTextCtrl13Text1); Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&SPICEMODEL::OnButton1Click); Connect(ID_BUTTON2,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&SPICEMODEL::OnButton2Click); Connect(ID_BUTTON3,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&SPICEMODEL::OnButton3Click); @@ -444,7 +509,22 @@ void SPICEMODEL::OnButton1Click(wxCommandEvent& event) spiceFile <GetValue()) + { + spiceFile << TextCtrl10->GetValue() <<"\t # order for filter fitting\n"; + if (RadioButton1) + { + spiceFile << "lin # frequency range type for filter fitting type (lin or dB)\n"; + } + else + { + spiceFile << "log # frequency range type for filter fitting type (lin or dB)\n"; + } + spiceFile << TextCtrl11->GetValue() <<" "<< TextCtrl12->GetValue() <<" "<< TextCtrl13->GetValue() <<"\t # fmin fmax number_of_frequencies for filter fitting\n"; + + } } spiceFile.close(); } @@ -512,3 +592,15 @@ void SPICEMODEL::OnTextCtrl9Text(wxCommandEvent& event) int IsError = 0; check_is_numeric_list(TextCtrl9, &IsError); } + +void SPICEMODEL::OnNotebook1PageChanged(wxNotebookEvent& event) +{ +} + +void SPICEMODEL::OnNotebook1PageChanged1(wxNotebookEvent& event) +{ +} + +void SPICEMODEL::OnTextCtrl13Text1(wxCommandEvent& event) +{ +} diff --git a/GUI/SW1/SRC/SPICEMODEL.h b/GUI/SW1/SRC/SPICEMODEL.h index 4c0e8e3..f286394 100644 --- a/GUI/SW1/SRC/SPICEMODEL.h +++ b/GUI/SW1/SRC/SPICEMODEL.h @@ -46,6 +46,8 @@ #include #include #include +#include +#include #include #include #include @@ -102,10 +104,16 @@ class SPICEMODEL: public wxDialog //(*Declarations(SPICEMODEL) wxStaticText* StaticText10; + wxStaticText* StaticText9; wxTextCtrl* TextCtrl4; + wxRadioButton* RadioButton1; + wxPanel* Panel5; wxNotebook* Notebook1; + wxStaticText* StaticText13; wxStaticText* StaticText2; wxPanel* Panel4; + wxStaticText* StaticText14; + wxRadioButton* RadioButton2; wxButton* Button1; wxStaticText* StaticText6; wxTextCtrl* TextCtrl6; @@ -115,6 +123,7 @@ class SPICEMODEL: public wxDialog wxStaticText* StaticText1; wxStaticText* StaticText3; wxButton* Button2; + wxCheckBox* CheckBox1; wxPanel* Panel3; wxStaticText* StaticText21; wxStaticText* ConductorNumber; @@ -122,15 +131,22 @@ class SPICEMODEL: public wxDialog wxStaticText* StaticText5; wxTextCtrl* TextCtrl15; wxStaticText* StaticText7; + wxTextCtrl* TextCtrl13; wxTextCtrl* TextCtrl8; wxTextCtrl* TextCtrl2; wxTextCtrl* TextCtrl7; wxTextCtrl* TextCtrl1; + wxStaticText* StaticText15; + wxStaticText* StaticText12; wxTextCtrl* TextCtrl9; wxPanel* Panel2; wxTextCtrl* TextCtrl5; wxStaticText* StaticText4; wxTextCtrl* TextCtrl3; + wxTextCtrl* TextCtrl10; + wxTextCtrl* TextCtrl12; + wxTextCtrl* TextCtrl11; + wxStaticText* StaticText16; //*) protected: @@ -161,6 +177,20 @@ class SPICEMODEL: public wxDialog static const long ID_STATICTEXT11; static const long ID_TEXTCTRL9; static const long ID_PANEL4; + static const long ID_STATICTEXT17; + static const long ID_CHECKBOX1; + static const long ID_STATICTEXT12; + static const long ID_TEXTCTRL10; + static const long ID_STATICTEXT13; + static const long ID_RADIOBUTTON1; + static const long ID_RADIOBUTTON2; + static const long ID_STATICTEXT14; + static const long ID_TEXTCTRL11; + static const long ID_STATICTEXT15; + static const long ID_TEXTCTRL12; + static const long ID_STATICTEXT16; + static const long ID_TEXTCTRL13; + static const long ID_PANEL5; static const long ID_NOTEBOOK1; static const long ID_BUTTON1; static const long ID_BUTTON2; @@ -185,6 +215,9 @@ class SPICEMODEL: public wxDialog void OnTextCtrl7Text(wxCommandEvent& event); void OnTextCtrl8Text(wxCommandEvent& event); void OnTextCtrl9Text(wxCommandEvent& event); + void OnNotebook1PageChanged(wxNotebookEvent& event); + void OnNotebook1PageChanged1(wxNotebookEvent& event); + void OnTextCtrl13Text1(wxCommandEvent& event); //*) void PopulateTheDirectoryTree ( wxString); diff --git a/GUI/SW1/SRC/SW1_GUI b/GUI/SW1/SRC/SW1_GUI deleted file mode 100644 index ea23c0f..0000000 Binary files a/GUI/SW1/SRC/SW1_GUI and /dev/null differ diff --git a/GUI/SW1/SRC/SW1_GUIMain.cpp b/GUI/SW1/SRC/SW1_GUIMain.cpp index 86b0142..6c27d06 100644 --- a/GUI/SW1/SRC/SW1_GUIMain.cpp +++ b/GUI/SW1/SRC/SW1_GUIMain.cpp @@ -182,7 +182,7 @@ SW1_GUIFrame::SW1_GUIFrame(wxWindow* parent,wxWindowID id) MenuItem13->Enable(false); MenuBar1->Append(Menu4, _("Bundle Model")); Menu5 = new wxMenu(); - MenuItem16 = new wxMenuItem(Menu5, ID_NEWSPICE, _("Create Spice Budle Model"), wxEmptyString, wxITEM_NORMAL); + MenuItem16 = new wxMenuItem(Menu5, ID_NEWSPICE, _("Create Spice Bundle Model"), wxEmptyString, wxITEM_NORMAL); Menu5->Append(MenuItem16); Menu5->AppendSeparator(); Menu7 = new wxMenuItem(Menu5, ID_MENUITEM2, _("Export Spice Models"), wxEmptyString, wxITEM_NORMAL); diff --git a/GUI/SW1/SRC/TP.cpp b/GUI/SW1/SRC/TP.cpp index 9d2ede9..b29d502 100644 --- a/GUI/SW1/SRC/TP.cpp +++ b/GUI/SW1/SRC/TP.cpp @@ -423,6 +423,7 @@ void TP::OnCheckBox1Click(wxCommandEvent& event) FD_ESR *winFD_ESR = new FD_ESR(this); + if ( winFD_ESR->ShowModal() == wxID_OK ) { FD_ESR1 = winFD_ESR->TextCtrl1->GetValue(); @@ -431,11 +432,17 @@ void TP::OnCheckBox1Click(wxCommandEvent& event) FD_ESR4 = winFD_ESR->TextCtrl4->GetValue(); FD_ESR5 = winFD_ESR->TextCtrl5->GetValue(); - FD_ESR6 = winFD_ESR->TextCtrl1->GetValue(); - FD_ESR7 = winFD_ESR->TextCtrl2->GetValue(); - FD_ESR8 = winFD_ESR->TextCtrl3->GetValue(); - FD_ESR9 = winFD_ESR->TextCtrl4->GetValue(); - FD_ESR10= winFD_ESR->TextCtrl5->GetValue(); + FD_ESR6 = winFD_ESR->TextCtrl6->GetValue(); + FD_ESR7 = winFD_ESR->TextCtrl7->GetValue(); + FD_ESR8 = winFD_ESR->TextCtrl8->GetValue(); + FD_ESR9 = winFD_ESR->TextCtrl9->GetValue(); + FD_ESR10= winFD_ESR->TextCtrl10->GetValue(); + + FD_ORDER = winFD_ESR->TextCtrl11->GetValue(); + FD_lin = winFD_ESR->RadioButton1->GetValue(); + FD_Fmin = winFD_ESR->TextCtrl12->GetValue(); + FD_Fmax = winFD_ESR->TextCtrl13->GetValue(); + FD_Num = winFD_ESR->TextCtrl14->GetValue(); } winFD_ESR->Destroy(); } @@ -467,7 +474,7 @@ void TP::OnButton2Click(wxCommandEvent& event) if (CheckBox2->GetValue()) { // Identify all mesh files for viewing - //struct _finddata_t fileinfo; + struct _finddata_t fileinfo; long hFile; //wxString meshFileName = "*.msh.vtk"; wxString pattern = "*.msh.vtk"; @@ -769,6 +776,20 @@ void TP::WriteCableFile (wxString fileName) } } + if (CheckBox1->GetValue()){ + + cableFile << FD_ORDER <<"\t # order for filter fitting\n"; + if (FD_lin) + { + cableFile << "lin # frequency range type for filter fitting type (lin or dB)\n"; + } + else + { + cableFile << "log # frequency range type for filter fitting type (lin or dB)\n"; + } + cableFile << FD_Fmin <<" "<< FD_Fmax <<" "<< FD_ORDER <<"\t # fmin fmax number_of_frequencies for filter fitting"; + } + if (CheckBox2->GetValue()){ cableFile << "use_laplace\n"; } diff --git a/GUI/SW1/SRC/TP.h b/GUI/SW1/SRC/TP.h index 4dbcbeb..70bf529 100644 --- a/GUI/SW1/SRC/TP.h +++ b/GUI/SW1/SRC/TP.h @@ -99,6 +99,13 @@ class TP: public wxDialog wxString FD_ESR9; wxString FD_ESR10; + wxString FD_ORDER; + bool FD_log; + bool FD_lin; + wxString FD_Fmin; + wxString FD_Fmax; + wxString FD_Num; + wxString MESH_PARAM1; wxString MESH_PARAM2; diff --git a/GUI/SW1/SRC/TWINAX.cpp b/GUI/SW1/SRC/TWINAX.cpp index cf1af7d..99339a9 100644 --- a/GUI/SW1/SRC/TWINAX.cpp +++ b/GUI/SW1/SRC/TWINAX.cpp @@ -446,7 +446,7 @@ void TWINAX::OnButton3Click(wxCommandEvent& event) if (CheckBox2->GetValue()){ // Identify all mesh files for viewing - //struct _finddata_t fileinfo; + struct _finddata_t fileinfo; long hFile; //wxString meshFileName = "*.msh.vtk"; wxString pattern = "*.msh.vtk"; @@ -505,11 +505,17 @@ void TWINAX::OnCheckBox1Click(wxCommandEvent& event) FD_ESR4 = winFD_ESR->TextCtrl4->GetValue(); FD_ESR5 = winFD_ESR->TextCtrl5->GetValue(); - FD_ESR6 = winFD_ESR->TextCtrl1->GetValue(); - FD_ESR7 = winFD_ESR->TextCtrl2->GetValue(); - FD_ESR8 = winFD_ESR->TextCtrl3->GetValue(); - FD_ESR9 = winFD_ESR->TextCtrl4->GetValue(); - FD_ESR10= winFD_ESR->TextCtrl5->GetValue(); + FD_ESR6 = winFD_ESR->TextCtrl6->GetValue(); + FD_ESR7 = winFD_ESR->TextCtrl7->GetValue(); + FD_ESR8 = winFD_ESR->TextCtrl8->GetValue(); + FD_ESR9 = winFD_ESR->TextCtrl9->GetValue(); + FD_ESR10= winFD_ESR->TextCtrl10->GetValue(); + + FD_ORDER = winFD_ESR->TextCtrl11->GetValue(); + FD_lin = winFD_ESR->RadioButton1->GetValue(); + FD_Fmin = winFD_ESR->TextCtrl12->GetValue(); + FD_Fmax = winFD_ESR->TextCtrl13->GetValue(); + FD_Num = winFD_ESR->TextCtrl14->GetValue(); } winFD_ESR->Destroy(); } @@ -763,6 +769,20 @@ void TWINAX::WriteCableFile (wxString fileName) cableFile << "1 # list of denominator coefficients b0 b1 b2... \n"; } + if (CheckBox1->GetValue()){ + + cableFile << FD_ORDER <<"\t # order for filter fitting\n"; + if (FD_lin) + { + cableFile << "lin # frequency range type for filter fitting type (lin or dB)\n"; + } + else + { + cableFile << "log # frequency range type for filter fitting type (lin or dB)\n"; + } + cableFile << FD_Fmin <<" "<< FD_Fmax <<" "<< FD_ORDER <<"\t # fmin fmax number_of_frequencies for filter fitting"; + } + if (CheckBox2->GetValue()){ cableFile << "use_laplace\n"; } diff --git a/GUI/SW1/SRC/TWINAX.h b/GUI/SW1/SRC/TWINAX.h index b554613..fb2f4c2 100644 --- a/GUI/SW1/SRC/TWINAX.h +++ b/GUI/SW1/SRC/TWINAX.h @@ -99,6 +99,13 @@ class TWINAX: public wxDialog wxString FD_ESR9; wxString FD_ESR10; + wxString FD_ORDER; + bool FD_log; + bool FD_lin; + wxString FD_Fmin; + wxString FD_Fmax; + wxString FD_Num; + wxString MESH_PARAM1; wxString MESH_PARAM2; diff --git a/GUI/SW1/SRC/UTP.cpp b/GUI/SW1/SRC/UTP.cpp index d90e175..336319f 100644 --- a/GUI/SW1/SRC/UTP.cpp +++ b/GUI/SW1/SRC/UTP.cpp @@ -64,20 +64,6 @@ const long UTP::ID_STATICTEXT12 = wxNewId(); const long UTP::ID_STATICTEXT13 = wxNewId(); const long UTP::ID_STATICTEXT14 = wxNewId(); const long UTP::ID_CHECKBOX1 = wxNewId(); -const long UTP::ID_STATICTEXT6 = wxNewId(); -const long UTP::ID_TEXTCTRL6 = wxNewId(); -const long UTP::ID_STATICLINE1 = wxNewId(); -const long UTP::ID_STATICLINE2 = wxNewId(); -const long UTP::ID_STATICTEXT7 = wxNewId(); -const long UTP::ID_TEXTCTRL7 = wxNewId(); -const long UTP::ID_STATICTEXT8 = wxNewId(); -const long UTP::ID_TEXTCTRL8 = wxNewId(); -const long UTP::ID_STATICLINE3 = wxNewId(); -const long UTP::ID_STATICLINE4 = wxNewId(); -const long UTP::ID_STATICTEXT9 = wxNewId(); -const long UTP::ID_TEXTCTRL9 = wxNewId(); -const long UTP::ID_STATICTEXT10 = wxNewId(); -const long UTP::ID_TEXTCTRL10 = wxNewId(); const long UTP::ID_PANEL3 = wxNewId(); const long UTP::ID_NOTEBOOK1 = wxNewId(); const long UTP::ID_STATICTEXT15 = wxNewId(); @@ -102,7 +88,6 @@ UTP::UTP(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& size) //(*Initialize(UTP) wxBoxSizer* BoxSizer4; wxStaticBoxSizer* StaticBoxSizer2; - wxFlexGridSizer* FlexGridSizer4; wxFlexGridSizer* FlexGridSizer3; wxFlexGridSizer* FlexGridSizer5; wxFlexGridSizer* FlexGridSizer2; @@ -163,41 +148,6 @@ UTP::UTP(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& size) CheckBox1->SetValue(false); FlexGridSizer5->Add(CheckBox1, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); BoxSizer4->Add(FlexGridSizer5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL, 5); - FlexGridSizer4 = new wxFlexGridSizer(0, 2, 0, 0); - StaticText6 = new wxStaticText(Panel3, ID_STATICTEXT6, _("Normalisation Constant"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT6")); - FlexGridSizer4->Add(StaticText6, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - TextCtrl6 = new wxTextCtrl(Panel3, ID_TEXTCTRL6, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL6")); - TextCtrl6->Disable(); - FlexGridSizer4->Add(TextCtrl6, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - StaticLine1 = new wxStaticLine(Panel3, ID_STATICLINE1, wxDefaultPosition, wxSize(10,-1), wxLI_HORIZONTAL, _T("ID_STATICLINE1")); - FlexGridSizer4->Add(StaticLine1, 1, wxALL|wxEXPAND, 5); - StaticLine2 = new wxStaticLine(Panel3, ID_STATICLINE2, wxDefaultPosition, wxSize(10,-1), wxLI_HORIZONTAL, _T("ID_STATICLINE2")); - FlexGridSizer4->Add(StaticLine2, 1, wxALL|wxEXPAND, 5); - StaticText7 = new wxStaticText(Panel3, ID_STATICTEXT7, _("a order"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT7")); - FlexGridSizer4->Add(StaticText7, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - TextCtrl7 = new wxTextCtrl(Panel3, ID_TEXTCTRL7, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL7")); - TextCtrl7->Disable(); - FlexGridSizer4->Add(TextCtrl7, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - StaticText8 = new wxStaticText(Panel3, ID_STATICTEXT8, _("a constants"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT8")); - FlexGridSizer4->Add(StaticText8, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - TextCtrl8 = new wxTextCtrl(Panel3, ID_TEXTCTRL8, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL8")); - TextCtrl8->Disable(); - FlexGridSizer4->Add(TextCtrl8, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - StaticLine3 = new wxStaticLine(Panel3, ID_STATICLINE3, wxDefaultPosition, wxSize(10,-1), wxLI_HORIZONTAL, _T("ID_STATICLINE3")); - FlexGridSizer4->Add(StaticLine3, 1, wxALL|wxEXPAND, 5); - StaticLine4 = new wxStaticLine(Panel3, ID_STATICLINE4, wxDefaultPosition, wxSize(10,-1), wxLI_HORIZONTAL, _T("ID_STATICLINE4")); - FlexGridSizer4->Add(StaticLine4, 1, wxALL|wxEXPAND, 5); - StaticText9 = new wxStaticText(Panel3, ID_STATICTEXT9, _("b order"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT9")); - FlexGridSizer4->Add(StaticText9, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - TextCtrl9 = new wxTextCtrl(Panel3, ID_TEXTCTRL9, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL9")); - TextCtrl9->Disable(); - FlexGridSizer4->Add(TextCtrl9, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - StaticText10 = new wxStaticText(Panel3, ID_STATICTEXT10, _("b constants"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT10")); - FlexGridSizer4->Add(StaticText10, 1, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - TextCtrl10 = new wxTextCtrl(Panel3, ID_TEXTCTRL10, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_TEXTCTRL10")); - TextCtrl10->Disable(); - FlexGridSizer4->Add(TextCtrl10, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); - BoxSizer4->Add(FlexGridSizer4, 2, wxALL|wxEXPAND, 5); Panel3->SetSizer(BoxSizer4); BoxSizer4->Fit(Panel3); BoxSizer4->SetSizeHints(Panel3); @@ -248,11 +198,6 @@ UTP::UTP(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& size) Connect(ID_TEXTCTRL5,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&UTP::OnTextCtrl5Text); Connect(ID_TEXTCTRL11,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&UTP::OnTextCtrl11Text); Connect(ID_CHECKBOX1,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&UTP::OnCheckBox1Click); - Connect(ID_TEXTCTRL6,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&UTP::OnTextCtrl6Text); - Connect(ID_TEXTCTRL7,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&UTP::OnTextCtrl7Text); - Connect(ID_TEXTCTRL8,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&UTP::OnTextCtrl8Text); - Connect(ID_TEXTCTRL9,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&UTP::OnTextCtrl9Text); - Connect(ID_TEXTCTRL10,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&UTP::OnTextCtrl10Text); Connect(ID_NOTEBOOK1,wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING,(wxObjectEventFunction)&UTP::OnNotebook1PageChanging); Connect(ID_COMBOBOX1,wxEVT_COMMAND_COMBOBOX_SELECTED,(wxObjectEventFunction)&UTP::OnComboBox1Selected); Connect(ID_CHECKBOX3,wxEVT_COMMAND_CHECKBOX_CLICKED,(wxObjectEventFunction)&UTP::OnCheckBox3Click); @@ -268,11 +213,11 @@ UTP::UTP(wxWindow* parent,wxWindowID id,const wxPoint& pos,const wxSize& size) TextCtrl3->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&UTP::OnHighlightSchematic, this); TextCtrl4->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&UTP::OnHighlightSchematic, this); TextCtrl5->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&UTP::OnHighlightSchematic, this); - TextCtrl6->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&UTP::OnHighlightSchematic, this); - TextCtrl7->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&UTP::OnHighlightSchematic, this); - TextCtrl8->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&UTP::OnHighlightSchematic, this); - TextCtrl9->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&UTP::OnHighlightSchematic, this); - TextCtrl10->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&UTP::OnHighlightSchematic, this); +// TextCtrl6->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&UTP::OnHighlightSchematic, this); +// TextCtrl7->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&UTP::OnHighlightSchematic, this); +// TextCtrl8->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&UTP::OnHighlightSchematic, this); +// TextCtrl9->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&UTP::OnHighlightSchematic, this); +// TextCtrl10->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&UTP::OnHighlightSchematic, this); TextCtrl11->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&UTP::OnHighlightSchematic, this); CheckBox1->Bind(wxEVT_SET_FOCUS,(wxObjectEventFunction)&UTP::OnHighlightSchematic, this); } @@ -310,11 +255,11 @@ void UTP::OnButton1Click(wxCommandEvent& event) if (CheckBox1->GetValue()) { - check_is_empty(TextCtrl6, &IsError); - check_is_empty(TextCtrl7, &IsError); - check_is_empty(TextCtrl8, &IsError); - check_is_empty(TextCtrl9, &IsError); - check_is_empty(TextCtrl10, &IsError); +// check_is_empty(TextCtrl6, &IsError); +// check_is_empty(TextCtrl7, &IsError); +// check_is_empty(TextCtrl8, &IsError); +// check_is_empty(TextCtrl9, &IsError); +// check_is_empty(TextCtrl10, &IsError); } else { @@ -340,11 +285,37 @@ void UTP::OnButton1Click(wxCommandEvent& event) void UTP::OnCheckBox1Click(wxCommandEvent& event) { TextCtrl11->Disable(); - TextCtrl6->Enable(); - TextCtrl7->Enable(); - TextCtrl8->Enable(); - TextCtrl9->Enable(); - TextCtrl10->Enable(); +// TextCtrl6->Enable(); +// TextCtrl7->Enable(); +// TextCtrl8->Enable(); +// TextCtrl9->Enable(); +// TextCtrl10->Enable(); + + FD_ESR *winFD_ESR = new FD_ESR(this); + + if ( winFD_ESR->ShowModal() == wxID_OK ) + { +// FD_ESR1 = winFD_ESR->TextCtrl1->GetValue(); +// FD_ESR2 = winFD_ESR->TextCtrl2->GetValue(); +// FD_ESR3 = winFD_ESR->TextCtrl3->GetValue(); +// FD_ESR4 = winFD_ESR->TextCtrl4->GetValue(); +// FD_ESR5 = winFD_ESR->TextCtrl5->GetValue(); + + FD_ESR6 = winFD_ESR->TextCtrl6->GetValue(); + FD_ESR7 = winFD_ESR->TextCtrl7->GetValue(); + FD_ESR8 = winFD_ESR->TextCtrl8->GetValue(); + FD_ESR9 = winFD_ESR->TextCtrl9->GetValue(); + FD_ESR10= winFD_ESR->TextCtrl10->GetValue(); + + FD_ORDER = winFD_ESR->TextCtrl11->GetValue(); + FD_lin = winFD_ESR->RadioButton1->GetValue(); + FD_Fmin = winFD_ESR->TextCtrl12->GetValue(); + FD_Fmax = winFD_ESR->TextCtrl12->GetValue(); + FD_Num = winFD_ESR->TextCtrl12->GetValue(); + + } + winFD_ESR->Destroy(); + } void UTP::OnButton2Click(wxCommandEvent& event) @@ -375,7 +346,7 @@ void UTP::OnButton2Click(wxCommandEvent& event) if (CheckBox2->GetValue()) { // Identify all mesh files for viewing - //struct _finddata_t fileinfo; + struct _finddata_t fileinfo; long hFile; //wxString meshFileName = "*.msh.vtk"; wxString pattern = "*.msh.vtk"; @@ -473,35 +444,35 @@ void UTP::OnTextCtrl11Text(wxCommandEvent& event) check_is_numeric_list(TextCtrl11, &IsError); } -void UTP::OnTextCtrl6Text(wxCommandEvent& event) -{ - int IsError = 0; - check_is_numeric_list(TextCtrl6, &IsError); -} - -void UTP::OnTextCtrl7Text(wxCommandEvent& event) -{ - int IsError = 0; - check_is_numeric_list(TextCtrl7, &IsError); -} - -void UTP::OnTextCtrl8Text(wxCommandEvent& event) -{ - int IsError = 0; - check_is_numeric_list(TextCtrl8, &IsError); -} - -void UTP::OnTextCtrl9Text(wxCommandEvent& event) -{ - int IsError = 0; - check_is_numeric_list(TextCtrl9, &IsError); -} - -void UTP::OnTextCtrl10Text(wxCommandEvent& event) -{ - int IsError = 0; - check_is_numeric_list(TextCtrl10, &IsError); -} +//void UTP::OnTextCtrl6Text(wxCommandEvent& event) +//{ +// int IsError = 0; +// check_is_numeric_list(TextCtrl6, &IsError); +//} +// +//void UTP::OnTextCtrl7Text(wxCommandEvent& event) +//{ +// int IsError = 0; +// check_is_numeric_list(TextCtrl7, &IsError); +//} +// +//void UTP::OnTextCtrl8Text(wxCommandEvent& event) +//{ +// int IsError = 0; +// check_is_numeric_list(TextCtrl8, &IsError); +//} +// +//void UTP::OnTextCtrl9Text(wxCommandEvent& event) +//{ +// int IsError = 0; +// check_is_numeric_list(TextCtrl9, &IsError); +//} +// +//void UTP::OnTextCtrl10Text(wxCommandEvent& event) +//{ +// int IsError = 0; +// check_is_numeric_list(TextCtrl10, &IsError); +//} void UTP::WriteCableFile (wxString fileName) { @@ -529,11 +500,18 @@ void UTP::WriteCableFile (wxString fileName) if (CheckBox1->GetValue()){ cableFile << "# Dielectric relative permittivity model follows\n"; - cableFile << TextCtrl6->GetValue() <<" \t# w normalisation constant\n"; - cableFile << TextCtrl7->GetValue() <<" \t# a order, a coefficients follow below\n"; - cableFile << TextCtrl8->GetValue() <<" \n"; - cableFile << TextCtrl9->GetValue() <<" \t# b order, b coefficients follow below\n"; - cableFile << TextCtrl10->GetValue() <<" \n"; + cableFile << FD_ESR6 <<"\t # w normalisation constant\n"; + cableFile << FD_ESR7 <<"\t # a order, a coefficients follow below\n"; + cableFile << FD_ESR8 <<"\n"; + cableFile << FD_ESR9 <<"\t # b order, b coefficients follow below\n"; + cableFile << FD_ESR10 <<"\n"; + +// cableFile << "# Dielectric relative permittivity model follows\n"; +// cableFile << TextCtrl6->GetValue() <<" \t# w normalisation constant\n"; +// cableFile << TextCtrl7->GetValue() <<" \t# a order, a coefficients follow below\n"; +// cableFile << TextCtrl8->GetValue() <<" \n"; +// cableFile << TextCtrl9->GetValue() <<" \t# b order, b coefficients follow below\n"; +// cableFile << TextCtrl10->GetValue() <<" \n"; } else{ @@ -546,6 +524,20 @@ void UTP::WriteCableFile (wxString fileName) } } + if (CheckBox1->GetValue()){ + + cableFile << FD_ORDER <<"\t # order for filter fitting\n"; + if (FD_lin) + { + cableFile << "lin # frequency range type for filter fitting type (lin or dB)"; + } + else + { + cableFile << "log # frequency range type for filter fitting type (lin or dB)"; + } + cableFile << FD_Fmin <<" "<< FD_Fmax <<" "<< FD_ORDER <<"\t # fmin fmax number_of_frequencies for filter fitting"; + } + if (CheckBox2->GetValue()) { cableFile << "use_laplace\n"; diff --git a/GUI/SW1/SRC/UTP.h b/GUI/SW1/SRC/UTP.h index 872c603..9baff56 100644 --- a/GUI/SW1/SRC/UTP.h +++ b/GUI/SW1/SRC/UTP.h @@ -47,7 +47,6 @@ #include #include #include -#include #include #include #include @@ -59,6 +58,7 @@ #include // Application Includes +#include "FD_ESR.h" #include "UTILITIES.h" #include "MESH_LAPLACE.h" #include "MESH_PARAM.h" @@ -69,7 +69,7 @@ #include #include #include -//#include +#include using namespace std; @@ -89,21 +89,34 @@ class UTP: public wxDialog void utpSchematic(); void OnHighlightSchematic(wxCommandEvent & event); + wxString FD_ESR1; + wxString FD_ESR2; + wxString FD_ESR3; + wxString FD_ESR4; + wxString FD_ESR5; + wxString FD_ESR6; + wxString FD_ESR7; + wxString FD_ESR8; + wxString FD_ESR9; + wxString FD_ESR10; + + wxString FD_ORDER; + bool FD_log; + bool FD_lin; + wxString FD_Fmin; + wxString FD_Fmax; + wxString FD_Num; + wxString MESH_PARAM1; wxString MESH_PARAM2; //(*Declarations(UTP) - wxStaticText* StaticText10; - wxStaticText* StaticText9; wxTextCtrl* TextCtrl4; wxNotebook* Notebook1; wxStaticText* StaticText13; wxStaticText* StaticText2; wxStaticText* StaticText14; wxButton* Button1; - wxStaticText* StaticText6; - wxTextCtrl* TextCtrl6; - wxStaticText* StaticText8; wxStaticText* StaticText11; wxCheckBox* CheckBox3; wxCheckBox* CheckBox2; @@ -112,28 +125,19 @@ class UTP: public wxDialog wxStaticText* StaticText3; wxButton* Button2; wxPanel* Panel3; - wxStaticLine* StaticLine4; wxCheckBox* CheckBox1; - wxStaticLine* StaticLine2; wxButton* Button3; wxStaticText* StaticText5; - wxStaticText* StaticText7; - wxStaticLine* StaticLine3; - wxTextCtrl* TextCtrl8; - wxStaticLine* StaticLine1; wxTextCtrl* TextCtrl2; wxComboBox* ComboBox1; - wxTextCtrl* TextCtrl7; wxTextCtrl* TextCtrl1; wxStaticText* StaticText15; wxStaticText* StaticText12; - wxTextCtrl* TextCtrl9; wxPanel* Panel2; wxTextCtrl* TextCtrl5; wxStaticText* StaticText17; wxStaticText* StaticText4; wxTextCtrl* TextCtrl3; - wxTextCtrl* TextCtrl10; wxTextCtrl* TextCtrl11; wxStaticText* StaticText16; //*) @@ -158,20 +162,6 @@ class UTP: public wxDialog static const long ID_STATICTEXT13; static const long ID_STATICTEXT14; static const long ID_CHECKBOX1; - static const long ID_STATICTEXT6; - static const long ID_TEXTCTRL6; - static const long ID_STATICLINE1; - static const long ID_STATICLINE2; - static const long ID_STATICTEXT7; - static const long ID_TEXTCTRL7; - static const long ID_STATICTEXT8; - static const long ID_TEXTCTRL8; - static const long ID_STATICLINE3; - static const long ID_STATICLINE4; - static const long ID_STATICTEXT9; - static const long ID_TEXTCTRL9; - static const long ID_STATICTEXT10; - static const long ID_TEXTCTRL10; static const long ID_PANEL3; static const long ID_NOTEBOOK1; static const long ID_STATICTEXT15; diff --git a/GUI/SW1/SRC/resources/Twinax.png b/GUI/SW1/SRC/resources/Twinax.png new file mode 100644 index 0000000..27fbc98 Binary files /dev/null and b/GUI/SW1/SRC/resources/Twinax.png differ diff --git a/GUI/SW1/SRC/resources/coaxial.jpg b/GUI/SW1/SRC/resources/coaxial.jpg new file mode 100644 index 0000000..0562193 Binary files /dev/null and b/GUI/SW1/SRC/resources/coaxial.jpg differ diff --git a/GUI/SW1/SRC/resources/coaxial.png b/GUI/SW1/SRC/resources/coaxial.png new file mode 100644 index 0000000..2a004b7 Binary files /dev/null and b/GUI/SW1/SRC/resources/coaxial.png differ diff --git a/GUI/SW1/SRC/resources/cylindrical.png b/GUI/SW1/SRC/resources/cylindrical.png new file mode 100644 index 0000000..9dfa5db Binary files /dev/null and b/GUI/SW1/SRC/resources/cylindrical.png differ diff --git a/GUI/SW1/SRC/resources/dsub.png b/GUI/SW1/SRC/resources/dsub.png new file mode 100644 index 0000000..65f8900 Binary files /dev/null and b/GUI/SW1/SRC/resources/dsub.png differ diff --git a/GUI/SW1/SRC/resources/flexcable.png b/GUI/SW1/SRC/resources/flexcable.png new file mode 100644 index 0000000..8921999 Binary files /dev/null and b/GUI/SW1/SRC/resources/flexcable.png differ diff --git a/GUI/SW1/SRC/resources/overshield.png b/GUI/SW1/SRC/resources/overshield.png new file mode 100644 index 0000000..75ee1a5 Binary files /dev/null and b/GUI/SW1/SRC/resources/overshield.png differ diff --git a/GUI/SW1/SRC/resources/spacewire.png b/GUI/SW1/SRC/resources/spacewire.png new file mode 100644 index 0000000..cf2e4a6 Binary files /dev/null and b/GUI/SW1/SRC/resources/spacewire.png differ diff --git a/GUI/SW1/SRC/resources/stp.png b/GUI/SW1/SRC/resources/stp.png new file mode 100644 index 0000000..3041bed Binary files /dev/null and b/GUI/SW1/SRC/resources/stp.png differ diff --git a/GUI/SW1/SRC/resources/tp.png b/GUI/SW1/SRC/resources/tp.png new file mode 100644 index 0000000..a32f7ea Binary files /dev/null and b/GUI/SW1/SRC/resources/tp.png differ -- libgit2 0.21.2