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 );
37 bSizerType->Add(
m_choiceRegType, 1, wxLEFT|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
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, 10, 0, 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_BOLD,
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 );
76 bSizer9 =
new wxBoxSizer( wxVERTICAL );
78 wxStaticBoxSizer* sbSizerRegulatorsChooser;
79 sbSizerRegulatorsChooser =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Regulator") ), wxVERTICAL );
81 wxArrayString m_choiceRegulatorSelectorChoices;
82 m_choiceRegulatorSelector =
new wxChoice( sbSizerRegulatorsChooser->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceRegulatorSelectorChoices, 0 );
86 m_staticTextRegFile =
new wxStaticText( sbSizerRegulatorsChooser->GetStaticBox(), wxID_ANY,
_(
"Regulators data file:"), wxDefaultPosition, wxDefaultSize, 0 );
88 m_staticTextRegFile->SetToolTip(
_(
"The name of the data file which stores known regulators parameters.") );
92 wxBoxSizer* bSizerDataFile;
93 bSizerDataFile =
new wxBoxSizer( wxHORIZONTAL );
95 m_regulators_fileNameCtrl =
new wxTextCtrl( sbSizerRegulatorsChooser->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
98 m_buttonDataFile =
new wxButton( sbSizerRegulatorsChooser->GetStaticBox(), wxID_ANY,
_(
"Browse"), wxDefaultPosition, wxDefaultSize, 0 );
102 sbSizerRegulatorsChooser->Add( bSizerDataFile, 1, wxEXPAND, 5 );
104 wxBoxSizer* bSizerReulBtn;
105 bSizerReulBtn =
new wxBoxSizer( wxHORIZONTAL );
107 m_buttonEditItem =
new wxButton( sbSizerRegulatorsChooser->GetStaticBox(), wxID_ANY,
_(
"Edit Regulator"), wxDefaultPosition, wxDefaultSize, 0 );
112 m_buttonAddItem =
new wxButton( sbSizerRegulatorsChooser->GetStaticBox(), wxID_ANY,
_(
"Add Regulator"), wxDefaultPosition, wxDefaultSize, 0 );
113 m_buttonAddItem->SetToolTip(
_(
"Enter a new item to the current list of available regulators") );
117 m_buttonRemoveItem =
new wxButton( sbSizerRegulatorsChooser->GetStaticBox(), wxID_ANY,
_(
"Remove Regulator"), wxDefaultPosition, wxDefaultSize, 0 );
118 m_buttonRemoveItem->SetToolTip(
_(
"Remove an item from the current list of available regulators") );
123 sbSizerRegulatorsChooser->Add( bSizerReulBtn, 1, wxEXPAND, 5 );
126 bSizer9->Add( sbSizerRegulatorsChooser, 0, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 );
129 bSizer9->Add( 0, 10, 1, wxEXPAND, 5 );
131 wxFlexGridSizer* fgSizerRegParams;
132 fgSizerRegParams =
new wxFlexGridSizer( 6, 4, 4, 0 );
133 fgSizerRegParams->AddGrowableCol( 2 );
134 fgSizerRegParams->SetFlexibleDirection( wxBOTH );
135 fgSizerRegParams->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
137 m_rbRegulR1 =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
139 fgSizerRegParams->Add(
m_rbRegulR1, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
141 m_labelRegultR1 =
new wxStaticText(
this, wxID_ANY,
_(
"R1:"), wxDefaultPosition, wxDefaultSize, 0 );
143 fgSizerRegParams->Add(
m_labelRegultR1, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
145 m_RegulR1Value =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
146 fgSizerRegParams->Add(
m_RegulR1Value, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 );
148 m_r1Units =
new wxStaticText(
this, wxID_ANY,
_(
"kOhm"), wxDefaultPosition, wxDefaultSize, 0 );
150 fgSizerRegParams->Add(
m_r1Units, 0, wxALIGN_CENTER_VERTICAL, 5 );
152 m_rbRegulR2 =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
153 fgSizerRegParams->Add(
m_rbRegulR2, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
155 m_labelRegultR2 =
new wxStaticText(
this, wxID_ANY,
_(
"R2:"), wxDefaultPosition, wxDefaultSize, 0 );
157 fgSizerRegParams->Add(
m_labelRegultR2, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
159 m_RegulR2Value =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
160 fgSizerRegParams->Add(
m_RegulR2Value, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 );
162 m_r2Units =
new wxStaticText(
this, wxID_ANY,
_(
"kOhm"), wxDefaultPosition, wxDefaultSize, 0 );
164 fgSizerRegParams->Add(
m_r2Units, 0, wxALIGN_CENTER_VERTICAL, 5 );
166 m_rbRegulVout =
new wxRadioButton(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
167 fgSizerRegParams->Add(
m_rbRegulVout, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
169 m_labelVout =
new wxStaticText(
this, wxID_ANY,
_(
"Vout:"), wxDefaultPosition, wxDefaultSize, 0 );
171 fgSizerRegParams->Add(
m_labelVout, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
173 m_RegulVoutValue =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
176 m_unitsVout =
new wxStaticText(
this, wxID_ANY,
_(
"V"), wxDefaultPosition, wxDefaultSize, 0 );
178 fgSizerRegParams->Add(
m_unitsVout, 0, wxALIGN_CENTER_VERTICAL, 5 );
181 fgSizerRegParams->Add( 0, 0, 1, wxEXPAND, 5 );
183 m_labelVRef =
new wxStaticText(
this, wxID_ANY,
_(
"Vref:"), wxDefaultPosition, wxDefaultSize, 0 );
185 m_labelVRef->SetToolTip(
_(
"The internal reference voltage of the regulator.\nShould not be 0.") );
187 fgSizerRegParams->Add(
m_labelVRef, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
189 m_RegulVrefValue =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
192 m_unitsVref =
new wxStaticText(
this, wxID_ANY,
_(
"V"), wxDefaultPosition, wxDefaultSize, 0 );
194 fgSizerRegParams->Add(
m_unitsVref, 0, wxALIGN_CENTER_VERTICAL, 5 );
197 fgSizerRegParams->Add( 0, 0, 1, wxEXPAND, 5 );
199 m_RegulIadjTitle =
new wxStaticText(
this, wxID_ANY,
_(
"Iadj:"), wxDefaultPosition, wxDefaultSize, 0 );
201 m_RegulIadjTitle->SetToolTip(
_(
"For 3 terminal regulators only, the Adjust pin current.") );
203 fgSizerRegParams->Add(
m_RegulIadjTitle, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
205 m_RegulIadjValue =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
208 m_IadjUnitLabel =
new wxStaticText(
this, wxID_ANY,
_(
"uA"), wxDefaultPosition, wxDefaultSize, 0 );
210 fgSizerRegParams->Add(
m_IadjUnitLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
213 bSizer9->Add( fgSizerRegParams, 0, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 10 );
216 bSizerRegulRight->Add( bSizer9, 0, 0, 5 );
218 wxBoxSizer* bSizerRegulButtonCalcReset;
219 bSizerRegulButtonCalcReset =
new wxBoxSizer( wxHORIZONTAL );
221 m_buttonCalculate =
new wxButton(
this, wxID_ANY,
_(
"Calculate"), wxDefaultPosition, wxDefaultSize, 0 );
227 bSizerRegulRight->Add( bSizerRegulButtonCalcReset, 0, wxEXPAND|wxLEFT, 5 );
229 m_RegulMessage =
new wxStaticText(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
234 bSizerRegulRight->Add( 0, 0, 1, wxEXPAND, 5 );
236 m_buttonRegulReset =
new wxButton(
this, wxID_ANY,
_(
"Reset to Defaults"), wxDefaultPosition, wxDefaultSize, 0 );
237 bSizerRegulRight->Add(
m_buttonRegulReset, 0, wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxRIGHT, 10 );
240 bSizerColBalancer->Add( bSizerRegulRight, 1, wxEXPAND|wxLEFT, 10 );
243 bSizerMainReg->Add( bSizerColBalancer, 1, wxEXPAND, 5 );
246 this->SetSizer( bSizerMainReg );
248 bSizerMainReg->Fit(
this );
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(-1,-1), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)