Skip to content

Commit b281cea

Browse files
committed
Revamp bottom toolbar
1 parent b60a188 commit b281cea

File tree

7 files changed

+35
-205
lines changed

7 files changed

+35
-205
lines changed

CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,6 @@ set(Actions
7878
src/ExportAction.cpp
7979
src/DatasetsAction.h
8080
src/DatasetsAction.cpp
81-
src/NavigationAction.h
82-
src/NavigationAction.cpp
8381
)
8482

8583
set(Models

src/NavigationAction.cpp

Lines changed: 0 additions & 100 deletions
This file was deleted.

src/NavigationAction.h

Lines changed: 0 additions & 83 deletions
This file was deleted.

src/ScatterplotPlugin.cpp

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ ScatterplotPlugin::ScatterplotPlugin(const PluginFactory* factory) :
4747
_scatterPlotWidget(new ScatterplotWidget(this)),
4848
_numPoints(0),
4949
_settingsAction(this, "Settings"),
50-
_primaryToolbarAction(this, "Primary Toolbar"),
51-
_secondaryToolbarAction(this, "Secondary Toolbar")
50+
_primaryToolbarAction(this, "Primary Toolbar")
5251
{
5352
setObjectName("Scatterplot");
5453

@@ -105,11 +104,7 @@ ScatterplotPlugin::ScatterplotPlugin(const PluginFactory* factory) :
105104
connect(_scatterPlotWidget, &ScatterplotWidget::renderModeChanged, this, updateReadOnly);
106105
connect(&_positionDataset, &Dataset<Points>::changed, this, updateReadOnly);
107106

108-
_secondaryToolbarAction.addAction(&_settingsAction.getColoringAction().getColorMap1DAction(), 1);
109-
_secondaryToolbarAction.addAction(focusSelectionAction, 2);
110-
//_secondaryToolbarAction.addAction(&_settingsAction.getExportAction());
111-
_secondaryToolbarAction.addAction(&_settingsAction.getMiscellaneousAction());
112-
_secondaryToolbarAction.addAction(&_scatterPlotWidget->getNavigationAction());
107+
//_secondaryToolbarAction.addAction(&_settingsAction.getMiscellaneousAction());
113108

114109
connect(_scatterPlotWidget, &ScatterplotWidget::customContextMenuRequested, this, [this](const QPoint& point) {
115110
if (!_positionDataset.isValid())
@@ -252,7 +247,23 @@ void ScatterplotPlugin::init()
252247
layout->setSpacing(0);
253248
layout->addWidget(_primaryToolbarAction.createWidget(&getWidget()));
254249
layout->addWidget(_scatterPlotWidget, 100);
255-
layout->addWidget(_secondaryToolbarAction.createWidget(&getWidget()));
250+
251+
auto navigationLayout = new QHBoxLayout();
252+
253+
navigationLayout->addStretch(1);
254+
{
255+
auto renderersNavigationGroupAction = new HorizontalGroupAction(this, "Renderers Navigation");
256+
257+
renderersNavigationGroupAction->setShowLabels(false);
258+
259+
renderersNavigationGroupAction->addAction(const_cast<NavigationAction*>(&_scatterPlotWidget->getPointRenderer().getNavigator().getNavigationAction()));
260+
renderersNavigationGroupAction->addAction(const_cast<NavigationAction*>(&_scatterPlotWidget->getDensityRenderer().getNavigator().getNavigationAction()));
261+
262+
navigationLayout->addWidget(renderersNavigationGroupAction->createWidget(&getWidget()));
263+
}
264+
navigationLayout->addStretch(1);
265+
266+
layout->addLayout(navigationLayout);
256267

257268
getWidget().setLayout(layout);
258269

@@ -325,6 +336,10 @@ void ScatterplotPlugin::init()
325336
return pointIndicesTableWidget;
326337
});
327338
#endif
339+
340+
_scatterPlotWidget->updateNavigationActionVisibility();
341+
342+
connect(&_settingsAction.getRenderModeAction(), &OptionAction::currentIndexChanged, _scatterPlotWidget, &ScatterplotWidget::updateNavigationActionVisibility);
328343
}
329344

330345
void ScatterplotPlugin::loadData(const Datasets& datasets)
@@ -804,7 +819,6 @@ void ScatterplotPlugin::fromVariantMap(const QVariantMap& variantMap)
804819
variantMapMustContain(variantMap, "Settings");
805820

806821
_primaryToolbarAction.fromParentVariantMap(variantMap);
807-
_secondaryToolbarAction.fromParentVariantMap(variantMap);
808822
_settingsAction.fromParentVariantMap(variantMap);
809823

810824
_scatterPlotWidget->getNavigationAction().fromParentVariantMap(variantMap);
@@ -815,7 +829,6 @@ QVariantMap ScatterplotPlugin::toVariantMap() const
815829
QVariantMap variantMap = ViewPlugin::toVariantMap();
816830

817831
_primaryToolbarAction.insertIntoVariantMap(variantMap);
818-
_secondaryToolbarAction.insertIntoVariantMap(variantMap);
819832
_settingsAction.insertIntoVariantMap(variantMap);
820833

821834
_scatterPlotWidget->getNavigationAction().insertIntoVariantMap(variantMap);
@@ -916,5 +929,5 @@ PluginTriggerActions ScatterplotPluginFactory::getPluginTriggerActions(const mv:
916929

917930
QUrl ScatterplotPluginFactory::getRepositoryUrl() const
918931
{
919-
return QUrl("https://github.com/ManiVaultStudio/Scatterplot");
932+
return { "https://github.com/ManiVaultStudio/Scatterplot" };
920933
}

src/ScatterplotPlugin.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,6 @@ class ScatterplotPlugin : public ViewPlugin
119119

120120
SettingsAction _settingsAction; /** Group action for all settings */
121121
HorizontalToolbarAction _primaryToolbarAction; /** Horizontal toolbar for primary content */
122-
HorizontalToolbarAction _secondaryToolbarAction; /** Secondary toolbar for secondary content */
123122

124123
static const std::int32_t LAZY_UPDATE_INTERVAL = 2;
125124

src/ScatterplotWidget.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,6 @@ ScatterplotWidget::ScatterplotWidget(mv::plugin::ViewPlugin* parentPlugin) :
5757
grabGesture(Qt::PinchGesture);
5858
installEventFilter(this);
5959

60-
_navigationAction.initialize(this);
61-
6260
_pixelSelectionTool.setEnabled(true);
6361
_pixelSelectionTool.setMainColor(QColor(Qt::black));
6462
_pixelSelectionTool.setFixedBrushRadiusModifier(Qt::AltModifier);
@@ -111,10 +109,6 @@ ScatterplotWidget::ScatterplotWidget(mv::plugin::ViewPlugin* parentPlugin) :
111109
QObject::connect(winHandle, &QWindow::screenChanged, this, &ScatterplotWidget::updatePixelRatio, Qt::UniqueConnection);
112110
});
113111

114-
connect(&_navigationAction.getZoomDataExtentsAction(), &TriggerAction::triggered, this, [this]() -> void {
115-
_pointRenderer.getNavigator().resetView();
116-
});
117-
118112
connect(&_pointRenderer.getNavigator(), &Navigator2D::isNavigatingChanged, this, [this](bool isNavigating) -> void {
119113
_pixelSelectionTool.setEnabled(!isNavigating);
120114

@@ -126,6 +120,7 @@ ScatterplotWidget::ScatterplotWidget(mv::plugin::ViewPlugin* parentPlugin) :
126120
}
127121
});
128122

123+
/*
129124
const auto zoomRectangleChanged = [this]() -> void {
130125
_pointRenderer.getNavigator().setZoomRectangleWorld(_navigationAction.getZoomRectangleAction().toRectF());
131126
_densityRenderer.getNavigator().setZoomRectangleWorld(_navigationAction.getZoomRectangleAction().toRectF());
@@ -166,6 +161,7 @@ ScatterplotWidget::ScatterplotWidget(mv::plugin::ViewPlugin* parentPlugin) :
166161
167162
update();
168163
});
164+
*/
169165

170166
_pointRenderer.getNavigator().initialize(this);
171167
_densityRenderer.getNavigator().initialize(this);
@@ -642,6 +638,12 @@ bool ScatterplotWidget::getRandomizedDepthEnabled() const
642638
return _pointRenderer.getRandomizedDepthEnabled();
643639
}
644640

641+
void ScatterplotWidget::updateNavigationActionVisibility()
642+
{
643+
_pointRenderer.getNavigator().getNavigationAction().setVisible(getRenderMode() == ScatterplotWidget::SCATTERPLOT);
644+
_densityRenderer.getNavigator().getNavigationAction().setVisible(getRenderMode() == ScatterplotWidget::DENSITY || getRenderMode() == ScatterplotWidget::LANDSCAPE);
645+
}
646+
645647
void ScatterplotWidget::initializeGL()
646648
{
647649
initializeOpenGLFunctions();

src/ScatterplotWidget.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
#pragma once
22

3-
#include "NavigationAction.h"
4-
53
#include <renderers/DensityRenderer.h>
64
#include <renderers/PointRenderer.h>
75

@@ -217,6 +215,9 @@ class ScatterplotWidget : public QOpenGLWidget, protected QOpenGLFunctions_3_3_C
217215
*/
218216
bool getRandomizedDepthEnabled() const;
219217

218+
/** Toggles the point vs density and landscape renderer visibility based on the current render mode */
219+
void updateNavigationActionVisibility();
220+
220221
protected:
221222
void initializeGL() Q_DECL_OVERRIDE;
222223
void resizeGL(int w, int h) Q_DECL_OVERRIDE;

0 commit comments

Comments
 (0)