Skip to content

Commit e6f6a8b

Browse files
committed
Make SettingsAction and toolbar QPointers
Convert SettingsAction and HorizontalToolbarAction members to QPointer types and create them with new, updating construction and all call sites accordingly. Update ScatterplotPlugin::getSettingsAction() to return a reference to the dereferenced QPointer. Replace direct member accesses with pointer-style (->) calls and adjust several call sites to obtain SettingsAction via dynamic_cast from parent()/parent()->parent() where appropriate (DatasetsAction, DensityPlotAction). Miscellaneous fixes: update toolbar widget creation, parent assignment, and serialization calls to use the new pointer members; small formatting and reference adjustments throughout impacted files.
1 parent 05df957 commit e6f6a8b

File tree

4 files changed

+69
-69
lines changed

4 files changed

+69
-69
lines changed

src/DatasetsAction.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ DatasetsAction::DatasetsAction(QObject* parent, const QString& title) :
2828
if (scatterplotPlugin == nullptr)
2929
return;
3030

31-
auto& settingsAction = scatterplotPlugin->getSettingsAction();
31+
auto& settingsAction = *dynamic_cast<SettingsAction*>(parent);
3232
auto& plotAction = settingsAction.getPlotAction();
3333
auto& pointPlotAction = plotAction.getPointPlotAction();
3434

@@ -132,7 +132,7 @@ void DatasetsAction::setupPositionDatasetPickerAction(ScatterplotPlugin* scatter
132132

133133
void DatasetsAction::setupColorDatasetPickerAction(ScatterplotPlugin* scatterplotPlugin)
134134
{
135-
auto& settingsAction = scatterplotPlugin->getSettingsAction();
135+
auto& settingsAction = *dynamic_cast<SettingsAction*>(parent());
136136

137137
_colorDatasetPickerAction.setFilterFunction([this, scatterplotPlugin](mv::Dataset<DatasetImpl> dataset) -> bool {
138138
if (!(dataset->getDataType() == PointType || dataset->getDataType() == ColorType || dataset->getDataType() == ClusterType))

src/DensityPlotAction.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ void DensityPlotAction::initialize(ScatterplotPlugin* scatterplotPlugin)
3030
_scatterplotPlugin = scatterplotPlugin;
3131

3232
const auto computeDensity = [this]() -> void {
33-
if (static_cast<std::int32_t>(_scatterplotPlugin->getSettingsAction().getRenderModeAction().getCurrentIndex()) == ScatterplotWidget::RenderMode::SCATTERPLOT)
33+
if (static_cast<std::int32_t>(dynamic_cast<SettingsAction*>(parent()->parent())->getRenderModeAction().getCurrentIndex()) == ScatterplotWidget::RenderMode::SCATTERPLOT)
3434
return;
3535

3636
_scatterplotPlugin->getScatterplotWidget().setSigma(_sigmaAction.getValue());
3737

3838
const auto maxDensity = _scatterplotPlugin->getScatterplotWidget().getDensityRenderer().getMaxDensity();
3939

4040
if (maxDensity > 0)
41-
_scatterplotPlugin->getSettingsAction().getColoringAction().getColorMap1DAction().getRangeAction(ColorMapAction::Axis::X).setRange({ 0.0f, maxDensity });
41+
dynamic_cast<SettingsAction*>(parent()->parent())->getColoringAction().getColorMap1DAction().getRangeAction(ColorMapAction::Axis::X).setRange({ 0.0f, maxDensity });
4242
};
4343

4444
connect(&_sigmaAction, &DecimalAction::valueChanged, this, computeDensity);
@@ -59,7 +59,7 @@ void DensityPlotAction::initialize(ScatterplotPlugin* scatterplotPlugin)
5959
computeDensity();
6060
});
6161

62-
connect(&_scatterplotPlugin->getSettingsAction().getRenderModeAction(), &OptionAction::currentIndexChanged, this, computeDensity);
62+
connect(&dynamic_cast<SettingsAction*>(parent()->parent())->getRenderModeAction(), &OptionAction::currentIndexChanged, this, computeDensity);
6363

6464
updateSigmaAction();
6565
computeDensity();

0 commit comments

Comments
 (0)