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

Standard beautification in SampleToolBar.

parent ae622aea
No related branches found
No related tags found
No related merge requests found
......@@ -27,21 +27,19 @@
#include <RealSpaceDialog.h>
//! main tool bar on top of SampleView window
SampleToolBar::SampleToolBar(SampleModel *sampleModel, QItemSelectionModel* selectionModel,
QWidget *parent)
: StyledToolBar(parent)
, m_sampleModel(sampleModel)
, m_selectionModel(selectionModel)
, m_dialog(nullptr)
, m_dialog_on(false)
SampleToolBar::SampleToolBar(SampleModel* sampleModel, QItemSelectionModel* selectionModel,
QWidget* parent)
: StyledToolBar(parent), m_sampleModel(sampleModel), m_selectionModel(selectionModel),
m_dialog(nullptr), m_dialog_on(false)
{
// Select & Pan
QToolButton *selectionPointerButton = new QToolButton;
auto selectionPointerButton = new QToolButton;
selectionPointerButton->setCheckable(true);
selectionPointerButton->setChecked(true);
selectionPointerButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_pointer.png"));
selectionPointerButton->setToolTip("Edit mode.");
QToolButton *handPointerButton = new QToolButton;
auto handPointerButton = new QToolButton;
handPointerButton->setCheckable(true);
handPointerButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_hand.png"));
handPointerButton->setToolTip("Pan mode (space).");
......@@ -49,19 +47,21 @@ SampleToolBar::SampleToolBar(SampleModel *sampleModel, QItemSelectionModel* sele
m_pointerModeGroup = new QButtonGroup(this);
m_pointerModeGroup->addButton(selectionPointerButton, DesignerView::RUBBER_SELECTION);
m_pointerModeGroup->addButton(handPointerButton, DesignerView::HAND_DRAG);
connect(m_pointerModeGroup, SIGNAL(buttonClicked(int)),
this, SIGNAL(selectionMode(int)));
connect(m_pointerModeGroup,
static_cast<void(QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked),
this, &SampleToolBar::selectionMode);
addWidget(selectionPointerButton);
addWidget(handPointerButton);
addStyledSeparator();
// unddo redo
QToolButton *unddoButton = new QToolButton;
auto unddoButton = new QToolButton;
unddoButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_unddo.png"));
unddoButton->setToolTip("Unddo last action (not implemented yet).");
addWidget(unddoButton);
QToolButton *redoButton = new QToolButton;
auto redoButton = new QToolButton;
redoButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_redo.png"));
redoButton->setToolTip("Do again the last undone action (not implemented yet).");
addWidget(redoButton);
......@@ -74,24 +74,23 @@ SampleToolBar::SampleToolBar(SampleModel *sampleModel, QItemSelectionModel* sele
m_removeButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_recycle.png"));
m_removeButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
m_removeButton->setToolTip("Remove selected items and they child items (del).");
connect(m_removeButton, SIGNAL(clicked()), this, SIGNAL(deleteItems()));
connect(m_removeButton, &QToolButton::clicked, this, &SampleToolBar::deleteItems);
addWidget(m_removeButton);
addStyledSeparator();
// Center view
m_centerViewButton = new QToolButton;
m_centerViewButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_center.png"));
m_centerViewButton->setToolTip("Center view.");
addWidget(m_centerViewButton);
connect(m_centerViewButton, SIGNAL(clicked()), this, SIGNAL(centerView()));
connect(m_centerViewButton, &QToolButton::clicked, this, &SampleToolBar::centerView);
// align sample
m_alignItemsButton = new QToolButton;
m_alignItemsButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_align.png"));
m_alignItemsButton->setToolTip("Try to align items.");
connect(m_alignItemsButton, SIGNAL(clicked()), this, SIGNAL(smartAlign()));
connect(m_alignItemsButton, &QToolButton::clicked, this, &SampleToolBar::smartAlign);
addWidget(m_alignItemsButton);
// Zoom
......@@ -99,15 +98,14 @@ SampleToolBar::SampleToolBar(SampleModel *sampleModel, QItemSelectionModel* sele
addSeparator();
addWidget(new QLabel(" Zoom "));
m_scaleCombo = new QComboBox;
QStringList scales;
scales << "25%"<< "50%" << "75%" << "100%" << "125%" << "150%";
QStringList scales = QStringList() << "25%" << "50%" << "75%" << "100%" << "125%" << "150%";
m_scaleCombo->addItems(scales);
m_scaleCombo->setCurrentIndex(3);
connect(m_scaleCombo, SIGNAL(currentIndexChanged(QString)),
this, SLOT(onScaleComboChanged(QString)));
connect(m_scaleCombo,
static_cast<void(QComboBox::*)(const QString &)>(&QComboBox::currentIndexChanged),
this, &SampleToolBar::onScaleComboChanged);
addWidget(m_scaleCombo);
// MaterialEditor
addWidget(new QLabel(" "));
m_materialEditorButton = new QToolButton;
......@@ -116,7 +114,8 @@ SampleToolBar::SampleToolBar(SampleModel *sampleModel, QItemSelectionModel* sele
m_materialEditorButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
m_materialEditorButton->setToolTip("Open material editor (m).");
m_materialEditorButton->setShortcut(Qt::Key_M);
connect(m_materialEditorButton, SIGNAL(clicked()), this, SLOT(onMaterialEditorCall()));
connect(m_materialEditorButton, &QToolButton::clicked,
this, &SampleToolBar::onMaterialEditorCall);
addWidget(m_materialEditorButton);
addStyledSeparator();
......@@ -125,31 +124,31 @@ SampleToolBar::SampleToolBar(SampleModel *sampleModel, QItemSelectionModel* sele
addWidget(new QLabel(" "));
m_RealSpaceViewerButton = new QToolButton;
m_RealSpaceViewerButton->setText("Real Space Viewer");
//m_RealSpaceViewerButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_materialeditor.png"));
// m_RealSpaceViewerButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_materialeditor.png"));
m_RealSpaceViewerButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
m_RealSpaceViewerButton->setToolTip("Open real space 3D viewer.");
connect(m_RealSpaceViewerButton, SIGNAL(clicked()), this, SLOT(onRealSpaceViewerCall()));
connect(m_RealSpaceViewerButton, &QToolButton::clicked, this, &SampleToolBar::onRealSpaceViewerCall);
addWidget(m_RealSpaceViewerButton);
// Additional actions
m_zoomOutAction = new QAction(this);
m_zoomOutAction->setShortcut(QKeySequence(Qt::Key_Minus));
connect(m_zoomOutAction, SIGNAL(triggered()), this, SIGNAL(zoomOut()));
connect(m_zoomOutAction, &QAction::triggered, this, &SampleToolBar::zoomOut);
addAction(m_zoomOutAction);
m_zoomInAction = new QAction(this);
m_zoomInAction->setShortcut(QKeySequence(Qt::Key_Equal));
connect(m_zoomInAction, SIGNAL(triggered()), this, SIGNAL(zoomIn()));
connect(m_zoomInAction, &QAction::triggered, this, &SampleToolBar::zoomIn);
addAction(m_zoomInAction);
}
void SampleToolBar::onViewSelectionMode(int mode)
{
if(mode == DesignerView::RUBBER_SELECTION || mode == DesignerView::HAND_DRAG)
if (mode == DesignerView::RUBBER_SELECTION || mode == DesignerView::HAND_DRAG)
m_pointerModeGroup->button(mode)->setChecked(true);
}
void SampleToolBar::onScaleComboChanged(const QString &scale_string)
void SampleToolBar::onScaleComboChanged(const QString& scale_string)
{
double scale = scale_string.left(scale_string.indexOf("%")).toDouble() / 100.0;
emit changeScale(scale);
......@@ -163,13 +162,12 @@ void SampleToolBar::onMaterialEditorCall()
void SampleToolBar::onRealSpaceViewerCall()
{
// keep only one instance of dialog alive using a boolean flag
if(!m_dialog_on)
{
if (!m_dialog_on) {
m_dialog_on = true;
m_dialog = new RealSpaceDialog(m_sampleModel, m_selectionModel, this);
m_dialog->show();
// undo the flag when the dialog is destroyed on close event
connect(m_dialog, &QAction::destroyed, this, [&](){m_dialog_on = false;} );
connect(m_dialog, &QAction::destroyed, this, [&]() { m_dialog_on = false; });
}
}
......@@ -16,10 +16,7 @@
#define SAMPLETOOLBAR_H
#include "StyledToolBar.h"
#include "SampleModel.h"
#include <QTreeView>
#include "RealSpaceDialog.h"
class QAction;
class QToolButton;
......@@ -27,6 +24,8 @@ class QToolBar;
class QComboBox;
class QString;
class QButtonGroup;
class SampleModel;
class RealSpaceDialog;
//! The SampleToolBar class represents a main toolbar on top of SampleView window
......@@ -37,7 +36,7 @@ class BA_CORE_API_ SampleToolBar : public StyledToolBar
public:
explicit SampleToolBar(SampleModel* sampleModel = nullptr,
QItemSelectionModel* selectionModel = nullptr,
QWidget *parent = 0);
QWidget* parent = nullptr);
signals:
void deleteItems();
......@@ -50,25 +49,24 @@ signals:
public slots:
void onViewSelectionMode(int);
void onScaleComboChanged(const QString &);
void onScaleComboChanged(const QString&);
void onMaterialEditorCall();
void onRealSpaceViewerCall();
private:
QButtonGroup *m_pointerModeGroup;
QToolButton *m_removeButton;
QToolButton *m_centerViewButton;
QToolButton *m_alignItemsButton;
QComboBox *m_scaleCombo;
QToolButton *m_materialEditorButton;
QAction *m_zoomInAction;
QAction *m_zoomOutAction;
QButtonGroup* m_pointerModeGroup;
QToolButton* m_removeButton;
QToolButton* m_centerViewButton;
QToolButton* m_alignItemsButton;
QComboBox* m_scaleCombo;
QToolButton* m_materialEditorButton;
QAction* m_zoomInAction;
QAction* m_zoomOutAction;
QToolButton *m_RealSpaceViewerButton;
SampleModel *m_sampleModel;
QItemSelectionModel *m_selectionModel;
RealSpaceDialog *m_dialog;
QToolButton* m_RealSpaceViewerButton;
SampleModel* m_sampleModel;
QItemSelectionModel* m_selectionModel;
RealSpaceDialog* m_dialog;
bool m_dialog_on;
};
......
......@@ -22,6 +22,7 @@
#include "SampleViewActions.h"
#include "SampleViewStatusBar.h"
#include <QMenu>
#include <memory>
SampleView::SampleView(MainWindow* mainWindow)
: Manhattan::FancyMainWindow(mainWindow), m_models(mainWindow->models())
......
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