BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
RealSpaceToolBar Class Reference

Thin toolbar on top of RealSpaceWidget. More...

Inheritance diagram for RealSpaceToolBar:
[legend]
Collaboration diagram for RealSpaceToolBar:
[legend]

Signals

void changeLayerSizeAction (double)
 
void defaultViewAction ()
 
void lockViewAction (bool)
 
void savePictureAction ()
 
void sideViewAction ()
 
void topViewAction ()
 

Public Member Functions

 RealSpaceToolBar (QWidget *parent=nullptr)
 
void addSpacing (int width=2)
 Width of the spacing between buttons. More...
 
void addStyledExpand ()
 
void addStyledSeparator ()
 

Protected Member Functions

void contextMenuEvent (QContextMenuEvent *)
 

Private Attributes

QToolButton * m_decreaseLayerSizeButton
 
QToolButton * m_defaultViewButton
 
QToolButton * m_increaseLayerSizeButton
 
QCheckBox * m_lockViewCheckBox
 
QToolButton * m_savePictureButton
 
QToolButton * m_sideViewButton
 
QToolButton * m_topViewButton
 

Detailed Description

Thin toolbar on top of RealSpaceWidget.

Definition at line 25 of file RealSpaceToolBar.h.

Constructor & Destructor Documentation

◆ RealSpaceToolBar()

RealSpaceToolBar::RealSpaceToolBar ( QWidget *  parent = nullptr)

Definition at line 26 of file RealSpaceToolBar.cpp.

27  : StyledToolBar(parent)
28  , m_defaultViewButton(new QToolButton)
29  , m_sideViewButton(new QToolButton)
30  , m_topViewButton(new QToolButton)
31  , m_lockViewCheckBox(new QCheckBox)
32  , m_increaseLayerSizeButton(new QToolButton)
33  , m_decreaseLayerSizeButton(new QToolButton)
34  , m_savePictureButton(new QToolButton)
35 {
37 
38  // Save image -- this first so it is available for smaller widget sizes
39  m_savePictureButton->setText("Save Picture");
40  m_savePictureButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
41  m_savePictureButton->setToolTip("Save 3D real space view as .png file");
42  connect(m_savePictureButton, &QToolButton::clicked, this,
43  [&]() { emit RealSpaceToolBar::savePictureAction(); });
44  addWidget(m_savePictureButton);
45 
46  addSeparator();
47 
48  // Default View
49  m_defaultViewButton->setText("Default View");
50  // m_defaultViewButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_recycle.png"));
51  m_defaultViewButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
52  m_defaultViewButton->setToolTip("Reset view and zoom level to default");
53  connect(m_defaultViewButton, &QToolButton::clicked, this, &RealSpaceToolBar::defaultViewAction);
54  addWidget(m_defaultViewButton);
55 
56  addSeparator();
57 
58  // Side View
59  m_sideViewButton->setText("Side View");
60  // m_sideViewButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_recycle.png"));
61  m_sideViewButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
62  m_sideViewButton->setToolTip("View sample from the side at current zoom level");
63  connect(m_sideViewButton, &QToolButton::clicked, this, &RealSpaceToolBar::sideViewAction);
64  addWidget(m_sideViewButton);
65 
66  addSeparator();
67 
68  // Top View
69  m_topViewButton->setText("Top View");
70  // m_topViewButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_recycle.png"));
71  m_topViewButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
72  m_topViewButton->setToolTip("View sample from the top at current zoom level");
73  connect(m_topViewButton, &QToolButton::clicked, this, &RealSpaceToolBar::topViewAction);
74  addWidget(m_topViewButton);
75 
76  addSeparator();
77 
78  // Lock View
79  m_lockViewCheckBox->setText("Lock View");
80  m_lockViewCheckBox->setToolTip("Lock/unlock current sample selection");
81  m_lockViewCheckBox->setCheckable(true);
82  connect(m_lockViewCheckBox, &QCheckBox::clicked, this,
83  [&]() { emit RealSpaceToolBar::lockViewAction(m_lockViewCheckBox->isChecked()); });
84  addWidget(m_lockViewCheckBox);
85 
86  addSeparator();
87 
88  // Increase layer size
89  m_increaseLayerSizeButton->setText("Enlarge");
90  // m_increaseLayerSizeButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_recycle.png"));
91  m_increaseLayerSizeButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
92  m_increaseLayerSizeButton->setToolTip("Increase layer size");
93  connect(m_increaseLayerSizeButton, &QToolButton::clicked, this,
94  [&]() { emit RealSpaceToolBar::changeLayerSizeAction(increaseLayerSizeScale); });
95  addWidget(m_increaseLayerSizeButton);
96 
97  addSeparator();
98 
99  // Decrease layer size
100  m_decreaseLayerSizeButton->setText("Reduce");
101  // m_decreaseLayerSizeButton->setIcon(QIcon(":/SampleDesigner/images/toolbar_recycle.png"));
102  m_decreaseLayerSizeButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
103  m_decreaseLayerSizeButton->setToolTip("Decrease layer size");
104  connect(m_decreaseLayerSizeButton, &QToolButton::clicked, this,
105  [&]() { emit RealSpaceToolBar::changeLayerSizeAction(decreaseLayerSizeScale); });
106  addWidget(m_decreaseLayerSizeButton);
107 
108  addSeparator();
109 }
void changeLayerSizeAction(double)
QToolButton * m_decreaseLayerSizeButton
void savePictureAction()
QToolButton * m_savePictureButton
void defaultViewAction()
QToolButton * m_sideViewButton
QCheckBox * m_lockViewCheckBox
QToolButton * m_defaultViewButton
QToolButton * m_topViewButton
QToolButton * m_increaseLayerSizeButton
void lockViewAction(bool)
StyledToolBar(QWidget *parent=nullptr)
const int styled_toolbar_height

References changeLayerSizeAction(), defaultViewAction(), lockViewAction(), m_decreaseLayerSizeButton, m_defaultViewButton, m_increaseLayerSizeButton, m_lockViewCheckBox, m_savePictureButton, m_sideViewButton, m_topViewButton, savePictureAction(), sideViewAction(), Constants::styled_toolbar_height, and topViewAction().

Member Function Documentation

◆ addSpacing()

void StyledToolBar::addSpacing ( int  width = 2)
inherited

Width of the spacing between buttons.

Definition at line 37 of file StyledToolBar.cpp.

38 {
39  QString space;
40  space.fill(' ', width);
41  addWidget(new QLabel(space));
42 }

Referenced by ItemComboToolBar::setActionList().

◆ addStyledExpand()

void StyledToolBar::addStyledExpand ( )
inherited

Definition at line 44 of file StyledToolBar.cpp.

45 {
46  QWidget* empty = new QWidget();
47  empty->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
48  addWidget(empty);
49 }

Referenced by ItemComboToolBar::setActionList().

◆ addStyledSeparator()

void StyledToolBar::addStyledSeparator ( )
inherited

Definition at line 28 of file StyledToolBar.cpp.

29 {
30  addWidget(new QLabel(" "));
31  addSeparator();
32  addWidget(new QLabel(" "));
33 }

Referenced by SampleToolBar::SampleToolBar().

◆ changeLayerSizeAction

void RealSpaceToolBar::changeLayerSizeAction ( double  )
signal

◆ contextMenuEvent()

void StyledToolBar::contextMenuEvent ( QContextMenuEvent *  )
protectedinherited

Definition at line 51 of file StyledToolBar.cpp.

52 {
53  // Context menu reimplemented to suppress the default one
54 }

◆ defaultViewAction

void RealSpaceToolBar::defaultViewAction ( )
signal

◆ lockViewAction

void RealSpaceToolBar::lockViewAction ( bool  )
signal

◆ savePictureAction

void RealSpaceToolBar::savePictureAction ( )
signal

◆ sideViewAction

void RealSpaceToolBar::sideViewAction ( )
signal

◆ topViewAction

void RealSpaceToolBar::topViewAction ( )
signal

Member Data Documentation

◆ m_decreaseLayerSizeButton

QToolButton* RealSpaceToolBar::m_decreaseLayerSizeButton
private

Definition at line 46 of file RealSpaceToolBar.h.

Referenced by RealSpaceToolBar().

◆ m_defaultViewButton

QToolButton* RealSpaceToolBar::m_defaultViewButton
private

Definition at line 40 of file RealSpaceToolBar.h.

Referenced by RealSpaceToolBar().

◆ m_increaseLayerSizeButton

QToolButton* RealSpaceToolBar::m_increaseLayerSizeButton
private

Definition at line 45 of file RealSpaceToolBar.h.

Referenced by RealSpaceToolBar().

◆ m_lockViewCheckBox

QCheckBox* RealSpaceToolBar::m_lockViewCheckBox
private

Definition at line 43 of file RealSpaceToolBar.h.

Referenced by RealSpaceToolBar().

◆ m_savePictureButton

QToolButton* RealSpaceToolBar::m_savePictureButton
private

Definition at line 47 of file RealSpaceToolBar.h.

Referenced by RealSpaceToolBar().

◆ m_sideViewButton

QToolButton* RealSpaceToolBar::m_sideViewButton
private

Definition at line 41 of file RealSpaceToolBar.h.

Referenced by RealSpaceToolBar().

◆ m_topViewButton

QToolButton* RealSpaceToolBar::m_topViewButton
private

Definition at line 42 of file RealSpaceToolBar.h.

Referenced by RealSpaceToolBar().


The documentation for this class was generated from the following files: