Power System Platform  2026w10a-beta
Loading...
Searching...
No Matches
FrequencyResponseForm.cpp
1#include "../elements/powerElement/Bus.h"
2#include "FrequencyResponseForm.h"
3
4FrequencyResponseForm::FrequencyResponseForm(wxWindow* parent) : FrequencyResponseFormBase(parent)
5{
6 m_parent = parent;
7}
8
9FrequencyResponseForm::FrequencyResponseForm(wxWindow* parent,
10 std::vector<Bus*> busList,
11 int injCurrentBus,
12 double initFreq,
13 double endFreq,
14 double stepFreq)
15 : FrequencyResponseFormBase(parent)
16{
17 m_parent = parent;
18 m_busList = busList;
19
20 // Set buses numbers and fill the choicebox
21 int busNumber = 0;
22 for(auto itb = m_busList.begin(); itb != m_busList.end(); itb++) {
23 Bus* bus = *itb;
24 BusElectricalData data = bus->GetElectricalData();
25 data.number = busNumber;
26 bus->SetElectricalData(data);
27
28 m_choiceBus->Append(data.name);
29
30 busNumber++;
31 }
32
33 Bus dummyBus;
34
35 m_textCtrlInitFreq->SetValue(dummyBus.StringFromDouble(initFreq));
36 m_textCtrlFinalFreq->SetValue(dummyBus.StringFromDouble(endFreq));
37 m_textCtrlStepFreq->SetValue(dummyBus.StringFromDouble(stepFreq));
38 m_choiceBus->SetSelection(injCurrentBus);
39}
40
41FrequencyResponseForm::~FrequencyResponseForm() {}
42
43void FrequencyResponseForm::OnCancelButtonClick(wxCommandEvent& event) { EndModal(wxID_CANCEL); }
44void FrequencyResponseForm::OnRunButtonClick(wxCommandEvent& event)
45{
46 Bus dummyBus;
47 if(!dummyBus.DoubleFromString(m_parent, m_textCtrlInitFreq->GetValue(), m_initFreq,
48 _("Value entered incorrectly in the field \"Initial frequency\".")))
49 return;
50 if(!dummyBus.DoubleFromString(m_parent, m_textCtrlFinalFreq->GetValue(), m_endFreq,
51 _("Value entered incorrectly in the field \"Final frequency\".")))
52 return;
53 if(!dummyBus.DoubleFromString(m_parent, m_textCtrlStepFreq->GetValue(), m_stepFreq,
54 _("Value entered incorrectly in the field \"Frequency step\".")))
55 return;
56 if(m_choiceBus->GetSelection() == -1) {
57 wxMessageDialog msgDialog(m_parent, _("Injected current not selected"), _("Error"),
58 wxOK | wxCENTRE | wxICON_ERROR);
59 msgDialog.ShowModal();
60 return;
61 }
62 m_injBusNumber = m_choiceBus->GetSelection();
63 EndModal(wxID_OK);
64}
Node for power elements. All others power elements are connected through this.
Definition Bus.h:86
static bool DoubleFromString(wxWindow *parent, wxString strValue, double &value, wxString errorMsg)
Get a double value from a string. Show a error message if the conversion fail.
Definition Element.cpp:505
static wxString StringFromDouble(double value, int minDecimal=1, int maxDecimals=13)
Convert a double value to string.
Definition Element.cpp:533