Skip to content

Commit ede22db

Browse files
committed
Invalidate dataset picker filters
Add DatasetsAction::invalidateDatasetPickerActionFilters() (declared in the header and implemented) which calls invalidateFilter() on all dataset picker actions (_position, _color, _pointSize, _pointOpacity). Update ScatterplotPlugin::init() to call this new method instead of setupDatasetPickerActions() when initializing so picker filters are refreshed to reflect the current datasets without reinitializing the actions.
1 parent ec9315b commit ede22db

3 files changed

Lines changed: 13 additions & 2 deletions

File tree

src/DatasetsAction.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,3 +244,11 @@ void DatasetsAction::setupPointOpacityDatasetPickerAction(ScatterplotPlugin* sca
244244
_pointOpacityDatasetPickerAction.setCurrentIndex(-1);
245245
});
246246
}
247+
248+
void DatasetsAction::invalidateDatasetPickerActionFilters()
249+
{
250+
_positionDatasetPickerAction.invalidateFilter();
251+
_colorDatasetPickerAction.invalidateFilter();
252+
_pointSizeDatasetPickerAction.invalidateFilter();
253+
_pointOpacityDatasetPickerAction.invalidateFilter();
254+
}

src/DatasetsAction.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,9 @@ class DatasetsAction : public GroupAction
8585
*/
8686
void setupPointOpacityDatasetPickerAction(ScatterplotPlugin* scatterplotPlugin);
8787

88+
/** Update the filters of the dataset picker actions based on the current datasets in the scatter plot plugin */
89+
void invalidateDatasetPickerActionFilters();
90+
8891
public: // Action getters
8992

9093
DatasetPickerAction& getPositionDatasetPickerAction() { return _positionDatasetPickerAction; }

src/ScatterplotPlugin.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -411,10 +411,10 @@ void ScatterplotPlugin::init()
411411

412412
if (mv::projects().isOpeningProject()) {
413413
connect(&mv::projects(), &AbstractProjectManager::projectOpened, this, [this, &datasetsAction]() -> void {
414-
datasetsAction.setupDatasetPickerActions(this);
414+
datasetsAction.invalidateDatasetPickerActionFilters();
415415
});
416416
} else {
417-
datasetsAction.setupDatasetPickerActions(this);
417+
datasetsAction.invalidateDatasetPickerActionFilters();
418418
}
419419
}
420420

0 commit comments

Comments
 (0)