BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
gui2::QuickSimEditor Class Reference

Quick reflectivity simulations. More...

Inheritance diagram for gui2::QuickSimEditor:
[legend]
Collaboration diagram for gui2::QuickSimEditor:
[legend]

Public Member Functions

 QuickSimEditor (QWidget *parent=nullptr)
 
 ~QuickSimEditor ()
 
QSize minimumSizeHint () const override
 
void setModels (ApplicationModels *models)
 Set the mododel for the different items. More...
 
QSize sizeHint () const override
 

Private Member Functions

void setup_controller_connections ()
 Connects signals from controller. More...
 
void setup_toolbar_connections ()
 Connects signals from toolbar. More...
 

Private Attributes

ApplicationModelsm_appModels {nullptr}
 
SimPlotControllerm_plotController {nullptr}
 
SimPlotWidgetm_plotWidget {nullptr}
 
QuickSimControllerm_simController {nullptr}
 
QuickSimEditorToolBarm_toolBar {nullptr}
 

Detailed Description

Quick reflectivity simulations.

Definition at line 32 of file quicksimeditor.h.

Constructor & Destructor Documentation

◆ QuickSimEditor()

gui2::QuickSimEditor::QuickSimEditor ( QWidget *  parent = nullptr)

Definition at line 34 of file quicksimeditor.cpp.

35  : QWidget(parent)
36  , m_simController(new QuickSimController(this))
37  , m_plotController(new SimPlotController(this))
38  , m_plotWidget(new SimPlotWidget)
39  , m_toolBar(new QuickSimEditorToolBar)
40 {
41  setWindowTitle(QString("Reflectivity plot"));
42  auto layout = new QVBoxLayout(this);
43  layout->addWidget(m_toolBar);
44  layout->addWidget(m_plotWidget);
45  layout->setContentsMargins(0, 0, 0, 0);
46  layout->setSpacing(0);
47 
50 }
void setup_toolbar_connections()
Connects signals from toolbar.
QuickSimEditorToolBar * m_toolBar
SimPlotController * m_plotController
void setup_controller_connections()
Connects signals from controller.
QuickSimController * m_simController
SimPlotWidget * m_plotWidget

References m_plotWidget, m_toolBar, setup_controller_connections(), and setup_toolbar_connections().

Here is the call graph for this function:

◆ ~QuickSimEditor()

gui2::QuickSimEditor::~QuickSimEditor ( )
default

Member Function Documentation

◆ minimumSizeHint()

QSize gui2::QuickSimEditor::minimumSizeHint ( ) const
override

Definition at line 68 of file quicksimeditor.cpp.

69 {
71 }
DAREFLCORE_EXPORT QSize DockMinimumSizeHint()
Hint on minimum size of docks on main reflectometry window.
Definition: styleutils.cpp:34

References gui2::StyleUtils::DockMinimumSizeHint().

Here is the call graph for this function:

◆ setModels()

void gui2::QuickSimEditor::setModels ( ApplicationModels models)

Set the mododel for the different items.

Definition at line 55 of file quicksimeditor.cpp.

56 {
57  m_appModels = models;
58  m_simController->setModels(models);
59  m_plotController->setModels(models);
60  m_plotWidget->setModels(models);
61 }
void setModels(ApplicationModels *models)
ApplicationModels * m_appModels
void setModels(ApplicationModels *models)
void setModels(ApplicationModels *models)

References m_appModels, m_plotController, m_plotWidget, m_simController, gui2::QuickSimController::setModels(), gui2::SimPlotController::setModels(), and gui2::SimPlotWidget::setModels().

Referenced by gui2::SimulationView::initEditorList().

Here is the call graph for this function:

◆ setup_controller_connections()

void gui2::QuickSimEditor::setup_controller_connections ( )
private

Connects signals from controller.

Definition at line 99 of file quicksimeditor.cpp.

100 {
101  // Progress values propagated from controller to toolbar.
103  dynamic_cast<QuickSimEditorToolBar*>(m_toolBar),
105 }
void progressChanged(int value)
void onProgressChanged(int value)
Set progress bar to given value.

References m_simController, m_toolBar, gui2::QuickSimEditorToolBar::onProgressChanged(), and gui2::QuickSimController::progressChanged().

Referenced by QuickSimEditor().

Here is the call graph for this function:

◆ setup_toolbar_connections()

void gui2::QuickSimEditor::setup_toolbar_connections ( )
private

Connects signals from toolbar.

Definition at line 75 of file quicksimeditor.cpp.

76 {
77  // Request to reset plot is propagated from toolbar to viewports.
78  auto on_reset_view = [this]() { m_plotWidget->updateViewport(); };
79  connect(dynamic_cast<QuickSimEditorToolBar*>(m_toolBar),
81 
82  // Simulation interrupt request is propagated from toolbar to controller.
83  connect(dynamic_cast<QuickSimEditorToolBar*>(m_toolBar), &QuickSimEditorToolBar::cancelPressed,
85 
86  // Request for real time mode is propagated from toobar to controller.
87  connect(dynamic_cast<QuickSimEditorToolBar*>(m_toolBar),
90 
91  // Run simulation is propagated from toobar to controller.
92  connect(dynamic_cast<QuickSimEditorToolBar*>(m_toolBar),
95 }
void onRealTimeRequest(bool status)
void onRunSimulationRequest()
Processes multilayer on request. Doesn't work in real time mode.
void onInterruptRequest()
Requests interruption of running simulaitons.

References gui2::QuickSimEditorToolBar::cancelPressed(), m_plotWidget, m_simController, m_toolBar, gui2::QuickSimController::onInterruptRequest(), gui2::QuickSimController::onRealTimeRequest(), gui2::QuickSimController::onRunSimulationRequest(), gui2::QuickSimEditorToolBar::realTimeRequest(), gui2::QuickSimEditorToolBar::resetViewRequest(), gui2::QuickSimEditorToolBar::runSimulationRequest(), and gui2::SimPlotWidget::updateViewport().

Referenced by QuickSimEditor().

Here is the call graph for this function:

◆ sizeHint()

QSize gui2::QuickSimEditor::sizeHint ( ) const
override

Definition at line 63 of file quicksimeditor.cpp.

64 {
65  return StyleUtils::DockSizeHint();
66 }
DAREFLCORE_EXPORT QSize DockSizeHint()
Hint on size of docks on main reflectometry window.
Definition: styleutils.cpp:29

References gui2::StyleUtils::DockSizeHint().

Here is the call graph for this function:

Member Data Documentation

◆ m_appModels

ApplicationModels* gui2::QuickSimEditor::m_appModels {nullptr}
private

Definition at line 48 of file quicksimeditor.h.

Referenced by setModels().

◆ m_plotController

SimPlotController* gui2::QuickSimEditor::m_plotController {nullptr}
private

Definition at line 50 of file quicksimeditor.h.

Referenced by setModels().

◆ m_plotWidget

SimPlotWidget* gui2::QuickSimEditor::m_plotWidget {nullptr}
private

Definition at line 51 of file quicksimeditor.h.

Referenced by QuickSimEditor(), setModels(), and setup_toolbar_connections().

◆ m_simController

QuickSimController* gui2::QuickSimEditor::m_simController {nullptr}
private

◆ m_toolBar

QuickSimEditorToolBar* gui2::QuickSimEditor::m_toolBar {nullptr}
private

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