##// END OF EJS Templates
Passes FuzzingState and variable id instead VariableState to the methods of operations
Passes FuzzingState and variable id instead VariableState to the methods of operations

File last commit:

r1120:a02153d618e2
r1236:ea04bef9c90c
Show More
VisualizationSelectionZoneManager.cpp
51 lines | 1.5 KiB | text/x-c | CppLexer
/ gui / src / Visualization / VisualizationSelectionZoneManager.cpp
#include "Visualization/VisualizationSelectionZoneManager.h"
#include "Visualization/VisualizationSelectionZoneItem.h"
struct VisualizationSelectionZoneManager::VisualizationSelectionZoneManagerPrivate {
QVector<VisualizationSelectionZoneItem *> m_SelectedItems;
};
VisualizationSelectionZoneManager::VisualizationSelectionZoneManager()
: impl{spimpl::make_unique_impl<VisualizationSelectionZoneManagerPrivate>()}
{
}
void VisualizationSelectionZoneManager::select(
const QVector<VisualizationSelectionZoneItem *> &items)
{
clearSelection();
for (auto item : items) {
setSelected(item, true);
}
}
void VisualizationSelectionZoneManager::setSelected(VisualizationSelectionZoneItem *item,
bool value)
{
if (value != item->selected()) {
item->setSelected(value);
item->parentPlot()->replot(QCustomPlot::rpQueuedReplot);
}
if (!value && impl->m_SelectedItems.contains(item)) {
impl->m_SelectedItems.removeAll(item);
}
else if (value) {
impl->m_SelectedItems << item;
}
}
void VisualizationSelectionZoneManager::clearSelection()
{
for (auto item : impl->m_SelectedItems) {
item->setSelected(false);
item->parentPlot()->replot(QCustomPlot::rpQueuedReplot);
}
impl->m_SelectedItems.clear();
}
QVector<VisualizationSelectionZoneItem *> VisualizationSelectionZoneManager::selectedItems() const
{
return impl->m_SelectedItems;
}