pcb_calculator: fixes and enhancements (not finished)
This commit is contained in:
parent
7ce97878e8
commit
70cf189132
|
@ -127,6 +127,8 @@ PCB_CALCULATOR_FRAME_BASE::PCB_CALCULATOR_FRAME_BASE( wxWindow* parent, wxWindow
|
|||
|
||||
m_labelVRef = new wxStaticText( m_panelRegulators, wxID_ANY, _("Vref"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_labelVRef->Wrap( -1 );
|
||||
m_labelVRef->SetToolTip( _("The internal reference voltage of the regulator.\nShould not be 0.") );
|
||||
|
||||
fgSizerRegParams->Add( m_labelVRef, 0, wxALL, 5 );
|
||||
|
||||
m_RegulVrefValue = new wxTextCtrl( m_panelRegulators, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
|
@ -141,6 +143,8 @@ PCB_CALCULATOR_FRAME_BASE::PCB_CALCULATOR_FRAME_BASE( wxWindow* parent, wxWindow
|
|||
|
||||
m_RegulIadjTitle = new wxStaticText( m_panelRegulators, wxID_ANY, _("Iadj"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_RegulIadjTitle->Wrap( -1 );
|
||||
m_RegulIadjTitle->SetToolTip( _("For 3 terminal regulators only, the Adjust pin current.") );
|
||||
|
||||
fgSizerRegParams->Add( m_RegulIadjTitle, 0, wxALL, 5 );
|
||||
|
||||
m_RegulIadjValue = new wxTextCtrl( m_panelRegulators, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
|
@ -155,6 +159,8 @@ PCB_CALCULATOR_FRAME_BASE::PCB_CALCULATOR_FRAME_BASE( wxWindow* parent, wxWindow
|
|||
|
||||
m_staticTextRegType = new wxStaticText( m_panelRegulators, wxID_ANY, _("Type"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextRegType->Wrap( -1 );
|
||||
m_staticTextRegType->SetToolTip( _("Type of the regulator.\nThere are 2 types:\n- regulators which have a dedicted sense pin for the voltage regulation.\n- 3 terminal pins.") );
|
||||
|
||||
fgSizerRegParams->Add( m_staticTextRegType, 0, wxALL, 5 );
|
||||
|
||||
wxString m_choiceRegTypeChoices[] = { _("Standard Type"), _("3 Terminal Type") };
|
||||
|
@ -182,26 +188,28 @@ PCB_CALCULATOR_FRAME_BASE::PCB_CALCULATOR_FRAME_BASE( wxWindow* parent, wxWindow
|
|||
|
||||
m_staticTextRegFile = new wxStaticText( m_panelRegulators, wxID_ANY, _("Regulators data file:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticTextRegFile->Wrap( -1 );
|
||||
m_staticTextRegFile->SetToolTip( _("The name of the data file which stores known regulators parameters.") );
|
||||
|
||||
sbSizerRegulatorsChooser->Add( m_staticTextRegFile, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_regulators_filePicker = new wxFilePickerCtrl( m_panelRegulators, wxID_ANY, wxEmptyString, _("Select a file"), wxT("*.pcbcalc"), wxDefaultPosition, wxDefaultSize, wxFLP_SAVE|wxFLP_USE_TEXTCTRL );
|
||||
m_regulators_filePicker = new wxFilePickerCtrl( m_panelRegulators, wxID_ANY, wxEmptyString, _("Select a Pcb Calculator data file"), wxT("*.pcbcalc"), wxDefaultPosition, wxDefaultSize, wxFLP_SAVE|wxFLP_USE_TEXTCTRL );
|
||||
sbSizerRegulatorsChooser->Add( m_regulators_filePicker, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
wxBoxSizer* bSizerReulBtn;
|
||||
bSizerReulBtn = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
m_buttonEditItem = new wxButton( m_panelRegulators, wxID_ANY, _("Edit Regulator"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_buttonEditItem->SetToolTip( _("Enter a new item in the current list of availlable regulators") );
|
||||
m_buttonEditItem->SetToolTip( _("Edit the current selected regulator.") );
|
||||
|
||||
bSizerReulBtn->Add( m_buttonEditItem, 0, wxALL, 5 );
|
||||
|
||||
m_buttonAddItem = new wxButton( m_panelRegulators, wxID_ANY, _("Add Regulator"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_buttonAddItem->SetToolTip( _("Enter a new item in the current list of availlable regulators") );
|
||||
m_buttonAddItem->SetToolTip( _("Enter a new item to the current list of available regulators") );
|
||||
|
||||
bSizerReulBtn->Add( m_buttonAddItem, 1, wxALL, 5 );
|
||||
|
||||
m_buttonRemoveItem = new wxButton( m_panelRegulators, wxID_ANY, _("Remove Regulator"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_buttonRemoveItem->SetToolTip( _("Remove an item in the current list of availlable regulators") );
|
||||
m_buttonRemoveItem->SetToolTip( _("Remove an item from the current list of available regulators") );
|
||||
|
||||
bSizerReulBtn->Add( m_buttonRemoveItem, 1, wxALL, 5 );
|
||||
|
||||
|
@ -1241,6 +1249,7 @@ PCB_CALCULATOR_FRAME_BASE::PCB_CALCULATOR_FRAME_BASE( wxWindow* parent, wxWindow
|
|||
this->Centre( wxBOTH );
|
||||
|
||||
// Connect Events
|
||||
this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( PCB_CALCULATOR_FRAME_BASE::OnClosePcbCalc ) );
|
||||
m_choiceRegType->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PCB_CALCULATOR_FRAME_BASE::OnRegulTypeSelection ), NULL, this );
|
||||
m_buttonCalculate->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PCB_CALCULATOR_FRAME_BASE::OnRegulatorCalcButtonClick ), NULL, this );
|
||||
m_choiceRegulatorSelector->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PCB_CALCULATOR_FRAME_BASE::OnRegulatorSelection ), NULL, this );
|
||||
|
@ -1269,6 +1278,7 @@ PCB_CALCULATOR_FRAME_BASE::PCB_CALCULATOR_FRAME_BASE( wxWindow* parent, wxWindow
|
|||
PCB_CALCULATOR_FRAME_BASE::~PCB_CALCULATOR_FRAME_BASE()
|
||||
{
|
||||
// Disconnect Events
|
||||
this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( PCB_CALCULATOR_FRAME_BASE::OnClosePcbCalc ) );
|
||||
m_choiceRegType->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PCB_CALCULATOR_FRAME_BASE::OnRegulTypeSelection ), NULL, this );
|
||||
m_buttonCalculate->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PCB_CALCULATOR_FRAME_BASE::OnRegulatorCalcButtonClick ), NULL, this );
|
||||
m_choiceRegulatorSelector->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( PCB_CALCULATOR_FRAME_BASE::OnRegulatorSelection ), NULL, this );
|
||||
|
|
|
@ -94,7 +94,7 @@
|
|||
<event name="OnAuiPaneRestore"></event>
|
||||
<event name="OnAuiRender"></event>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnClose"></event>
|
||||
<event name="OnClose">OnClosePcbCalc</event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnHibernate"></event>
|
||||
|
@ -1920,7 +1920,7 @@
|
|||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="tooltip">The internal reference voltage of the regulator.
Should not be 0.</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
|
@ -2195,7 +2195,7 @@
|
|||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="tooltip">For 3 terminal regulators only, the Adjust pin current.</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
|
@ -2470,7 +2470,7 @@
|
|||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="tooltip">Type of the regulator.
There are 2 types:
- regulators which have a dedicted sense pin for the voltage regulation.
- 3 terminal pins.</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
|
@ -2845,7 +2845,7 @@
|
|||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="tooltip">The name of the data file which stores known regulators parameters.</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
|
@ -2914,7 +2914,7 @@
|
|||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="message">Select a file</property>
|
||||
<property name="message">Select a Pcb Calculator data file</property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
|
@ -3031,7 +3031,7 @@
|
|||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip">Enter a new item in the current list of availlable regulators</property>
|
||||
<property name="tooltip">Edit the current selected regulator.</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
|
@ -3119,7 +3119,7 @@
|
|||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip">Enter a new item in the current list of availlable regulators</property>
|
||||
<property name="tooltip">Enter a new item to the current list of available regulators</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
|
@ -3207,7 +3207,7 @@
|
|||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip">Remove an item in the current list of availlable regulators</property>
|
||||
<property name="tooltip">Remove an item from the current list of available regulators</property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
|
@ -7515,7 +7515,7 @@
|
|||
<property name="bitmap"></property>
|
||||
<property name="label">Electrical Spacing</property>
|
||||
<property name="select">0</property>
|
||||
<object class="wxPanel" expanded="1">
|
||||
<object class="wxPanel" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
@ -7593,25 +7593,25 @@
|
|||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizerElectricalClearance</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bLeftSizerElectricalClearance</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxChoice" expanded="1">
|
||||
<object class="wxChoice" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
@ -7695,11 +7695,11 @@
|
|||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND | wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticLine" expanded="1">
|
||||
<object class="wxStaticLine" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
@ -7780,11 +7780,11 @@
|
|||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<object class="wxStaticText" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
@ -7867,11 +7867,11 @@
|
|||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxTextCtrl" expanded="1">
|
||||
<object class="wxTextCtrl" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
@ -7958,11 +7958,11 @@
|
|||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxButton" expanded="1">
|
||||
<object class="wxButton" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
@ -8048,20 +8048,20 @@
|
|||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="1">
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bElectricalSpacingSizerRight</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<object class="wxStaticText" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
@ -8144,11 +8144,11 @@
|
|||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxGrid" expanded="1">
|
||||
<object class="wxGrid" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
@ -8291,11 +8291,11 @@
|
|||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="1">
|
||||
<object class="wxStaticText" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
@ -14968,7 +14968,7 @@
|
|||
<property name="bitmap"></property>
|
||||
<property name="label">RF Attenuators</property>
|
||||
<property name="select">0</property>
|
||||
<object class="wxPanel" expanded="1">
|
||||
<object class="wxPanel" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
|
@ -15046,7 +15046,7 @@
|
|||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
<object class="wxStaticBoxSizer" expanded="1">
|
||||
<object class="wxStaticBoxSizer" expanded="0">
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">label</property>
|
||||
<property name="minimum_size"></property>
|
||||
|
@ -17266,7 +17266,7 @@
|
|||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
|
|
|
@ -259,6 +259,7 @@ class PCB_CALCULATOR_FRAME_BASE : public wxFrame
|
|||
wxPanel* m_panelShowClassPrms;
|
||||
|
||||
// Virtual event handlers, overide them in your derived class
|
||||
virtual void OnClosePcbCalc( wxCloseEvent& event ) { event.Skip(); }
|
||||
virtual void OnRegulTypeSelection( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnRegulatorCalcButtonClick( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnRegulatorSelection( wxCommandEvent& event ) { event.Skip(); }
|
||||
|
|
|
@ -57,7 +57,7 @@ IMPLEMENT_APP( EDA_APP )
|
|||
bool EDA_APP::OnInit()
|
||||
{
|
||||
|
||||
InitEDA_Appl( wxT( "PCBcalc" ) );
|
||||
InitEDA_Appl( wxT( "pcb_calculator" ) );
|
||||
|
||||
wxFrame* frame = new PCB_CALCULATOR_FRAME( NULL );
|
||||
SetTopWindow( frame );
|
||||
|
|
|
@ -46,6 +46,8 @@ public:
|
|||
private:
|
||||
|
||||
// Event handlers
|
||||
void OnClosePcbCalc( wxCloseEvent& event );
|
||||
|
||||
// These 3 functions are called by the OnPaint event, to draw
|
||||
// icons that show the current item on the specific panels
|
||||
void OnPaintTranslinePanel( wxPaintEvent& event );
|
||||
|
@ -64,6 +66,11 @@ private:
|
|||
return m_regulators_filePicker->GetPath();
|
||||
}
|
||||
|
||||
void SetDataFilename( const wxString & aFilename)
|
||||
{
|
||||
m_regulators_filePicker->SetPath( aFilename );
|
||||
}
|
||||
|
||||
// tracks width versus current functions:
|
||||
/**
|
||||
* Function OnTWCalculateButt
|
||||
|
|
|
@ -44,10 +44,10 @@
|
|||
#define KEYWORD_REGUL_R2 wxT( "RegulR2" )
|
||||
#define KEYWORD_REGUL_VREF wxT( "RegulVREF" )
|
||||
#define KEYWORD_REGUL_VOUT wxT( "RegulVOUT" )
|
||||
#define KEYWORD_REGUL_FILENAME wxT( "RegulListFilename" )
|
||||
#define KEYWORD_REGUL_SELECTED wxT( "RegulName" )
|
||||
#define KEYWORD_REGUL_TYPE wxT( "RegulType" )
|
||||
#define KEYWORD_REGUL_LAST_PARAM wxT( "RegulLastParam" )
|
||||
#define KEYWORD_DATAFILE_FILENAME wxT( "DataFilename" )
|
||||
|
||||
PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME( wxWindow* parent ) :
|
||||
PCB_CALCULATOR_FRAME_BASE( parent )
|
||||
|
@ -116,10 +116,6 @@ PCB_CALCULATOR_FRAME::~PCB_CALCULATOR_FRAME()
|
|||
{
|
||||
WriteConfig();
|
||||
|
||||
if( m_RegulatorListChanged )
|
||||
WriteDataFile();
|
||||
|
||||
|
||||
for( unsigned ii = 0; ii < m_transline_list.size(); ii++ )
|
||||
delete m_transline_list[ii];
|
||||
|
||||
|
@ -134,6 +130,37 @@ PCB_CALCULATOR_FRAME::~PCB_CALCULATOR_FRAME()
|
|||
this->Freeze();
|
||||
}
|
||||
|
||||
void PCB_CALCULATOR_FRAME::OnClosePcbCalc( wxCloseEvent& event )
|
||||
{
|
||||
if( m_RegulatorListChanged )
|
||||
{
|
||||
if( GetDataFilename().IsEmpty() )
|
||||
{
|
||||
int opt = wxMessageBox( _("Data modified, and no data filename to save modifications\n"\
|
||||
"Do you want to exit and abandon your change?"),
|
||||
_("Regulator list change"),
|
||||
wxYES_NO | wxICON_QUESTION );
|
||||
if( opt == wxNO )
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( !WriteDataFile() )
|
||||
{
|
||||
wxString msg;
|
||||
msg.Printf( _("Unable to write file<%s>\n"\
|
||||
"Do you want to exit and abandon your change?"), GetDataFilename() );
|
||||
|
||||
int opt = wxMessageBox( msg, _("Write Data File Errror"),
|
||||
wxYES_NO | wxICON_QUESTION );
|
||||
if( opt == wxNO )
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Destroy();
|
||||
}
|
||||
|
||||
void PCB_CALCULATOR_FRAME::ReadConfig()
|
||||
{
|
||||
|
@ -166,8 +193,8 @@ void PCB_CALCULATOR_FRAME::ReadConfig()
|
|||
m_RegulVrefValue->SetValue( msg );
|
||||
m_Config->Read( KEYWORD_REGUL_VOUT, &msg, wxT( "12" ) );
|
||||
m_RegulVoutValue->SetValue( msg );
|
||||
m_Config->Read( KEYWORD_REGUL_FILENAME, &msg, wxT( "" ) );
|
||||
m_regulators_filePicker->SetPath( msg );
|
||||
m_Config->Read( KEYWORD_DATAFILE_FILENAME, &msg, wxT( "" ) );
|
||||
SetDataFilename( msg );
|
||||
m_Config->Read( KEYWORD_REGUL_SELECTED, &msg, wxT( "" ) );
|
||||
m_lastSelectedRegulatorName = msg;
|
||||
m_Config->Read( KEYWORD_REGUL_TYPE, <mp, 0 );
|
||||
|
@ -221,7 +248,7 @@ void PCB_CALCULATOR_FRAME::WriteConfig()
|
|||
m_Config->Write( KEYWORD_REGUL_R2, m_RegulR2Value->GetValue() );
|
||||
m_Config->Write( KEYWORD_REGUL_VREF, m_RegulVrefValue->GetValue() );
|
||||
m_Config->Write( KEYWORD_REGUL_VOUT, m_RegulVoutValue->GetValue() );
|
||||
m_Config->Write( KEYWORD_REGUL_FILENAME, m_regulators_filePicker->GetPath() );
|
||||
m_Config->Write( KEYWORD_DATAFILE_FILENAME, GetDataFilename() );
|
||||
m_Config->Write( KEYWORD_REGUL_SELECTED, m_lastSelectedRegulatorName );
|
||||
m_Config->Write( KEYWORD_REGUL_TYPE,
|
||||
m_choiceRegType->GetSelection() );
|
||||
|
|
|
@ -47,6 +47,15 @@ public:
|
|||
|
||||
~DIALOG_EDITOR_DATA() {};
|
||||
|
||||
// Event called functions:
|
||||
void OnOKClick( wxCommandEvent& event );
|
||||
|
||||
/**
|
||||
* Function IsOK()
|
||||
* @return true if regulator parameters are acceptable
|
||||
*/
|
||||
bool IsOK();
|
||||
|
||||
/**
|
||||
* Function CopyRegulatorDataToDialog
|
||||
* Transfert data from dialog to aItem
|
||||
|
@ -83,6 +92,33 @@ public:
|
|||
};
|
||||
|
||||
|
||||
void DIALOG_EDITOR_DATA::OnOKClick( wxCommandEvent& event )
|
||||
{
|
||||
if( !IsOK() )
|
||||
{
|
||||
wxMessageBox( _("Bad or missing parameters!") );
|
||||
return;
|
||||
}
|
||||
|
||||
EndModal( wxID_OK );
|
||||
}
|
||||
|
||||
bool DIALOG_EDITOR_DATA::IsOK()
|
||||
{
|
||||
bool ok = true;
|
||||
if( m_textCtrlName->GetValue().IsEmpty() )
|
||||
ok = false;
|
||||
if( m_textCtrlVref->GetValue().IsEmpty() )
|
||||
ok = false;
|
||||
if( m_choiceRegType->GetSelection() == 1 )
|
||||
{
|
||||
if( m_RegulIadjValue->GetValue().IsEmpty() )
|
||||
ok = false;
|
||||
}
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
void DIALOG_EDITOR_DATA::CopyRegulatorDataToDialog( REGULATOR_DATA * aItem )
|
||||
{
|
||||
m_textCtrlName->SetValue( aItem->m_Name );
|
||||
|
@ -137,6 +173,12 @@ void PCB_CALCULATOR_FRAME::RegulatorPageUpdate()
|
|||
}
|
||||
// The new icon size must be taken in account
|
||||
m_panelRegulators->GetSizer()->Layout();
|
||||
|
||||
// Enable/disable buttons:
|
||||
bool enbl = m_choiceRegulatorSelector->GetCount() > 0;
|
||||
m_buttonEditItem->Enable( enbl );
|
||||
m_buttonRemoveItem->Enable( enbl );
|
||||
|
||||
m_panelRegulators->Refresh();
|
||||
}
|
||||
|
||||
|
@ -158,9 +200,11 @@ void PCB_CALCULATOR_FRAME::OnRegulatorSelection( wxCommandEvent& event )
|
|||
m_RegulVrefValue->SetValue( value );
|
||||
value.Printf( wxT("%g"), item->m_Iadj );
|
||||
m_RegulIadjValue->SetValue( value );
|
||||
|
||||
RegulatorPageUpdate();
|
||||
}
|
||||
|
||||
// Call RegulatorPageUpdate to enable/sisable tools,
|
||||
// even if no item selected
|
||||
RegulatorPageUpdate();
|
||||
}
|
||||
|
||||
void PCB_CALCULATOR_FRAME::OnDataFileSelection( wxFileDirPickerEvent& event )
|
||||
|
@ -172,6 +216,11 @@ void PCB_CALCULATOR_FRAME::OnAddRegulator( wxCommandEvent& event )
|
|||
DIALOG_EDITOR_DATA dlg( this, wxEmptyString );
|
||||
if( dlg.ShowModal() != wxID_OK )
|
||||
return;
|
||||
if( !dlg.IsOK() )
|
||||
{
|
||||
wxMessageBox( _("Bad or missing parameters!") );
|
||||
return;
|
||||
}
|
||||
|
||||
REGULATOR_DATA * new_item = dlg.BuildRegulatorFromData();
|
||||
|
||||
|
@ -183,6 +232,7 @@ void PCB_CALCULATOR_FRAME::OnAddRegulator( wxCommandEvent& event )
|
|||
m_RegulatorListChanged = true;
|
||||
m_choiceRegulatorSelector->Clear();
|
||||
m_choiceRegulatorSelector->Append( m_RegulatorList.GetRegList() );
|
||||
m_lastSelectedRegulatorName = new_item->m_Name;
|
||||
SelectLastSelectedRegulator();
|
||||
}
|
||||
else
|
||||
|
@ -196,7 +246,11 @@ void PCB_CALCULATOR_FRAME::OnEditRegulator( wxCommandEvent& event )
|
|||
{
|
||||
wxString name = m_choiceRegulatorSelector->GetStringSelection();
|
||||
REGULATOR_DATA * item = m_RegulatorList.GetReg( name );
|
||||
if( item == NULL )
|
||||
return;
|
||||
|
||||
DIALOG_EDITOR_DATA dlg( this, name );
|
||||
|
||||
dlg.CopyRegulatorDataToDialog( item );
|
||||
if( dlg.ShowModal() != wxID_OK )
|
||||
return;
|
||||
|
@ -305,7 +359,8 @@ void PCB_CALCULATOR_FRAME::RegulatorsSolve()
|
|||
|
||||
// Calculate
|
||||
if( m_choiceRegType->GetSelection() == 1)
|
||||
{ // 3 terminal regulator
|
||||
{
|
||||
// 3 terminal regulator
|
||||
txt = m_RegulIadjValue->GetValue();
|
||||
double iadj = ReturnDoubleFromString(txt);
|
||||
// iadj is given in micro amp, so convert it in amp.
|
||||
|
@ -318,7 +373,6 @@ void PCB_CALCULATOR_FRAME::RegulatorsSolve()
|
|||
break;
|
||||
|
||||
case 1:
|
||||
// to do
|
||||
r2 = ( vout - vref ) / ( iadj + (vref/r1) );
|
||||
break;
|
||||
|
||||
|
|
Loading…
Reference in New Issue