12 PANEL_ATTENUATORS_BASE::PANEL_ATTENUATORS_BASE( wxWindow* parent, wxWindowID
id,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString&
name ) :
CALCULATOR_PANEL( parent, id, pos, size, style,
name )
14 wxBoxSizer* bSizerAtt;
15 bSizerAtt =
new wxBoxSizer( wxHORIZONTAL );
17 wxBoxSizer* bLeftSizerAtt;
18 bLeftSizerAtt =
new wxBoxSizer( wxVERTICAL );
20 bLeftSizerAtt->SetMinSize( wxSize( 260,-1 ) );
21 wxString m_AttenuatorsSelectionChoices[] = {
_(
"Pi"),
_(
"Tee"),
_(
"Bridged tee"),
_(
"Resistive splitter") };
22 int m_AttenuatorsSelectionNChoices =
sizeof( m_AttenuatorsSelectionChoices ) /
sizeof( wxString );
23 m_AttenuatorsSelection =
new wxRadioBox(
this, wxID_ANY,
_(
"Attenuators"), wxDefaultPosition, wxDefaultSize, m_AttenuatorsSelectionNChoices, m_AttenuatorsSelectionChoices, 1, wxRA_SPECIFY_COLS );
28 bLeftSizerAtt->Add( 0, 5, 0, wxEXPAND, 5 );
30 m_attenuatorBitmap =
new wxStaticBitmap(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
34 bSizerAtt->Add( bLeftSizerAtt, 0, wxEXPAND|wxRIGHT, 5 );
36 wxBoxSizer* bMiddleSizerAtt;
37 bMiddleSizerAtt =
new wxBoxSizer( wxVERTICAL );
39 wxStaticBoxSizer* sbSizerAttPrms;
40 sbSizerAttPrms =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Parameters") ), wxVERTICAL );
42 wxFlexGridSizer* fgSizerAttPrms;
43 fgSizerAttPrms =
new wxFlexGridSizer( 3, 3, 3, 0 );
44 fgSizerAttPrms->AddGrowableRow( 1 );
45 fgSizerAttPrms->SetFlexibleDirection( wxBOTH );
46 fgSizerAttPrms->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
48 m_attenuationLabel =
new wxStaticText( sbSizerAttPrms->GetStaticBox(), wxID_ANY,
_(
"Attenuation (a):"), wxDefaultPosition, wxDefaultSize, 0 );
52 m_AttValueCtrl =
new wxTextCtrl( sbSizerAttPrms->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
53 fgSizerAttPrms->Add(
m_AttValueCtrl, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
55 m_attUnit =
new wxStaticText( sbSizerAttPrms->GetStaticBox(), wxID_ANY,
_(
"dB"), wxDefaultPosition, wxDefaultSize, 0 );
57 fgSizerAttPrms->Add(
m_attUnit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
59 m_attenuationZinLabel =
new wxStaticText( sbSizerAttPrms->GetStaticBox(), wxID_ANY,
_(
"Zin:"), wxDefaultPosition, wxDefaultSize, 0 );
63 m_ZinValueCtrl =
new wxTextCtrl( sbSizerAttPrms->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
64 fgSizerAttPrms->Add(
m_ZinValueCtrl, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
66 m_attZinUnit =
new wxStaticText( sbSizerAttPrms->GetStaticBox(), wxID_ANY,
_(
"Ohms"), wxDefaultPosition, wxDefaultSize, 0 );
68 fgSizerAttPrms->Add(
m_attZinUnit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
70 m_ZoutLabel =
new wxStaticText( sbSizerAttPrms->GetStaticBox(), wxID_ANY,
_(
"Zout:"), wxDefaultPosition, wxDefaultSize, 0 );
72 fgSizerAttPrms->Add(
m_ZoutLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
74 m_ZoutValueCtrl =
new wxTextCtrl( sbSizerAttPrms->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
75 fgSizerAttPrms->Add(
m_ZoutValueCtrl, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
77 m_attZoutUnit =
new wxStaticText( sbSizerAttPrms->GetStaticBox(), wxID_ANY,
_(
"Ohms"), wxDefaultPosition, wxDefaultSize, 0 );
79 fgSizerAttPrms->Add(
m_attZoutUnit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
82 sbSizerAttPrms->Add( fgSizerAttPrms, 0, wxEXPAND|wxBOTTOM, 5 );
85 bMiddleSizerAtt->Add( sbSizerAttPrms, 0, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 );
87 wxBoxSizer* bSizerAttButt;
88 bSizerAttButt =
new wxBoxSizer( wxHORIZONTAL );
90 m_buttonAlcAtt =
new wxButton(
this, wxID_ANY,
_(
"Calculate"), wxDefaultPosition, wxDefaultSize, 0 );
91 bSizerAttButt->Add(
m_buttonAlcAtt, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
93 m_bpButtonCalcAtt =
new wxBitmapButton(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
97 bMiddleSizerAtt->Add( bSizerAttButt, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
99 wxStaticBoxSizer* sbSizerAttValues;
100 sbSizerAttValues =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Values") ), wxVERTICAL );
102 wxFlexGridSizer* fgSizerAttResults;
103 fgSizerAttResults =
new wxFlexGridSizer( 3, 3, 3, 0 );
104 fgSizerAttResults->AddGrowableCol( 1 );
105 fgSizerAttResults->SetFlexibleDirection( wxBOTH );
106 fgSizerAttResults->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
108 m_attenuatorR1Label =
new wxStaticText( sbSizerAttValues->GetStaticBox(), wxID_ANY,
_(
"R1:"), wxDefaultPosition, wxDefaultSize, 0 );
112 m_Att_R1_Value =
new wxTextCtrl( sbSizerAttValues->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
113 fgSizerAttResults->Add(
m_Att_R1_Value, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND, 5 );
115 m_attR1Unit =
new wxStaticText( sbSizerAttValues->GetStaticBox(), wxID_ANY,
_(
"Ohms"), wxDefaultPosition, wxDefaultSize, 0 );
117 fgSizerAttResults->Add(
m_attR1Unit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
119 m_attenuatorR2Label =
new wxStaticText( sbSizerAttValues->GetStaticBox(), wxID_ANY,
_(
"R2:"), wxDefaultPosition, wxDefaultSize, 0 );
123 m_Att_R2_Value =
new wxTextCtrl( sbSizerAttValues->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
124 fgSizerAttResults->Add(
m_Att_R2_Value, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND, 5 );
126 m_attR2Unit =
new wxStaticText( sbSizerAttValues->GetStaticBox(), wxID_ANY,
_(
"Ohms"), wxDefaultPosition, wxDefaultSize, 0 );
128 fgSizerAttResults->Add(
m_attR2Unit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
130 m_attenuatorR3Label =
new wxStaticText( sbSizerAttValues->GetStaticBox(), wxID_ANY,
_(
"R3:"), wxDefaultPosition, wxDefaultSize, 0 );
134 m_Att_R3_Value =
new wxTextCtrl( sbSizerAttValues->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
135 fgSizerAttResults->Add(
m_Att_R3_Value, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
137 m_attR3Unit =
new wxStaticText( sbSizerAttValues->GetStaticBox(), wxID_ANY,
_(
"Ohms"), wxDefaultPosition, wxDefaultSize, 0 );
139 fgSizerAttResults->Add(
m_attR3Unit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
142 sbSizerAttValues->Add( fgSizerAttResults, 0, wxEXPAND|wxBOTTOM, 5 );
145 bMiddleSizerAtt->Add( sbSizerAttValues, 0, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 );
147 wxBoxSizer* bSizerMessages;
148 bSizerMessages =
new wxBoxSizer( wxVERTICAL );
150 wxBoxSizer* bSizerIndentLabel;
151 bSizerIndentLabel =
new wxBoxSizer( wxHORIZONTAL );
153 m_staticTextAttMsg =
new wxStaticText(
this, wxID_ANY,
_(
"Messages"), wxDefaultPosition, wxDefaultSize, 0 );
158 bSizerMessages->Add( bSizerIndentLabel, 0, wxLEFT, 6 );
164 bMiddleSizerAtt->Add( bSizerMessages, 1, wxEXPAND|wxLEFT, 3 );
167 bSizerAtt->Add( bMiddleSizerAtt, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
169 wxStaticBoxSizer* sbRightSizerFormula;
170 sbRightSizerFormula =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Formula") ), wxVERTICAL );
172 m_panelAttFormula =
new HTML_WINDOW( sbRightSizerFormula->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHW_SCROLLBAR_AUTO );
176 bSizerAtt->Add( sbRightSizerFormula, 1, wxEXPAND|wxALL, 5 );
179 this->SetSizer( bSizerAtt );
wxTextCtrl * m_ZoutValueCtrl
virtual void OnAttenuatorSelection(wxCommandEvent &event)
wxStaticText * m_attenuationZinLabel
wxStaticText * m_attZinUnit
wxStaticBitmap * m_attenuatorBitmap
wxStaticText * m_attenuationLabel
PANEL_ATTENUATORS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(500, 300), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
wxRadioBox * m_AttenuatorsSelection
wxTextCtrl * m_Att_R1_Value
wxTextCtrl * m_AttValueCtrl
wxStaticText * m_attenuatorR1Label
wxStaticText * m_attenuatorR2Label
wxStaticText * m_attR1Unit
HTML_WINDOW * m_panelAttFormula
wxTextCtrl * m_Att_R3_Value
Add dark theme support to wxHtmlWindow.
wxTextCtrl * m_ZinValueCtrl
wxStaticText * m_attR2Unit
wxStaticText * m_attR3Unit
wxBitmapButton * m_bpButtonCalcAtt
HTML_WINDOW * m_Attenuator_Messages
wxStaticText * m_attZoutUnit
wxStaticText * m_ZoutLabel
wxTextCtrl * m_Att_R2_Value
virtual void OnCalculateAttenuator(wxCommandEvent &event)
~PANEL_ATTENUATORS_BASE()
wxStaticText * m_staticTextAttMsg
wxStaticText * m_attenuatorR3Label
wxButton * m_buttonAlcAtt