diff options
author | Thales Lima Oliveira <thaleslima.ufu@gmail.com> | 2017-04-07 17:49:47 -0300 |
---|---|---|
committer | Thales Lima Oliveira <thaleslima.ufu@gmail.com> | 2017-04-07 17:49:47 -0300 |
commit | d13b7013afa5ba1d40ee52e77eabd43bfd1b4acd (patch) | |
tree | 204ed52f4a2328abeab137285a4a50e63fedf2c3 /Project/IOControlForm.cpp | |
parent | ed36957d2d06ce9484e39be699bc41b521bdb090 (diff) | |
download | PSP.git-d13b7013afa5ba1d40ee52e77eabd43bfd1b4acd.tar.gz PSP.git-d13b7013afa5ba1d40ee52e77eabd43bfd1b4acd.tar.xz PSP.git-d13b7013afa5ba1d40ee52e77eabd43bfd1b4acd.zip |
generic controls gui implemented
Diffstat (limited to 'Project/IOControlForm.cpp')
-rw-r--r-- | Project/IOControlForm.cpp | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/Project/IOControlForm.cpp b/Project/IOControlForm.cpp index 374ce27..8a848d9 100644 --- a/Project/IOControlForm.cpp +++ b/Project/IOControlForm.cpp @@ -1,69 +1,59 @@ #include "IOControlForm.h" -IOControlForm::IOControlForm(wxWindow* parent, IOControl* ioControl) - : IOControlFormBase(parent) +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(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(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(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(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(m_ioControl->GetValue() == IOControl::OUT_FIELD_VOLTAGE) 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(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_choiceOutput->SetSelection(outChoiceNumber); m_checkBoxInput->SetValue(false); m_checkBoxOutput->SetValue(true); m_choiceInput->Enable(false); } - } -IOControlForm::~IOControlForm() -{ -} +IOControlForm::~IOControlForm() {} void IOControlForm::OnOKButtonClick(wxCommandEvent& event) { if(ValidateData()) EndModal(wxID_OK); @@ -71,11 +61,20 @@ void IOControlForm::OnOKButtonClick(wxCommandEvent& event) bool IOControlForm::ValidateData() { + if(m_checkBoxInput->GetValue() && m_choiceInput->GetSelection() != -1) { + m_ioControl->SetValue(m_inputFlags[m_choiceInput->GetSelection()]); + return true; + } else if(m_checkBoxOutput->GetValue() && m_choiceOutput->GetSelection() != -1) { + m_ioControl->SetValue(m_outputFlags[m_choiceOutput->GetSelection()]); + return true; + } + return false; } void IOControlForm::OnInputChecked(wxCommandEvent& event) { + m_checkBoxInput->SetValue(true); m_checkBoxOutput->SetValue(false); m_choiceOutput->Enable(false); m_choiceInput->Enable(true); @@ -83,6 +82,7 @@ void IOControlForm::OnInputChecked(wxCommandEvent& event) void IOControlForm::OnOutputChecked(wxCommandEvent& event) { + m_checkBoxOutput->SetValue(true); m_checkBoxInput->SetValue(false); m_choiceOutput->Enable(true); m_choiceInput->Enable(false); |