summaryrefslogtreecommitdiffstats
path: root/Project/IOControlForm.cpp
diff options
context:
space:
mode:
authorThales Lima Oliveira <thaleslima.ufu@gmail.com>2017-04-06 17:12:09 -0300
committerThales Lima Oliveira <thaleslima.ufu@gmail.com>2017-04-06 17:12:09 -0300
commited36957d2d06ce9484e39be699bc41b521bdb090 (patch)
treeb2e8edcd03acc660a6f504391703cfcdd70add40 /Project/IOControlForm.cpp
parent38b3e2decff95f5e29ffb6025ee899d108d22f04 (diff)
downloadPSP.git-ed36957d2d06ce9484e39be699bc41b521bdb090.tar.gz
PSP.git-ed36957d2d06ce9484e39be699bc41b521bdb090.tar.xz
PSP.git-ed36957d2d06ce9484e39be699bc41b521bdb090.zip
Io form under implementation
Diffstat (limited to 'Project/IOControlForm.cpp')
-rw-r--r--Project/IOControlForm.cpp89
1 files changed, 89 insertions, 0 deletions
diff --git a/Project/IOControlForm.cpp b/Project/IOControlForm.cpp
new file mode 100644
index 0000000..374ce27
--- /dev/null
+++ b/Project/IOControlForm.cpp
@@ -0,0 +1,89 @@
+#include "IOControlForm.h"
+
+IOControlForm::IOControlForm(wxWindow* parent, IOControl* ioControl)
+ : IOControlFormBase(parent)
+{
+ m_parent = parent;
+ m_ioControl = ioControl;
+
+ int ioFlags = m_ioControl->GetIOFlags();
+ int inChoiceNumber = -1;
+ int outChoiceNumber = -1;
+
+ if(ioFlags & IOControl::IN_TERMINAL_VOLTAGE) {
+ m_choiceInput->Append(_("Terminal voltage"));
+ m_inputFlags.push_back(IOControl::IN_TERMINAL_VOLTAGE);
+ if(m_ioControl->GetValue() == IOControl::IN_TERMINAL_VOLTAGE)
+ inChoiceNumber = (int)m_inputFlags.size() - 1;
+ }
+ if(ioFlags & IOControl::IN_VELOCITY) {
+ m_choiceInput->Append(_("Velocity"));
+ m_inputFlags.push_back(IOControl::IN_VELOCITY);
+ if(m_ioControl->GetValue() == IOControl::IN_VELOCITY)
+ inChoiceNumber = (int)m_inputFlags.size() - 1;
+ }
+ if(ioFlags & IOControl::IN_ACTIVE_POWER) {
+ m_choiceInput->Append(_("Active power"));
+ m_inputFlags.push_back(IOControl::IN_ACTIVE_POWER);
+ if(m_ioControl->GetValue() == IOControl::IN_ACTIVE_POWER)
+ inChoiceNumber = (int)m_inputFlags.size() - 1;
+ }
+ if(ioFlags & IOControl::IN_REACTIVE_POWER) {
+ m_choiceInput->Append(_("Reactive power"));
+ m_inputFlags.push_back(IOControl::IN_REACTIVE_POWER);
+ if(m_ioControl->GetValue() == IOControl::IN_REACTIVE_POWER)
+ inChoiceNumber = (int)m_inputFlags.size() - 1;
+ }
+ if(ioFlags & IOControl::OUT_FIELD_VOLTAGE) {
+ m_choiceOutput->Append(_("Field voltage"));
+ m_outputFlags.push_back(IOControl::OUT_FIELD_VOLTAGE);
+ if(m_ioControl->GetValue() == IOControl::OUT_MEC_POWER)
+ outChoiceNumber = (int)m_outputFlags.size() - 1;
+ }
+ if(ioFlags & IOControl::OUT_MEC_POWER) {
+ m_choiceOutput->Append(_("Mechanical power"));
+ m_outputFlags.push_back(IOControl::OUT_MEC_POWER);
+ if(m_ioControl->GetValue() == IOControl::OUT_MEC_POWER)
+ outChoiceNumber = (int)m_outputFlags.size() - 1;
+ }
+
+ if(inChoiceNumber != -1) {
+ m_choiceInput->SetSelection(inChoiceNumber);
+ m_checkBoxInput->SetValue(true);
+ m_checkBoxOutput->SetValue(false);
+ m_choiceOutput->Enable(false);
+ } else {
+ m_choiceInput->SetSelection(outChoiceNumber);
+ m_checkBoxInput->SetValue(false);
+ m_checkBoxOutput->SetValue(true);
+ m_choiceInput->Enable(false);
+ }
+
+}
+
+IOControlForm::~IOControlForm()
+{
+}
+void IOControlForm::OnOKButtonClick(wxCommandEvent& event)
+{
+ if(ValidateData()) EndModal(wxID_OK);
+}
+
+bool IOControlForm::ValidateData()
+{
+ return false;
+}
+
+void IOControlForm::OnInputChecked(wxCommandEvent& event)
+{
+ m_checkBoxOutput->SetValue(false);
+ m_choiceOutput->Enable(false);
+ m_choiceInput->Enable(true);
+}
+
+void IOControlForm::OnOutputChecked(wxCommandEvent& event)
+{
+ m_checkBoxInput->SetValue(false);
+ m_choiceOutput->Enable(true);
+ m_choiceInput->Enable(false);
+}