Skip to content
Snippets Groups Projects
Commit 8640c8c4 authored by Pospelov, Gennady's avatar Pospelov, Gennady
Browse files

New button on SampleViewToolBar to toggle real space dock

parent 7996ba6f
No related branches found
No related tags found
No related merge requests found
......@@ -131,6 +131,17 @@ SampleToolBar::SampleToolBar(SampleViewActions* sampleActions,
connect(m_RealSpaceViewerButton, &QToolButton::clicked, this, &SampleToolBar::onRealSpaceViewerCall);
addWidget(m_RealSpaceViewerButton);
// RealSpace 3D Viewer, version 2
addWidget(new QLabel(" "));
m_RealSpaceViewerButton2 = new QToolButton;
m_RealSpaceViewerButton2->setText("3D Viewer");
m_RealSpaceViewerButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
m_RealSpaceViewerButton->setToolTip("Open real space 3D viewer.");
connect(m_RealSpaceViewerButton2, &QToolButton::clicked,
m_sampleViewActions, &SampleViewActions::onToggleRealSpaceView);
addWidget(m_RealSpaceViewerButton2);
// Additional actions
m_zoomOutAction = new QAction(this);
m_zoomOutAction->setShortcut(QKeySequence(Qt::Key_Minus));
......
......@@ -67,6 +67,7 @@ private:
QAction* m_zoomOutAction;
QToolButton* m_RealSpaceViewerButton;
QToolButton* m_RealSpaceViewerButton2;
RealSpaceDialog* m_dialog;
SampleViewActions* m_sampleViewActions;
......
......@@ -13,10 +13,15 @@
// ************************************************************************** //
#include "SampleViewActions.h"
#include "SampleView.h"
#include "SampleViewDocks.h"
#include <QDockWidget>
#include <QAction>
SampleViewActions::SampleViewActions(SampleModel* model, QObject* parent)
SampleViewActions::SampleViewActions(SampleModel* model, SampleView* parent)
: QObject(parent)
, m_model(model)
, m_sampleView(parent)
, m_selection_model(nullptr)
{
......@@ -36,3 +41,8 @@ QItemSelectionModel* SampleViewActions::selectionModel()
{
return m_selection_model;
}
void SampleViewActions::onToggleRealSpaceView()
{
m_sampleView->docks()->togleDock(SampleViewDocks::REALSPACEPANEL);
}
......@@ -20,6 +20,7 @@
class SampleModel;
class QItemSelectionModel;
class SampleView;
//! Holds all actions of SampleView.
......@@ -27,7 +28,7 @@ class SampleViewActions : public QObject
{
Q_OBJECT
public:
SampleViewActions(SampleModel* model, QObject* parent);
SampleViewActions(SampleModel* model, SampleView* parent);
void setSelectionModel(QItemSelectionModel* selection_model);
......@@ -35,8 +36,12 @@ public:
QItemSelectionModel* selectionModel();
public slots:
void onToggleRealSpaceView();
private:
SampleModel* m_model;
SampleView* m_sampleView;
QItemSelectionModel* m_selection_model;
};
......
......@@ -84,6 +84,12 @@ void SampleViewDocks::onResetLayout()
findDock(INFO)->hide();
}
void SampleViewDocks::togleDock(int id)
{
auto dock = findDock(id);
dock->setHidden(!dock->isHidden());
}
SampleDesigner* SampleViewDocks::sampleDesigner()
{
return m_sampleDesigner;
......
......@@ -24,6 +24,7 @@ class SamplePropertyWidget;
class SampleDesigner;
class ScriptPanel;
class Sample3DPanel;
class QAction;
//! Holds all docked widgets for SampleView.
......@@ -32,6 +33,9 @@ class BA_CORE_API_ SampleViewDocks : public DocksController
Q_OBJECT
public:
enum ESubWindows { WIDGET_BOX, SAMPLE_TREE, PROPERTY_EDITOR, INFO, REALSPACEPANEL,
NUMBER_OF_SUB_WINDOWS };
SampleViewDocks(SampleView* parent = nullptr);
SampleDesigner* sampleDesigner();
......@@ -41,10 +45,9 @@ public:
void onResetLayout() override;
private:
enum ESubWindows { WIDGET_BOX, SAMPLE_TREE, PROPERTY_EDITOR, INFO, REALSPACEPANEL,
NUMBER_OF_SUB_WINDOWS };
void togleDock(int id);
private:
SampleDesigner* m_sampleDesigner;
SampleWidgetBox* m_widgetBox;
SampleTreeWidget* m_treeWidget;
......
......@@ -39,6 +39,11 @@ SampleView::SampleView(MainWindow* mainWindow)
ApplicationModels* SampleView::models() { return m_models; }
SampleViewDocks* SampleView::docks()
{
return m_docks;
}
void SampleView::onDockMenuRequest()
{
std::unique_ptr<QMenu> menu(createPopupMenu());
......
......@@ -38,6 +38,8 @@ public:
ApplicationModels* models();
SampleViewDocks* docks();
public slots:
void onDockMenuRequest();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment