From d13b7013afa5ba1d40ee52e77eabd43bfd1b4acd Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Fri, 7 Apr 2017 17:49:47 -0300 Subject: generic controls gui implemented --- Project/ControlElementContainer.cpp | 63 +++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 Project/ControlElementContainer.cpp (limited to 'Project/ControlElementContainer.cpp') diff --git a/Project/ControlElementContainer.cpp b/Project/ControlElementContainer.cpp new file mode 100644 index 0000000..062807a --- /dev/null +++ b/Project/ControlElementContainer.cpp @@ -0,0 +1,63 @@ +#include "ControlElementContainer.h" +#include "ControlEditor.h"; +#include "ControlElement.h"; +#include "ConnectionLine.h"; +#include "Constant.h"; +#include "Exponential.h"; +#include "Gain.h"; +#include "IOControl.h"; +#include "Limiter.h"; +#include "Multiplier.h"; +#include "RateLimiter.h"; +#include "Sum.h"; +#include "TransferFunction.h"; + +ControlElementContainer::ControlElementContainer() +{ +} + +ControlElementContainer::~ControlElementContainer() +{ +} + +void ControlElementContainer::FillContainer(ControlEditor* editor) +{ + ClearContainer(); + m_cLineList = editor->GetConnectionLineList(); + auto cElementList = editor->GetControlElementList(); + for(auto it = cElementList.begin(), itEnd = cElementList.end(); it != itEnd; ++it) { + if(Constant* constant = dynamic_cast(*it)) { + m_constantList.push_back(constant); + } else if(Exponential* exponential = dynamic_cast(*it)) { + m_exponentialList.push_back(exponential); + } else if(Gain* gain = dynamic_cast(*it)) { + m_gainList.push_back(gain); + } else if(IOControl* ioControl = dynamic_cast(*it)) { + m_ioControlList.push_back(IOControl); + } else if(Limiter* limiter = dynamic_cast(*it)) { + m_limiterList.push_back(limiter); + } else if(Multiplier* multiplier = dynamic_cast(*it)) { + m_multiplierList.push_back(limiter); + } else if(RateLimiter* rateLimiter = dynamic_cast(*it)) { + m_rateLimiterList.push_back(rateLimiter); + } else if(Sum* sum = dynamic_cast(*it)) { + m_sumList.push_back(sum); + } else if(TransferFunction* tf = dynamic_cast(*it)) { + m_tfList.push_back(tf); + } + } +} + +void ControlElementContainer::ClearContainer() +{ + m_cLineList.clear(); + m_constantList.clear(); + m_exponentialList.clear(); + m_gainList.clear(); + m_ioControlList.clear(); + m_limiterList.clear(); + m_multiplierList.clear(); + m_rateLimiterList.clear(); + m_sumList.clear(); + m_tfList.clear(); +} -- cgit From f19803bc64885bcfaef15cfd7a8139c28d3dd506 Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Sat, 8 Apr 2017 16:31:25 -0300 Subject: Control editor export under implementation File handling --- Project/ControlElementContainer.cpp | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-) (limited to 'Project/ControlElementContainer.cpp') diff --git a/Project/ControlElementContainer.cpp b/Project/ControlElementContainer.cpp index 062807a..0e0e9d4 100644 --- a/Project/ControlElementContainer.cpp +++ b/Project/ControlElementContainer.cpp @@ -1,25 +1,9 @@ #include "ControlElementContainer.h" -#include "ControlEditor.h"; -#include "ControlElement.h"; -#include "ConnectionLine.h"; -#include "Constant.h"; -#include "Exponential.h"; -#include "Gain.h"; -#include "IOControl.h"; -#include "Limiter.h"; -#include "Multiplier.h"; -#include "RateLimiter.h"; -#include "Sum.h"; -#include "TransferFunction.h"; - -ControlElementContainer::ControlElementContainer() -{ -} - -ControlElementContainer::~ControlElementContainer() -{ -} +#include "ControlEditor.h" +#include "ControlElement.h" +ControlElementContainer::ControlElementContainer() {} +ControlElementContainer::~ControlElementContainer() {} void ControlElementContainer::FillContainer(ControlEditor* editor) { ClearContainer(); @@ -33,11 +17,11 @@ void ControlElementContainer::FillContainer(ControlEditor* editor) } else if(Gain* gain = dynamic_cast(*it)) { m_gainList.push_back(gain); } else if(IOControl* ioControl = dynamic_cast(*it)) { - m_ioControlList.push_back(IOControl); + m_ioControlList.push_back(ioControl); } else if(Limiter* limiter = dynamic_cast(*it)) { m_limiterList.push_back(limiter); } else if(Multiplier* multiplier = dynamic_cast(*it)) { - m_multiplierList.push_back(limiter); + m_multiplierList.push_back(multiplier); } else if(RateLimiter* rateLimiter = dynamic_cast(*it)) { m_rateLimiterList.push_back(rateLimiter); } else if(Sum* sum = dynamic_cast(*it)) { @@ -45,7 +29,7 @@ void ControlElementContainer::FillContainer(ControlEditor* editor) } else if(TransferFunction* tf = dynamic_cast(*it)) { m_tfList.push_back(tf); } - } + } } void ControlElementContainer::ClearContainer() -- cgit From b43f89144d6122b3100efb3971c8fa32a3001888 Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Tue, 18 Apr 2017 19:05:35 -0300 Subject: Some bugfixes and generalization --- Project/ControlElementContainer.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'Project/ControlElementContainer.cpp') diff --git a/Project/ControlElementContainer.cpp b/Project/ControlElementContainer.cpp index 0e0e9d4..f5372a8 100644 --- a/Project/ControlElementContainer.cpp +++ b/Project/ControlElementContainer.cpp @@ -7,6 +7,7 @@ ControlElementContainer::~ControlElementContainer() {} void ControlElementContainer::FillContainer(ControlEditor* editor) { ClearContainer(); + m_ctrlElementsList = editor->GetControlElementList(); m_cLineList = editor->GetConnectionLineList(); auto cElementList = editor->GetControlElementList(); for(auto it = cElementList.begin(), itEnd = cElementList.end(); it != itEnd; ++it) { @@ -45,3 +46,9 @@ void ControlElementContainer::ClearContainer() m_sumList.clear(); m_tfList.clear(); } + +void ControlElementContainer::FillContainer(std::vector controlElementList, std::vector connectionLineList) +{ + m_ctrlElementsList = controlElementList; + m_cLineList = connectionLineList; +} -- cgit