summaryrefslogtreecommitdiffstats
path: root/Project/LineForm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Project/LineForm.cpp')
-rw-r--r--Project/LineForm.cpp136
1 files changed, 136 insertions, 0 deletions
diff --git a/Project/LineForm.cpp b/Project/LineForm.cpp
new file mode 100644
index 0000000..7cc9aca
--- /dev/null
+++ b/Project/LineForm.cpp
@@ -0,0 +1,136 @@
+#include "LineForm.h"
+#include "Line.h"
+
+LineForm::LineForm(wxWindow* parent, Line* line) : LineFormBase(parent)
+{
+ m_choiceResistance->SetString(1, L'\u03A9');
+ m_choiceResistance->SetString(2, (wxString)L'\u03A9' + "/km");
+ m_choiceResistance->SetInitialSize();
+ m_textCtrlResistance->SetInitialSize();
+
+ m_choiceReactance->SetString(1, L'\u03A9');
+ m_choiceReactance->SetString(2, (wxString)L'\u03A9' + "/km");
+ m_choiceReactance->SetInitialSize();
+ m_textCtrlReactance->SetInitialSize();
+
+ ReplaceStaticTextLabelChar(m_staticTextZeroResistance, L'\u2080');
+ ReplaceStaticTextLabelChar(m_staticTextZeroReactance, L'\u2080');
+ ReplaceStaticTextLabelChar(m_staticTextZeroSusceptance, L'\u2080');
+
+ SetSize(GetBestSize());
+ Layout();
+ m_parent = parent;
+ m_line = line;
+
+ LineElectricalData data = line->GetElectricalData();
+
+ m_textCtrlName->SetValue(data.name);
+
+ wxString nominalVoltageStr = wxString::FromDouble(data.nominalVoltage);
+ switch(data.nominalVoltageUnit)
+ {
+ case UNIT_V:
+ {
+ nominalVoltageStr += " V";
+ }
+ break;
+ case UNIT_kV:
+ {
+ nominalVoltageStr += " kV";
+ }
+ break;
+ default:
+ break;
+ }
+ m_staticTextNominalVoltageValue->SetLabel(nominalVoltageStr);
+
+ m_textCtrlNominalPower->SetValue(wxString::FromDouble(data.nominalPower));
+ switch(data.nominalPowerUnit)
+ {
+ case UNIT_VA:
+ m_choiceResistance->SetSelection(0);
+ break;
+ case UNIT_kVA:
+ m_choiceResistance->SetSelection(1);
+ break;
+ case UNIT_MVA:
+ m_choiceResistance->SetSelection(2);
+ break;
+ default:
+ break;
+ }
+
+ m_textCtrlResistance->SetValue(wxString::FromDouble(data.resistance));
+ switch(data.resistanceUnit)
+ {
+ case UNIT_PU:
+ m_choiceResistance->SetSelection(0);
+ break;
+ case UNIT_OHM:
+ m_choiceResistance->SetSelection(1);
+ break;
+ case UNIT_OHM_km:
+ m_choiceResistance->SetSelection(2);
+ break;
+ default:
+ break;
+ }
+
+ m_textCtrlReactance->SetValue(wxString::FromDouble(data.indReactance));
+ switch(data.indReactanceUnit)
+ {
+ case UNIT_PU:
+ m_choiceResistance->SetSelection(0);
+ break;
+ case UNIT_OHM:
+ m_choiceResistance->SetSelection(1);
+ break;
+ case UNIT_OHM_km:
+ m_choiceResistance->SetSelection(2);
+ break;
+ default:
+ break;
+ }
+
+ m_textCtrlSusceptance->SetValue(wxString::FromDouble(data.capSusceptance));
+ switch(data.capSusceptanceUnit)
+ {
+ case UNIT_PU:
+ m_choiceResistance->SetSelection(0);
+ break;
+ case UNIT_S:
+ m_choiceResistance->SetSelection(1);
+ break;
+ case UNIT_S_km:
+ m_choiceResistance->SetSelection(2);
+ break;
+ default:
+ break;
+ }
+
+ m_textCtrlLineSize->SetValue(wxString::FromDouble(data.lineSize));
+ m_checkUseLinePower->SetValue(data.useLinePower);
+
+ m_textCtrlZeroResistance->SetValue(wxString::FromDouble(data.zeroResistance));
+ m_textCtrlZeroReactance->SetValue(wxString::FromDouble(data.zeroIndReactance));
+ m_textCtrlZeroSusceptance->SetValue(wxString::FromDouble(data.zeroCapSusceptance));
+}
+
+LineForm::~LineForm() {}
+void LineForm::OnCancelButtonClick(wxCommandEvent& event) { EndModal(wxID_CANCEL); }
+void LineForm::OnOKButtonClick(wxCommandEvent& event) { EndModal(wxID_OK); }
+void LineForm::OnStabilityButtonClick(wxCommandEvent& event) {}
+void LineForm::ReplaceStaticTextLabelChar(wxStaticText* staticText, wchar_t newChar)
+{
+ wxString label = staticText->GetLabel();
+ label[label.length() - 2] = newChar;
+ staticText->SetLabel(label);
+}
+
+bool LineForm::ValidateData()
+{
+ LineElectricalData data = m_line->GetElectricalData();
+
+ //if(!m_line->DoubleFromString(m_parent, m_textCtrlInertia->GetValue(), data.inertia,
+ // _("Value entered incorrectly in the field \"Inertia\".")))
+}