summaryrefslogtreecommitdiffstats
path: root/Project
diff options
context:
space:
mode:
authorThales1330 <thaleslima.ufu@gmail.com>2016-12-01 16:57:41 -0200
committerThales1330 <thaleslima.ufu@gmail.com>2016-12-01 16:57:41 -0200
commite266f5811403beea13c9cc5399c55db4a34fdd3c (patch)
tree517e01b8685248f04548513091e7040a1b36ec0b /Project
parent186e9d36f23ebb4c260885215d216d4df0b3b2ec (diff)
downloadPSP.git-e266f5811403beea13c9cc5399c55db4a34fdd3c.tar.gz
PSP.git-e266f5811403beea13c9cc5399c55db4a34fdd3c.tar.xz
PSP.git-e266f5811403beea13c9cc5399c55db4a34fdd3c.zip
Text Form under implementation [3]
Diffstat (limited to 'Project')
-rw-r--r--Project/Element.h4
-rw-r--r--Project/ElementForm.cpp4
-rw-r--r--Project/ElementForm.h2
-rw-r--r--Project/ElementForm.wxcp18
-rw-r--r--Project/Project.mk2
-rw-r--r--Project/Release/ElementForm.cpp.obin563331 -> 565045 bytes
-rw-r--r--Project/Release/PSP-UFU.exebin4204969 -> 4210593 bytes
-rw-r--r--Project/Release/Text.cpp.obin41237 -> 49809 bytes
-rw-r--r--Project/Release/TextForm.cpp.obin133507 -> 136935 bytes
-rw-r--r--Project/Text.cpp50
-rw-r--r--Project/Text.h16
-rw-r--r--Project/TextForm.cpp280
-rw-r--r--Project/TextForm.h7
13 files changed, 337 insertions, 46 deletions
diff --git a/Project/Element.h b/Project/Element.h
index f872267..0502e62 100644
--- a/Project/Element.h
+++ b/Project/Element.h
@@ -61,7 +61,9 @@ enum ElectricalUnit
UNIT_OHM,
UNIT_OHM_km,
UNIT_S,
- UNIT_S_km
+ UNIT_S_km,
+ UNIT_DEGREE,
+ UNIT_RADIAN
};
enum FaultData
diff --git a/Project/ElementForm.cpp b/Project/ElementForm.cpp
index e6e72ed..89ef491 100644
--- a/Project/ElementForm.cpp
+++ b/Project/ElementForm.cpp
@@ -2767,6 +2767,8 @@ TextFormBase::TextFormBase(wxWindow* parent, wxWindowID id, const wxString& titl
m_choiceTextFromBus->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(TextFormBase::OnFromBusChoiceSelected), NULL, this);
m_choiceTextToBus->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(TextFormBase::OnToBusChoiceSelected), NULL, this);
m_textCtrlDecimal->Connect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(TextFormBase::OnTextEnter), NULL, this);
+ m_buttonOK->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TextFormBase::OnOKButtonClick), NULL, this);
+ m_ButtonCancel->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TextFormBase::OnCancelButtonClick), NULL, this);
}
@@ -2778,5 +2780,7 @@ TextFormBase::~TextFormBase()
m_choiceTextFromBus->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(TextFormBase::OnFromBusChoiceSelected), NULL, this);
m_choiceTextToBus->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(TextFormBase::OnToBusChoiceSelected), NULL, this);
m_textCtrlDecimal->Disconnect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(TextFormBase::OnTextEnter), NULL, this);
+ m_buttonOK->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TextFormBase::OnOKButtonClick), NULL, this);
+ m_ButtonCancel->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TextFormBase::OnCancelButtonClick), NULL, this);
}
diff --git a/Project/ElementForm.h b/Project/ElementForm.h
index 3b36fed..6645b96 100644
--- a/Project/ElementForm.h
+++ b/Project/ElementForm.h
@@ -742,6 +742,8 @@ protected:
virtual void OnFromBusChoiceSelected(wxCommandEvent& event) { event.Skip(); }
virtual void OnToBusChoiceSelected(wxCommandEvent& event) { event.Skip(); }
virtual void OnTextEnter(wxCommandEvent& event) { event.Skip(); }
+ virtual void OnOKButtonClick(wxCommandEvent& event) { event.Skip(); }
+ virtual void OnCancelButtonClick(wxCommandEvent& event) { event.Skip(); }
public:
wxStaticText* GetStaticTextElement() { return m_staticTextElement; }
diff --git a/Project/ElementForm.wxcp b/Project/ElementForm.wxcp
index 8d9def3..b61d5a0 100644
--- a/Project/ElementForm.wxcp
+++ b/Project/ElementForm.wxcp
@@ -29220,7 +29220,14 @@
"m_label": "Margins:",
"m_value": "2,2"
}],
- "m_events": [],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnOKButtonClick(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
"m_children": []
}, {
"m_type": 4400,
@@ -29308,7 +29315,14 @@
"m_label": "Margins:",
"m_value": "2,2"
}],
- "m_events": [],
+ "m_events": [{
+ "m_eventName": "wxEVT_COMMAND_BUTTON_CLICKED",
+ "m_eventClass": "wxCommandEvent",
+ "m_eventHandler": "wxCommandEventHandler",
+ "m_functionNameAndSignature": "OnCancelButtonClick(wxCommandEvent& event)",
+ "m_description": "Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.",
+ "m_noBody": false
+ }],
"m_children": []
}]
}]
diff --git a/Project/Project.mk b/Project/Project.mk
index 38c81ac..62bac5f 100644
--- a/Project/Project.mk
+++ b/Project/Project.mk
@@ -13,7 +13,7 @@ CurrentFileName :=
CurrentFilePath :=
CurrentFileFullPath :=
User :=Thales
-Date :=30/11/2016
+Date :=01/12/2016
CodeLitePath :="C:/Program Files/CodeLite"
LinkerName :=C:/TDM-GCC-64/bin/g++.exe
SharedObjectLinkerName :=C:/TDM-GCC-64/bin/g++.exe -shared -fPIC
diff --git a/Project/Release/ElementForm.cpp.o b/Project/Release/ElementForm.cpp.o
index e9fda68..2978138 100644
--- a/Project/Release/ElementForm.cpp.o
+++ b/Project/Release/ElementForm.cpp.o
Binary files differ
diff --git a/Project/Release/PSP-UFU.exe b/Project/Release/PSP-UFU.exe
index 545a547..21bdf85 100644
--- a/Project/Release/PSP-UFU.exe
+++ b/Project/Release/PSP-UFU.exe
Binary files differ
diff --git a/Project/Release/Text.cpp.o b/Project/Release/Text.cpp.o
index 8e373b7..7071037 100644
--- a/Project/Release/Text.cpp.o
+++ b/Project/Release/Text.cpp.o
Binary files differ
diff --git a/Project/Release/TextForm.cpp.o b/Project/Release/TextForm.cpp.o
index 39968df..f32f85f 100644
--- a/Project/Release/TextForm.cpp.o
+++ b/Project/Release/TextForm.cpp.o
Binary files differ
diff --git a/Project/Text.cpp b/Project/Text.cpp
index 839e6f8..2d8e85c 100644
--- a/Project/Text.cpp
+++ b/Project/Text.cpp
@@ -2,6 +2,15 @@
#include "Text.h"
#include "ElectricCalculation.h"
+#include "Bus.h"
+#include "Line.h"
+#include "Transformer.h"
+#include "SyncGenerator.h"
+#include "IndMotor.h"
+#include "SyncMotor.h"
+#include "Load.h"
+#include "Inductor.h"
+#include "Capacitor.h"
Text::Text() : Element() { SetText(m_text); }
Text::Text(wxPoint2DDouble position) : Element()
@@ -88,3 +97,44 @@ bool Text::ShowForm(wxWindow* parent, std::vector<Element*> elementList)
textForm->Destroy();
return false;
}
+
+void Text::UpdateText(double systemPowerBase)
+{
+ switch(m_elementType) {
+ case TYPE_BUS: {
+ Bus* bus = (Bus*)m_element;
+ if(bus) {
+ switch(m_dataType) {
+ case DATA_NAME: {
+ SetText(bus->GetEletricalData().name);
+ wxLogMessage(m_text);
+ } break;
+ }
+ }
+ } break;
+ case TYPE_SYNC_GENERATOR: {
+
+ } break;
+ case TYPE_LINE: {
+
+ } break;
+ case TYPE_TRANSFORMER: {
+
+ } break;
+ case TYPE_LOAD: {
+
+ } break;
+ case TYPE_SYNC_MOTOR: {
+
+ } break;
+ case TYPE_IND_MOTOR: {
+
+ } break;
+ case TYPE_CAPACITOR: {
+
+ } break;
+ case TYPE_INDUCTOR: {
+
+ } break;
+ }
+}
diff --git a/Project/Text.h b/Project/Text.h
index 24f9228..2b10380 100644
--- a/Project/Text.h
+++ b/Project/Text.h
@@ -6,6 +6,16 @@
class TextForm;
+class Bus;
+class Line;
+class Transformer;
+class SyncGenerator;
+class IndMotor;
+class SyncMotor;
+class Load;
+class Inductor;
+class Capacitor;
+
enum ElementType {
TYPE_BUS,
TYPE_CAPACITOR,
@@ -46,6 +56,7 @@ class Text : public Element
virtual bool Intersects(wxRect2DDouble rect) const;
virtual void Rotate(bool clockwise = true);
virtual bool ShowForm(wxWindow* parent, std::vector<Element*> elementList);
+ virtual void UpdateText(double systemPowerBase);
virtual wxString GetText() const { return m_text; }
virtual void SetText(wxString text);
@@ -56,6 +67,7 @@ class Text : public Element
void SetElementType(const ElementType elementType) { m_elementType = elementType; }
void SetFontSize(int fontSize) { m_fontSize = fontSize; }
void SetUnit(const ElectricalUnit unit) { m_unit = unit; }
+ void SetDecimalPlaces(int decimalPlaces) { m_decimalPlaces = decimalPlaces; }
const DataType GetDataType() const { return m_dataType; }
int GetDirection() const { return m_direction; }
Element* GetElement() { return m_element; }
@@ -63,17 +75,19 @@ class Text : public Element
const ElementType GetElementType() const { return m_elementType; }
int GetFontSize() const { return m_fontSize; }
const ElectricalUnit GetUnit() const { return m_unit; }
+ int GetDecimalPlaces() const { return m_decimalPlaces; }
protected:
wxString m_text = _("Text");
int m_fontSize = 10;
- Element* m_element;
+ Element* m_element = NULL;
ElementType m_elementType;
int m_elementNumber;
DataType m_dataType;
ElectricalUnit m_unit;
int m_direction;
+ int m_decimalPlaces;
};
#endif // TEXT_H
diff --git a/Project/TextForm.cpp b/Project/TextForm.cpp
index 8c9c724..2fd9c9f 100644
--- a/Project/TextForm.cpp
+++ b/Project/TextForm.cpp
@@ -1,10 +1,12 @@
#include "TextForm.h"
-TextForm::TextForm(wxWindow* parent, Text* text, std::vector<Element*> elementList) : TextFormBase(parent)
+TextForm::TextForm(wxWindow* parent, Text* text, std::vector<Element*> elementList, double systemPowerBase)
+ : TextFormBase(parent)
{
m_parent = parent;
m_text = text;
m_allElements.GetElementsFromList(elementList);
+ m_systemPowerBase = systemPowerBase;
m_choiceName->Enable(false);
m_choiceTextType->Enable(false);
@@ -52,7 +54,12 @@ void TextForm::OnElementChoiceSelected(wxCommandEvent& event)
ElementTypeChoice();
}
-void TextForm::OnFromBusChoiceSelected(wxCommandEvent& event) {}
+void TextForm::OnFromBusChoiceSelected(wxCommandEvent& event)
+{
+ m_text->SetDirection(m_choiceTextFromBus->GetSelection());
+ m_choiceTextToBus->SetSelection(m_choiceTextFromBus->GetSelection());
+}
+
void TextForm::OnNameChoiceSelected(wxCommandEvent& event)
{
m_text->SetElementNumber(m_choiceName->GetSelection());
@@ -60,7 +67,12 @@ void TextForm::OnNameChoiceSelected(wxCommandEvent& event)
}
void TextForm::OnTextEnter(wxCommandEvent& event) {}
-void TextForm::OnToBusChoiceSelected(wxCommandEvent& event) {}
+void TextForm::OnToBusChoiceSelected(wxCommandEvent& event)
+{
+ m_text->SetDirection(m_choiceTextToBus->GetSelection());
+ m_choiceTextFromBus->SetSelection(m_choiceTextToBus->GetSelection());
+}
+
void TextForm::OnTypeChoiceSelected(wxCommandEvent& event)
{
switch(m_text->GetElementType()) {
@@ -159,6 +171,15 @@ void TextForm::OnTypeChoiceSelected(wxCommandEvent& event)
void TextForm::ElementTypeChoice()
{
+ m_choiceTextType->Enable(false);
+ m_choiceTextFromBus->Enable(false);
+ m_choiceTextToBus->Enable(false);
+ m_choiceTextUnit->Enable(false);
+ m_choiceTextType->Clear();
+ m_choiceTextFromBus->Clear();
+ m_choiceTextToBus->Clear();
+ m_choiceTextUnit->Clear();
+
m_choiceName->Clear();
wxArrayString arrayString;
switch(m_text->GetElementType()) {
@@ -226,10 +247,24 @@ void TextForm::ElementTypeChoice()
void TextForm::ElementNumberChoice()
{
+ m_choiceTextFromBus->Enable(false);
+ m_choiceTextToBus->Enable(false);
+ m_choiceTextUnit->Enable(false);
+ m_choiceTextFromBus->Clear();
+ m_choiceTextToBus->Clear();
+ m_choiceTextUnit->Clear();
+
+ int index = m_choiceName->GetSelection();
+ m_text->SetElementNumber(index);
+
m_choiceTextType->Clear();
wxArrayString arrayString;
switch(m_text->GetElementType()) {
case TYPE_BUS: {
+ auto it = m_allElements.GetBusList().begin();
+ std::advance(it, index);
+ m_text->SetElement(*it);
+
arrayString.Add(_("Name"));
arrayString.Add(_("Voltage"));
arrayString.Add(_("Angle"));
@@ -238,13 +273,33 @@ void TextForm::ElementNumberChoice()
arrayString.Add(_("Short-circuit power"));
} break;
case TYPE_SYNC_GENERATOR: {
+ auto it = m_allElements.GetSyncGeneratorList().begin();
+ std::advance(it, index);
+ m_text->SetElement(*it);
+
arrayString.Add(_("Name"));
arrayString.Add(_("Active power"));
arrayString.Add(_("Reactive power"));
arrayString.Add(_("Fault current"));
} break;
case TYPE_LINE:
+ {
+ auto it = m_allElements.GetLineList().begin();
+ std::advance(it, index);
+ m_text->SetElement(*it);
+
+ arrayString.Add(_("Name"));
+ arrayString.Add(_("Active power flow"));
+ arrayString.Add(_("Reactive power flow"));
+ arrayString.Add(_("Losses"));
+ arrayString.Add(_("Current"));
+ arrayString.Add(_("Fault current"));
+ } break;
case TYPE_TRANSFORMER: {
+ auto it = m_allElements.GetTransformerList().begin();
+ std::advance(it, index);
+ m_text->SetElement(*it);
+
arrayString.Add(_("Name"));
arrayString.Add(_("Active power flow"));
arrayString.Add(_("Reactive power flow"));
@@ -253,17 +308,44 @@ void TextForm::ElementNumberChoice()
arrayString.Add(_("Fault current"));
} break;
case TYPE_LOAD: {
+ auto it = m_allElements.GetLoadList().begin();
+ std::advance(it, index);
+ m_text->SetElement(*it);
+
arrayString.Add(_("Name"));
arrayString.Add(_("Active power"));
arrayString.Add(_("Reactive power"));
} break;
- case TYPE_CAPACITOR:
+ case TYPE_CAPACITOR: {
+ auto it = m_allElements.GetCapacitorList().begin();
+ std::advance(it, index);
+ m_text->SetElement(*it);
+
+ arrayString.Add(_("Name"));
+ arrayString.Add(_("Reactive power"));
+ } break;
case TYPE_INDUCTOR: {
+ auto it = m_allElements.GetInductorList().begin();
+ std::advance(it, index);
+ m_text->SetElement(*it);
+
arrayString.Add(_("Name"));
arrayString.Add(_("Reactive power"));
} break;
- case TYPE_SYNC_MOTOR:
+ case TYPE_SYNC_MOTOR: {
+ auto it = m_allElements.GetSyncMotorList().begin();
+ std::advance(it, index);
+ m_text->SetElement(*it);
+
+ arrayString.Add(_("Name"));
+ arrayString.Add(_("Active power"));
+ arrayString.Add(_("Reactive power"));
+ } break;
case TYPE_IND_MOTOR: {
+ auto it = m_allElements.GetIndMotorList().begin();
+ std::advance(it, index);
+ m_text->SetElement(*it);
+
arrayString.Add(_("Name"));
arrayString.Add(_("Active power"));
arrayString.Add(_("Reactive power"));
@@ -278,14 +360,19 @@ void TextForm::ElementNumberChoice()
void TextForm::DataTypeChoice()
{
+ m_choiceTextFromBus->Enable(false);
+ m_choiceTextToBus->Enable(false);
+
m_choiceTextToBus->Clear();
m_choiceTextFromBus->Clear();
m_choiceTextUnit->Clear();
+
m_choiceTextUnit->Enable();
wxArrayString arrayString;
switch(m_text->GetDataType()) {
case DATA_NAME: {
m_choiceTextUnit->Enable(false);
+ m_text->UpdateText(m_systemPowerBase);
return;
} break;
case DATA_VOLTAGE:
@@ -333,50 +420,167 @@ void TextForm::DataTypeChoice()
switch(m_text->GetElementType()) {
case TYPE_LINE: {
- auto it = m_allElements.GetLineList().begin();
- std::advance(it, m_text->GetElementNumber());
- Line* line = *it;
+ if(m_text->GetDataType() != DATA_PF_LOSSES) {
+ auto it = m_allElements.GetLineList().begin();
+ std::advance(it, m_text->GetElementNumber());
+ Line* line = *it;
- Bus* bus1 = (Bus*)line->GetParentList()[0];
- Bus* bus2 = (Bus*)line->GetParentList()[1];
- wxString bus1Name = bus1->GetEletricalData().name;
- wxString bus2Name = bus2->GetEletricalData().name;
+ Bus* bus1 = (Bus*)line->GetParentList()[0];
+ Bus* bus2 = (Bus*)line->GetParentList()[1];
+ wxString bus1Name = bus1->GetEletricalData().name;
+ wxString bus2Name = bus2->GetEletricalData().name;
- m_choiceTextFromBus->Append(bus1Name);
- m_choiceTextFromBus->Append(bus2Name);
- m_choiceTextToBus->Append(bus2Name);
- m_choiceTextToBus->Append(bus1Name);
- m_choiceTextFromBus->SetSelection(0);
- m_choiceTextToBus->SetSelection(0);
+ m_choiceTextFromBus->Append(bus1Name);
+ m_choiceTextFromBus->Append(bus2Name);
+ m_choiceTextToBus->Append(bus2Name);
+ m_choiceTextToBus->Append(bus1Name);
+ m_choiceTextFromBus->SetSelection(0);
+ m_choiceTextToBus->SetSelection(0);
+ m_text->SetDirection(0);
- m_choiceTextFromBus->Enable();
- m_choiceTextToBus->Enable();
+ m_choiceTextFromBus->Enable();
+ m_choiceTextToBus->Enable();
+ }
} break;
case TYPE_TRANSFORMER: {
- auto it = m_allElements.GetTransformerList().begin();
- std::advance(it, m_text->GetElementNumber());
- Transformer* transformer = *it;
+ if(m_text->GetDataType() != DATA_PF_LOSSES) {
+ auto it = m_allElements.GetTransformerList().begin();
+ std::advance(it, m_text->GetElementNumber());
+ Transformer* transformer = *it;
- Bus* bus1 = (Bus*)transformer->GetParentList()[0];
- Bus* bus2 = (Bus*)transformer->GetParentList()[1];
- wxString bus1Name = bus1->GetEletricalData().name;
- wxString bus2Name = bus2->GetEletricalData().name;
+ Bus* bus1 = (Bus*)transformer->GetParentList()[0];
+ Bus* bus2 = (Bus*)transformer->GetParentList()[1];
+ wxString bus1Name = bus1->GetEletricalData().name;
+ wxString bus2Name = bus2->GetEletricalData().name;
- m_choiceTextFromBus->Append(bus1Name);
- m_choiceTextFromBus->Append(bus2Name);
- m_choiceTextToBus->Append(bus2Name);
- m_choiceTextToBus->Append(bus1Name);
- m_choiceTextFromBus->SetSelection(0);
- m_choiceTextToBus->SetSelection(0);
+ m_choiceTextFromBus->Append(bus1Name);
+ m_choiceTextFromBus->Append(bus2Name);
+ m_choiceTextToBus->Append(bus2Name);
+ m_choiceTextToBus->Append(bus1Name);
+ m_choiceTextFromBus->SetSelection(0);
+ m_choiceTextToBus->SetSelection(0);
+ m_text->SetDirection(0);
- m_choiceTextFromBus->Enable();
- m_choiceTextToBus->Enable();
+ m_choiceTextFromBus->Enable();
+ m_choiceTextToBus->Enable();
+ }
} break;
default:
break;
}
}
-void TextForm::FromChoice() {}
-void TextForm::ToChoice() {}
-void TextForm::UnitChoice() {}
+void TextForm::UnitChoice()
+{
+ switch(m_text->GetDataType()) {
+ case DATA_NAME: {
+ m_choiceTextUnit->Enable(false);
+ return;
+ } break;
+ case DATA_VOLTAGE:
+ case DATA_SC_VOLTAGE: {
+ switch(m_choiceTextUnit->GetSelection()) {
+ case 0: {
+ m_text->SetUnit(UNIT_PU);
+ } break;
+ case 1: {
+ m_text->SetUnit(UNIT_V);
+ } break;
+ case 2: {
+ m_text->SetUnit(UNIT_kV);
+ } break;
+ default:
+ break;
+ }
+ } break;
+ case DATA_ANGLE: {
+ switch(m_choiceTextUnit->GetSelection()) {
+ case 0: {
+ m_text->SetUnit(UNIT_DEGREE);
+ } break;
+ case 1: {
+ m_text->SetUnit(UNIT_RADIAN);
+ } break;
+ default:
+ break;
+ }
+ } break;
+ case DATA_SC_CURRENT:
+ case DATA_PF_CURRENT: {
+ switch(m_choiceTextUnit->GetSelection()) {
+ case 0: {
+ m_text->SetUnit(UNIT_PU);
+ } break;
+ case 1: {
+ m_text->SetUnit(UNIT_A);
+ } break;
+ case 2: {
+ m_text->SetUnit(UNIT_kA);
+ } break;
+ default:
+ break;
+ }
+ } break;
+ case DATA_SC_POWER: {
+ switch(m_choiceTextUnit->GetSelection()) {
+ case 0: {
+ m_text->SetUnit(UNIT_PU);
+ } break;
+ case 1: {
+ m_text->SetUnit(UNIT_VA);
+ } break;
+ case 2: {
+ m_text->SetUnit(UNIT_kVA);
+ } break;
+ case 3: {
+ m_text->SetUnit(UNIT_MVA);
+ } break;
+ default:
+ break;
+ }
+ } break;
+ case DATA_ACTIVE_POWER:
+ case DATA_PF_ACTIVE:
+ case DATA_PF_LOSSES: {
+ switch(m_choiceTextUnit->GetSelection()) {
+ case 0: {
+ m_text->SetUnit(UNIT_PU);
+ } break;
+ case 1: {
+ m_text->SetUnit(UNIT_W);
+ } break;
+ case 2: {
+ m_text->SetUnit(UNIT_kW);
+ } break;
+ case 3: {
+ m_text->SetUnit(UNIT_MW);
+ } break;
+ default:
+ break;
+ }
+ } break;
+ case DATA_REACTIVE_POWER:
+ case DATA_PF_REACTIVE: {
+ switch(m_choiceTextUnit->GetSelection()) {
+ case 0: {
+ m_text->SetUnit(UNIT_PU);
+ } break;
+ case 1: {
+ m_text->SetUnit(UNIT_VAr);
+ } break;
+ case 2: {
+ m_text->SetUnit(UNIT_kVAr);
+ } break;
+ case 3: {
+ m_text->SetUnit(UNIT_MVAr);
+ } break;
+ default:
+ break;
+ }
+ } break;
+ default:
+ break;
+ }
+
+ m_text->UpdateText(m_systemPowerBase);
+}
diff --git a/Project/TextForm.h b/Project/TextForm.h
index b33d02b..1a22baa 100644
--- a/Project/TextForm.h
+++ b/Project/TextForm.h
@@ -8,16 +8,16 @@
class TextForm : public TextFormBase
{
public:
- TextForm(wxWindow* parent, Text* text, std::vector<Element*> elementList);
+ TextForm(wxWindow* parent, Text* text, std::vector<Element*> elementList, double systemPowerBase = 100e6);
virtual ~TextForm();
virtual void ElementTypeChoice();
virtual void ElementNumberChoice();
virtual void DataTypeChoice();
- virtual void FromChoice();
- virtual void ToChoice();
virtual void UnitChoice();
protected:
+ virtual void OnCancelButtonClick(wxCommandEvent& event) { EndModal(wxID_CANCEL); }
+ virtual void OnOKButtonClick(wxCommandEvent& event) { EndModal(wxID_OK); }
virtual void OnElementChoiceSelected(wxCommandEvent& event);
virtual void OnFromBusChoiceSelected(wxCommandEvent& event);
virtual void OnNameChoiceSelected(wxCommandEvent& event);
@@ -28,5 +28,6 @@ class TextForm : public TextFormBase
Text* m_text;
wxWindow* m_parent;
ElectricCalculation m_allElements;
+ double m_systemPowerBase;
};
#endif // TEXTFORM_H