@@ -415,8 +415,27 @@ void ScatterplotPlugin::init()
415415
416416 connect (&_positionDataset, &Dataset<>::changed, this , &ScatterplotPlugin::updateHeadsUpDisplay);
417417 connect (&_positionDataset, &Dataset<>::guiNameChanged, this , &ScatterplotPlugin::updateHeadsUpDisplay);
418- connect (&_settingsAction.getColoringAction (), &ColoringAction::currentColorDatasetChanged, this , &ScatterplotPlugin::updateHeadsUpDisplay);
419- connect (&_settingsAction.getColoringAction ().getColorByAction (), &OptionAction::currentIndexChanged, this , &ScatterplotPlugin::updateHeadsUpDisplay);
418+ connect (&_positionDataset, &Dataset<>::guiNameChanged, this , &ScatterplotPlugin::updateHeadsUpDisplay);
419+
420+ const auto currentColorDatasetChanged = [this ](Dataset<DatasetImpl> currentColorDataset) -> void {
421+ if (_colorDataset == currentColorDataset)
422+ return ;
423+
424+ if (_colorDataset.isValid ())
425+ disconnect (&_colorDataset, &Dataset<>::guiNameChanged, this , nullptr );
426+
427+ _colorDataset = currentColorDataset;
428+
429+ connect (&_colorDataset, &Dataset<>::guiNameChanged, this , &ScatterplotPlugin::updateHeadsUpDisplay);
430+
431+ updateHeadsUpDisplay ();
432+ };
433+
434+ connect (&_settingsAction.getColoringAction (), &ColoringAction::currentColorDatasetChanged, this , currentColorDatasetChanged);
435+ connect (&_settingsAction.getColoringAction ().getColorByAction (), &OptionAction::currentIndexChanged, this , [this , currentColorDatasetChanged](const std::int32_t & currentIndex) -> void {
436+ currentColorDatasetChanged (_settingsAction.getColoringAction ().getCurrentColorDataset ());
437+ });
438+
420439 connect (&_settingsAction.getPlotAction ().getPointPlotAction ().getSizeAction (), &ScalarAction::sourceDataChanged, this , &ScatterplotPlugin::updateHeadsUpDisplay);
421440 connect (&_settingsAction.getPlotAction ().getPointPlotAction ().getOpacityAction (), &ScalarAction::sourceDataChanged, this , &ScatterplotPlugin::updateHeadsUpDisplay);
422441
@@ -1034,7 +1053,9 @@ void ScatterplotPlugin::updateHeadsUpDisplay()
10341053 getHeadsUpDisplayAction ().addHeadsUpDisplayItem (QString (" %1 by:" ).arg (metaDataName), data->getGuiName (), " " , itemPtr);
10351054 };
10361055
1037- addMetaDataToHeadsUpDisplay (" Color" , _settingsAction.getColoringAction ().getCurrentColorDataset (), datasetsItem);
1056+ if (_settingsAction.getColoringAction ().getColorByAction ().getCurrentIndex () >= 2 )
1057+ addMetaDataToHeadsUpDisplay (" Color" , _colorDataset, datasetsItem);
1058+
10381059 addMetaDataToHeadsUpDisplay (" Size" , _settingsAction.getPlotAction ().getPointPlotAction ().getSizeAction ().getCurrentDataset (), datasetsItem);
10391060 addMetaDataToHeadsUpDisplay (" Opacity" , _settingsAction.getPlotAction ().getPointPlotAction ().getOpacityAction ().getCurrentDataset (), datasetsItem);
10401061
0 commit comments