55#include < ClusterData/ClusterData.h>
66#include < ColorData/ColorData.h>
77
8- #include < QMenu >
8+ #include < actions/LabelProxyAction.h >
99
1010using namespace mv ;
1111using namespace mv ::gui;
@@ -34,8 +34,8 @@ DatasetsAction::DatasetsAction(QObject* parent, const QString& title) :
3434
3535 addAction (&_positionDatasetPickerAction);
3636 addAction (&_colorDatasetPickerAction);
37- addAction (const_cast <DatasetPickerAction*>(&pointPlotAction.getSizeAction ().getSourceDatasetPickerAction ()));
38- addAction (const_cast <DatasetPickerAction*>(&pointPlotAction.getOpacityAction ().getSourceDatasetPickerAction ()));
37+ addAction (new LabelProxyAction ( this , " Size " , const_cast <DatasetPickerAction*>(&pointPlotAction.getSizeAction ().getSourceDatasetPickerAction () )));
38+ addAction (new LabelProxyAction ( this , " Opacity " , const_cast <DatasetPickerAction*>(&pointPlotAction.getOpacityAction ().getSourceDatasetPickerAction () )));
3939
4040 _positionDatasetPickerAction.setDefaultWidgetFlag (OptionAction::Clearable);
4141 _colorDatasetPickerAction.setDefaultWidgetFlag (OptionAction::Clearable);
@@ -44,8 +44,6 @@ DatasetsAction::DatasetsAction(QObject* parent, const QString& title) :
4444
4545 const auto invalidateFilters = [this , scatterplotPlugin]() -> void {
4646 _colorDatasetPickerAction.invalidateFilter ();
47- // _pointSizeDatasetPickerAction.invalidateFilter();
48- // _pointOpacityDatasetPickerAction.invalidateFilter();
4947 };
5048
5149 connect (&_positionDatasetPickerAction, &DatasetPickerAction::datasetPicked, [this , scatterplotPlugin, invalidateFilters](Dataset<DatasetImpl> pickedDataset) -> void {
@@ -115,8 +113,6 @@ void DatasetsAction::setupDatasetPickerActions(ScatterplotPlugin* scatterplotPlu
115113{
116114 setupPositionDatasetPickerAction (scatterplotPlugin);
117115 setupColorDatasetPickerAction (scatterplotPlugin);
118- setupPointSizeDatasetPickerAction (scatterplotPlugin);
119- setupPointOpacityDatasetPickerAction (scatterplotPlugin);
120116}
121117
122118void DatasetsAction::setupPositionDatasetPickerAction (ScatterplotPlugin* scatterplotPlugin)
@@ -171,89 +167,6 @@ void DatasetsAction::setupColorDatasetPickerAction(ScatterplotPlugin* scatterplo
171167 });
172168}
173169
174- void DatasetsAction::setupPointSizeDatasetPickerAction (ScatterplotPlugin* scatterplotPlugin)
175- {
176- auto & settingsAction = scatterplotPlugin->getSettingsAction ();
177- auto & pointPlotAction = settingsAction.getPlotAction ().getPointPlotAction ();
178- auto & pointSizeAction = pointPlotAction.getSizeAction ();
179- /*
180- _pointSizeDatasetPickerAction.setFilterFunction([this, scatterplotPlugin](mv::Dataset<DatasetImpl> dataset) -> bool {
181- if (!scatterplotPlugin->getPositionDataset().isValid())
182- return false;
183-
184- if (dataset->getDataType() != PointType)
185- return false;
186-
187- return true;
188- });
189-
190- connect(&_pointSizeDatasetPickerAction, &DatasetPickerAction::currentIndexChanged, this, [this, &pointPlotAction, &pointSizeAction, scatterplotPlugin](const int32_t& currentIndex) -> void {
191- const auto& pointSizeDataset = _pointSizeDatasetPickerAction.getCurrentDataset();
192-
193- if (pointSizeDataset.isValid())
194- disconnect(&_pointSizeDataset, &Dataset<>::guiNameChanged, this, nullptr);
195-
196- _pointSizeDataset = pointSizeDataset;
197-
198- connect(&_pointSizeDataset, &Dataset<>::guiNameChanged, scatterplotPlugin, &ScatterplotPlugin::updateHeadsUpDisplay);
199-
200- pointPlotAction.setCurrentPointSizeDataset(_pointSizeDataset);
201-
202- if (!_pointSizeDataset.isValid())
203- pointSizeAction.setCurrentSourceIndex(ScalarSourceModel::DefaultRow::Constant);
204- });
205-
206- connect(&pointSizeAction, &ScalarAction::sourceSelectionChanged, this, [this, &pointSizeAction](const uint32_t& sourceSelectionIndex) -> void {
207- _pointSizeDatasetPickerAction.setCurrentDataset(pointSizeAction.isSourceDataset() ? pointSizeAction.getCurrentDataset() : nullptr);
208-
209- if (!pointSizeAction.isSourceDataset())
210- _pointSizeDatasetPickerAction.setCurrentIndex(-1);
211- });
212- */
213- }
214-
215- void DatasetsAction::setupPointOpacityDatasetPickerAction (ScatterplotPlugin* scatterplotPlugin)
216- {
217- auto & settingsAction = scatterplotPlugin->getSettingsAction ();
218- auto & pointPlotAction = settingsAction.getPlotAction ().getPointPlotAction ();
219- auto & pointOpacityAction = pointPlotAction.getOpacityAction ();
220-
221- /*
222- _pointOpacityDatasetPickerAction.setFilterFunction([this, scatterplotPlugin](mv::Dataset<DatasetImpl> dataset) -> bool {
223- if (!scatterplotPlugin->getPositionDataset().isValid())
224- return false;
225-
226- if (dataset->getDataType() != PointType)
227- return false;
228-
229- return true;
230- });
231-
232- connect(&_pointOpacityDatasetPickerAction, &DatasetPickerAction::currentIndexChanged, this, [this, &pointPlotAction, &pointOpacityAction, scatterplotPlugin](const int32_t& currentIndex) -> void {
233- const auto& pointOpacityDataset = _pointOpacityDatasetPickerAction.getCurrentDataset();
234-
235- if (pointOpacityDataset.isValid())
236- disconnect(&_pointOpacityDataset, &Dataset<>::guiNameChanged, this, nullptr);
237-
238- _pointOpacityDataset = pointOpacityDataset;
239-
240- connect(&_pointOpacityDataset, &Dataset<>::guiNameChanged, scatterplotPlugin, &ScatterplotPlugin::updateHeadsUpDisplay);
241-
242- pointPlotAction.setCurrentPointOpacityDataset(_pointOpacityDataset);
243-
244- if (!_pointOpacityDataset.isValid())
245- pointOpacityAction.setCurrentSourceIndex(ScalarSourceModel::DefaultRow::Constant);
246- });
247-
248- connect(&pointOpacityAction, &ScalarAction::sourceSelectionChanged, this, [this, &pointOpacityAction](const uint32_t& sourceSelectionIndex) -> void {
249- _pointOpacityDatasetPickerAction.setCurrentDataset(pointOpacityAction.isSourceDataset() ? pointOpacityAction.getCurrentDataset() : nullptr);
250-
251- if (!pointOpacityAction.isSourceDataset())
252- _pointOpacityDatasetPickerAction.setCurrentIndex(-1);
253- });
254- */
255- }
256-
257170void DatasetsAction::invalidateDatasetPickerActionFilters ()
258171{
259172 _positionDatasetPickerAction.invalidateFilter ();
0 commit comments