12PANEL_REGULATOR_BASE::PANEL_REGULATOR_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* bSizerMainReg;
15 bSizerMainReg =
new wxBoxSizer( wxVERTICAL );
17 wxBoxSizer* bSizerColBalancer;
18 bSizerColBalancer =
new wxBoxSizer( wxHORIZONTAL );
20 wxBoxSizer* bSizeLeftpReg;
21 bSizeLeftpReg =
new wxBoxSizer( wxVERTICAL );
23 bSizeLeftpReg->SetMinSize( wxSize( 400,-1 ) );
24 wxBoxSizer* bSizerType;
25 bSizerType =
new wxBoxSizer( wxHORIZONTAL );
27 m_staticTextRegType =
new wxStaticText(
this, wxID_ANY,
_(
"Type:"), wxDefaultPosition, wxDefaultSize, 0 );
29 m_staticTextRegType->SetToolTip(
_(
"Type of the regulator.\nThere are 2 types:\n- regulators which have a dedicated sense pin for the voltage regulation.\n- 3 terminal pins.") );
33 wxString m_choiceRegTypeChoices[] = {
_(
"Standard Type"),
_(
"3 Terminal Type") };
34 int m_choiceRegTypeNChoices =
sizeof( m_choiceRegTypeChoices ) /
sizeof( wxString );
35 m_choiceRegType =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceRegTypeNChoices, m_choiceRegTypeChoices, 0 );
40 bSizeLeftpReg->Add( bSizerType, 0, wxEXPAND|wxALL, 5 );
43 bSizeLeftpReg->Add( 0, 10, 0, wxEXPAND, 5 );
45 m_bitmapRegul4pins =
new wxStaticBitmap(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
46 bSizeLeftpReg->Add(
m_bitmapRegul4pins, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 10 );
48 m_bitmapRegul3pins =
new wxStaticBitmap(
this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
52 bSizeLeftpReg->Add( 0, 0, 1, wxEXPAND, 5 );
54 wxStaticBoxSizer* sbSizerRegFormula;
55 sbSizerRegFormula =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Formula") ), wxVERTICAL );
57 m_RegulFormula =
new wxStaticText( sbSizerRegFormula->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
59 m_RegulFormula->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL,
false, wxEmptyString ) );
61 sbSizerRegFormula->Add(
m_RegulFormula, 0, wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
64 bSizeLeftpReg->Add( sbSizerRegFormula, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
67 bSizerColBalancer->Add( bSizeLeftpReg, 0, wxTOP|wxRIGHT|wxEXPAND, 6 );
70 bSizerColBalancer->Add( 10, 0, 0, wxEXPAND, 5 );
72 wxBoxSizer* bSizerRegulRight;
73 bSizerRegulRight =
new wxBoxSizer( wxVERTICAL );
75 wxFlexGridSizer* fgSizerRegParams;
76 fgSizerRegParams =
new wxFlexGridSizer( 6, 4, 4, 0 );
77 fgSizerRegParams->AddGrowableCol( 2 );
78 fgSizerRegParams->SetFlexibleDirection( wxBOTH );
79 fgSizerRegParams->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
81 m_rbRegulR1 =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
83 fgSizerRegParams->Add(
m_rbRegulR1, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
85 m_labelRegultR1 =
new wxStaticText(
this, wxID_ANY,
_(
"R1:"), wxDefaultPosition, wxDefaultSize, 0 );
87 fgSizerRegParams->Add(
m_labelRegultR1, 0, wxALIGN_CENTER_VERTICAL, 5 );
89 m_RegulR1Value =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
90 fgSizerRegParams->Add(
m_RegulR1Value, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
92 m_r1Units =
new wxStaticText(
this, wxID_ANY,
_(
"kOhm"), wxDefaultPosition, wxDefaultSize, 0 );
94 fgSizerRegParams->Add(
m_r1Units, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
96 m_rbRegulR2 =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
97 fgSizerRegParams->Add(
m_rbRegulR2, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
99 m_labelRegultR2 =
new wxStaticText(
this, wxID_ANY,
_(
"R2:"), wxDefaultPosition, wxDefaultSize, 0 );
101 fgSizerRegParams->Add(
m_labelRegultR2, 0, wxALIGN_CENTER_VERTICAL, 5 );
103 m_RegulR2Value =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
104 fgSizerRegParams->Add(
m_RegulR2Value, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
106 m_r2Units =
new wxStaticText(
this, wxID_ANY,
_(
"kOhm"), wxDefaultPosition, wxDefaultSize, 0 );
108 fgSizerRegParams->Add(
m_r2Units, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
110 m_rbRegulVout =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
111 fgSizerRegParams->Add(
m_rbRegulVout, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
113 m_labelVout =
new wxStaticText(
this, wxID_ANY,
_(
"Vout:"), wxDefaultPosition, wxDefaultSize, 0 );
115 fgSizerRegParams->Add(
m_labelVout, 0, wxALIGN_CENTER_VERTICAL, 5 );
117 m_RegulVoutValue =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
118 fgSizerRegParams->Add(
m_RegulVoutValue, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
120 m_unitsVout =
new wxStaticText(
this, wxID_ANY,
_(
"V"), wxDefaultPosition, wxDefaultSize, 0 );
122 fgSizerRegParams->Add(
m_unitsVout, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
125 fgSizerRegParams->Add( 0, 0, 1, wxEXPAND, 5 );
127 m_labelVRef =
new wxStaticText(
this, wxID_ANY,
_(
"Vref:"), wxDefaultPosition, wxDefaultSize, 0 );
129 m_labelVRef->SetToolTip(
_(
"The internal reference voltage of the regulator.\nShould not be 0.") );
131 fgSizerRegParams->Add(
m_labelVRef, 0, wxALIGN_CENTER_VERTICAL, 5 );
133 m_RegulVrefValue =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
134 fgSizerRegParams->Add(
m_RegulVrefValue, 0, wxEXPAND|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
136 m_unitsVref =
new wxStaticText(
this, wxID_ANY,
_(
"V"), wxDefaultPosition, wxDefaultSize, 0 );
138 fgSizerRegParams->Add(
m_unitsVref, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
141 fgSizerRegParams->Add( 0, 0, 1, wxEXPAND, 5 );
143 m_RegulIadjTitle =
new wxStaticText(
this, wxID_ANY,
_(
"Iadj:"), wxDefaultPosition, wxDefaultSize, 0 );
145 m_RegulIadjTitle->SetToolTip(
_(
"For 3 terminal regulators only, the Adjust pin current.") );
149 m_RegulIadjValue =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
150 fgSizerRegParams->Add(
m_RegulIadjValue, 0, wxEXPAND|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
152 m_IadjUnitLabel =
new wxStaticText(
this, wxID_ANY,
_(
"uA"), wxDefaultPosition, wxDefaultSize, 0 );
154 fgSizerRegParams->Add(
m_IadjUnitLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
157 bSizerRegulRight->Add( fgSizerRegParams, 0, wxEXPAND|wxBOTTOM|wxRIGHT, 5 );
159 wxBoxSizer* bSizerRegulButtonCalcReset;
160 bSizerRegulButtonCalcReset =
new wxBoxSizer( wxHORIZONTAL );
163 bSizerRegulButtonCalcReset->Add( 0, 0, 3, wxEXPAND, 5 );
165 m_buttonCalculate =
new wxButton(
this, wxID_ANY,
_(
"Calculate"), wxDefaultPosition, wxDefaultSize, 0 );
169 bSizerRegulButtonCalcReset->Add( 0, 0, 2, wxEXPAND, 5 );
171 m_buttonRegulReset =
new wxButton(
this, wxID_ANY,
_(
"Reset to Defaults"), wxDefaultPosition, wxDefaultSize, 0 );
175 bSizerRegulButtonCalcReset->Add( 0, 0, 3, wxEXPAND, 5 );
178 bSizerRegulRight->Add( bSizerRegulButtonCalcReset, 0, wxEXPAND|wxLEFT, 30 );
180 m_RegulMessage =
new wxStaticText(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
184 wxStaticBoxSizer* sbSizerRegulatorsChooser;
185 sbSizerRegulatorsChooser =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Regulator") ), wxVERTICAL );
187 wxArrayString m_choiceRegulatorSelectorChoices;
188 m_choiceRegulatorSelector =
new wxChoice( sbSizerRegulatorsChooser->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceRegulatorSelectorChoices, 0 );
192 m_staticTextRegFile =
new wxStaticText( sbSizerRegulatorsChooser->GetStaticBox(), wxID_ANY,
_(
"Regulators data file:"), wxDefaultPosition, wxDefaultSize, 0 );
194 m_staticTextRegFile->SetToolTip(
_(
"The name of the data file which stores known regulators parameters.") );
198 wxBoxSizer* bSizerDataFile;
199 bSizerDataFile =
new wxBoxSizer( wxHORIZONTAL );
201 m_regulators_fileNameCtrl =
new wxTextCtrl( sbSizerRegulatorsChooser->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
204 m_buttonDataFile =
new wxButton( sbSizerRegulatorsChooser->GetStaticBox(), wxID_ANY,
_(
"Browse"), wxDefaultPosition, wxDefaultSize, 0 );
208 sbSizerRegulatorsChooser->Add( bSizerDataFile, 1, wxEXPAND, 5 );
210 wxBoxSizer* bSizerReulBtn;
211 bSizerReulBtn =
new wxBoxSizer( wxHORIZONTAL );
213 m_buttonEditItem =
new wxButton( sbSizerRegulatorsChooser->GetStaticBox(), wxID_ANY,
_(
"Edit Regulator"), wxDefaultPosition, wxDefaultSize, 0 );
218 m_buttonAddItem =
new wxButton( sbSizerRegulatorsChooser->GetStaticBox(), wxID_ANY,
_(
"Add Regulator"), wxDefaultPosition, wxDefaultSize, 0 );
219 m_buttonAddItem->SetToolTip(
_(
"Enter a new item to the current list of available regulators") );
223 m_buttonRemoveItem =
new wxButton( sbSizerRegulatorsChooser->GetStaticBox(), wxID_ANY,
_(
"Remove Regulator"), wxDefaultPosition, wxDefaultSize, 0 );
224 m_buttonRemoveItem->SetToolTip(
_(
"Remove an item from the current list of available regulators") );
229 sbSizerRegulatorsChooser->Add( bSizerReulBtn, 1, wxEXPAND, 5 );
232 bSizerRegulRight->Add( sbSizerRegulatorsChooser, 0, wxEXPAND|wxRIGHT, 10 );
235 bSizerColBalancer->Add( bSizerRegulRight, 1, wxEXPAND|wxTOP|wxLEFT, 10 );
238 bSizerMainReg->Add( bSizerColBalancer, 0, wxEXPAND, 5 );
241 this->SetSizer( bSizerMainReg );
wxStaticText * m_RegulFormula
wxButton * m_buttonEditItem
virtual void OnRegulatorSelection(wxCommandEvent &event)
wxStaticText * m_unitsVref
virtual void OnRemoveRegulator(wxCommandEvent &event)
wxButton * m_buttonRegulReset
virtual void OnRegulTypeSelection(wxCommandEvent &event)
wxStaticText * m_RegulMessage
wxStaticText * m_unitsVout
wxStaticText * m_labelVRef
wxButton * m_buttonRemoveItem
wxTextCtrl * m_RegulR2Value
wxButton * m_buttonDataFile
wxStaticText * m_IadjUnitLabel
wxTextCtrl * m_RegulVrefValue
wxStaticText * m_labelRegultR1
wxChoice * m_choiceRegType
wxStaticText * m_staticTextRegType
wxStaticText * m_staticTextRegFile
wxStaticText * m_RegulIadjTitle
wxTextCtrl * m_RegulVoutValue
wxTextCtrl * m_regulators_fileNameCtrl
wxRadioButton * m_rbRegulVout
wxButton * m_buttonAddItem
wxStaticBitmap * m_bitmapRegul4pins
wxChoice * m_choiceRegulatorSelector
wxStaticBitmap * m_bitmapRegul3pins
wxStaticText * m_labelRegultR2
virtual void OnEditRegulator(wxCommandEvent &event)
virtual void OnAddRegulator(wxCommandEvent &event)
wxTextCtrl * m_RegulR1Value
wxButton * m_buttonCalculate
virtual void OnRegulatorCalcButtonClick(wxCommandEvent &event)
virtual void OnRegulatorResetButtonClick(wxCommandEvent &event)
virtual void OnDataFileSelection(wxCommandEvent &event)
wxRadioButton * m_rbRegulR2
wxStaticText * m_labelVout
wxTextCtrl * m_RegulIadjValue
wxRadioButton * m_rbRegulR1
PANEL_REGULATOR_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(688, 436), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)