##// END OF EJS Templates
Fixes the refresh of data that was not working all the time
Fixes the refresh of data that was not working all the time

File last commit:

r1120:a02153d618e2
r1324:c436df4b66de
Show More
VisualizationSelectionZoneManager.cpp
51 lines | 1.5 KiB | text/x-c | CppLexer
/ gui / src / Visualization / VisualizationSelectionZoneManager.cpp
multi selection of zones
r1089 #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);
Add action to remove the selected zone with the "del" buttons
r1117 item->parentPlot()->replot(QCustomPlot::rpQueuedReplot);
multi selection of zones
r1089 }
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);
Selection of stacked zone via a dialog box
r1120 item->parentPlot()->replot(QCustomPlot::rpQueuedReplot);
multi selection of zones
r1089 }
impl->m_SelectedItems.clear();
}
QVector<VisualizationSelectionZoneItem *> VisualizationSelectionZoneManager::selectedItems() const
{
return impl->m_SelectedItems;
}