summaryrefslogtreecommitdiffstats
path: root/Project/SumForm.cpp
diff options
context:
space:
mode:
authorThales1330 <thaleslima.ufu@gmail.com>2017-03-09 15:09:43 -0300
committerThales1330 <thaleslima.ufu@gmail.com>2017-03-09 15:09:43 -0300
commit21ebf63bb59357000f9bb44acde176d4ff169c01 (patch)
tree2e3603bb0640b089d81844c5d37a8f6b5ce8da33 /Project/SumForm.cpp
parenta1890bd024e0baea393480810709f43208825b9a (diff)
downloadPSP.git-21ebf63bb59357000f9bb44acde176d4ff169c01.tar.gz
PSP.git-21ebf63bb59357000f9bb44acde176d4ff169c01.tar.xz
PSP.git-21ebf63bb59357000f9bb44acde176d4ff169c01.zip
Sum implemented
Diffstat (limited to 'Project/SumForm.cpp')
-rw-r--r--Project/SumForm.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/Project/SumForm.cpp b/Project/SumForm.cpp
index 4742eaa..2bb7c67 100644
--- a/Project/SumForm.cpp
+++ b/Project/SumForm.cpp
@@ -37,7 +37,11 @@ bool SumForm::ValidateData()
for(int i = 0; i < (int)m_textCtrlSigns->GetValue().length(); ++i) {
if(m_textCtrlSigns->GetValue()[i] != ' ') signalStr += m_textCtrlSigns->GetValue()[i];
}
- if(signalStr.size() < 2) return false;
+ if(signalStr.size() < 2){
+ wxMessageDialog msg(this, _("You must assign at least two signals."), _("Error"), wxOK | wxCENTRE | wxICON_ERROR);
+ msg.ShowModal();
+ return false;
+ }
std::vector<Sum::Signal> signalList;
for(int i = 0; i < (int)signalStr.length(); ++i) {
@@ -49,6 +53,8 @@ bool SumForm::ValidateData()
signalList.push_back(Sum::SIGNAL_NEGATIVE);
} break;
default: {
+ wxMessageDialog msg(this, _("Value entered incorrectly in the field \"Signs\"."), _("Error"), wxOK | wxCENTRE | wxICON_ERROR);
+ msg.ShowModal();
return false;
}
}
@@ -57,14 +63,14 @@ bool SumForm::ValidateData()
int diff = (int)signalList.size() - (int)m_sum->GetSignalList().size();
if(diff < 0) {
-
+ diff = std::abs(diff);
+ for(int i = 0; i < diff; ++i) {
+ m_sum->RemoveInNode();
+ }
} else if(diff > 0) {
- auto nodeList = m_sum->GetNodeList();
for(int i = 0; i < diff; ++i) {
- Node* newNode = new Node();
- nodeList.insert(nodeList.end() - 1, newNode);
+ m_sum->AddInNode();
}
- m_sum->SetNodeList(nodeList);
}
m_sum->SetSignalList(signalList);
m_sum->UpdatePoints();