BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
SpecularDataWidget Class Reference
Inheritance diagram for SpecularDataWidget:
[legend]
Collaboration diagram for SpecularDataWidget:
[legend]

Public Member Functions

 SpecularDataWidget (QWidget *parent=nullptr)
 
QList< QAction * > actionList ()
 
SessionItemcurrentItem ()
 
const SessionItemcurrentItem () const
 
void setItem (SessionItem *jobItem)
 

Protected Member Functions

virtual void hideEvent (QHideEvent *)
 
virtual void showEvent (QShowEvent *)
 
virtual void subscribeToItem ()
 
virtual void unsubscribeFromItem ()
 

Private Slots

void onContextMenuRequest (const QPoint &point)
 

Private Member Functions

SpecularDataItemspecularDataItem ()
 

Private Attributes

SpecularDataCanvasm_intensity_canvas
 
SessionItemControllerm_itemController
 
IntensityDataPropertyWidgetm_property_widget
 

Detailed Description

Definition at line 24 of file SpecularDataWidget.h.

Constructor & Destructor Documentation

◆ SpecularDataWidget()

SpecularDataWidget::SpecularDataWidget ( QWidget *  parent = nullptr)

Definition at line 25 of file SpecularDataWidget.cpp.

26  : SessionItemWidget(parent)
29 {
30  setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
31 
32  auto hlayout = new QHBoxLayout;
33  hlayout->setMargin(0);
34  hlayout->setSpacing(0);
35  hlayout->addWidget(m_intensity_canvas);
36  hlayout->addWidget(m_property_widget);
37 
38  auto mainLayout = new QVBoxLayout;
39  mainLayout->setMargin(0);
40  mainLayout->setSpacing(0);
41  mainLayout->addLayout(hlayout);
42 
43  setLayout(mainLayout);
44 
45  connect(m_intensity_canvas, &SpecularDataCanvas::customContextMenuRequested, this,
47 
48  m_property_widget->setVisible(false);
49 }
The IntensityDataPropertyWidget shows ComponentEditor for given IntensityDataItem.
SessionItemWidget(QWidget *parent=0)
IntensityDataPropertyWidget * m_property_widget
void onContextMenuRequest(const QPoint &point)
SpecularDataCanvas * m_intensity_canvas

References m_intensity_canvas, m_property_widget, and onContextMenuRequest().

Here is the call graph for this function:

Member Function Documentation

◆ actionList()

QList< QAction * > SpecularDataWidget::actionList ( )
virtual

Reimplemented from SessionItemWidget.

Definition at line 58 of file SpecularDataWidget.cpp.

59 {
61 }
QList< QAction * > actionList() override

References IntensityDataPropertyWidget::actionList(), SpecularDataCanvas::actionList(), m_intensity_canvas, and m_property_widget.

Referenced by onContextMenuRequest().

Here is the call graph for this function:

◆ currentItem() [1/2]

SessionItem * SessionItemWidget::currentItem ( )
inherited

Definition at line 41 of file SessionItemWidget.cpp.

42 {
43  return const_cast<SessionItem*>(static_cast<const SessionItemWidget*>(this)->currentItem());
44 }
The SessionItemWidget class is a base for all widgets representing the content of SessionItem.
SessionItem * currentItem()

Referenced by RectangularDetectorEditor::detectorItem(), SphericalDetectorEditor::detectorItem(), FitFlowWidget::fitSuiteItem(), DistributionEditor::groupItem(), DepthProbeInstrumentEditor::instrumentItem(), EnvironmentEditor::instrumentItem(), GISASBeamEditor::instrumentItem(), GISASDetectorEditor::instrumentItem(), GISASInstrumentEditor::instrumentItem(), OffSpecularBeamEditor::instrumentItem(), OffSpecularInstrumentEditor::instrumentItem(), PolarizationAnalysisEditor::instrumentItem(), SpecularBeamEditor::instrumentItem(), SpecularInstrumentEditor::instrumentItem(), RealDataMaskWidget::intensityDataItem(), IntensityDataCanvas::intensityDataItem(), IntensityDataProjectionsWidget::intensityDataItem(), IntensityDataWidget::intensityDataItem(), ProjectionsPlot::intensityItem(), ColorMap::intensityItem(), DetectorPresenter::itemPresentation(), InstrumentPresenter::itemPresentation(), JobResultsPresenter::itemPresentation(), FitComparisonWidget::jobItem(), FitComparisonWidget1D::jobItem(), FitParameterWidget::jobItem(), RunFitControlWidget::jobItem(), JobPropertiesWidget::jobItem(), ParameterTuningWidget::jobItem(), SpecularDataImportWidget::realDataItem(), ItemComboWidget::setPresentation(), JobResultsPresenter::setPresentation(), SpecularDataCanvas::specularDataItem(), SpecularDataImportWidget::specularDataItem(), specularDataItem(), SpecularPlot::specularItem(), ItemComboWidget::subscribeToItem(), DistributionEditor::subscribeToItem(), GISASDetectorEditor::subscribeToItem(), PolarizationAnalysisEditor::subscribeToItem(), IntensityDataPropertyWidget::subscribeToItem(), JobPropertiesWidget::subscribeToItem(), ProjectionsPropertyPanel::subscribeToItem(), ProjectionsPlot::unsubscribeFromChildren(), and Plot1D::viewItem().

◆ currentItem() [2/2]

const SessionItem * SessionItemWidget::currentItem ( ) const
inherited

Definition at line 46 of file SessionItemWidget.cpp.

47 {
48  return m_itemController->currentItem();
49 }
SessionItemController * m_itemController

References SessionItemController::currentItem(), and SessionItemWidget::m_itemController.

Here is the call graph for this function:

◆ hideEvent()

void SessionItemWidget::hideEvent ( QHideEvent *  )
protectedvirtualinherited

Definition at line 56 of file SessionItemWidget.cpp.

57 {
59 }
void unsubscribe()
Fully unsubscribes the parent from listening item's signals.

References SessionItemWidget::m_itemController, and SessionItemController::unsubscribe().

Here is the call graph for this function:

◆ onContextMenuRequest

void SpecularDataWidget::onContextMenuRequest ( const QPoint &  point)
privateslot

Definition at line 63 of file SpecularDataWidget.cpp.

64 {
65  QMenu menu;
66  for (auto action : actionList())
67  menu.addAction(action);
68  menu.exec(point);
69 }
QList< QAction * > actionList()

References actionList().

Referenced by SpecularDataWidget().

Here is the call graph for this function:

◆ setItem()

void SpecularDataWidget::setItem ( SessionItem jobItem)
virtual

Reimplemented from SessionItemWidget.

Definition at line 51 of file SpecularDataWidget.cpp.

52 {
56 }
virtual void setItem(SessionItem *item)
void setItem(SessionItem *intensityItem) override
SpecularDataItem * specularDataItem()

References m_intensity_canvas, m_property_widget, SpecularDataCanvas::setItem(), SessionItemWidget::setItem(), and specularDataItem().

Here is the call graph for this function:

◆ showEvent()

void SessionItemWidget::showEvent ( QShowEvent *  )
protectedvirtualinherited

Definition at line 51 of file SessionItemWidget.cpp.

52 {
54 }
void subscribe()
Subscribe parent to item's signals.

References SessionItemWidget::m_itemController, and SessionItemController::subscribe().

Here is the call graph for this function:

◆ specularDataItem()

SpecularDataItem * SpecularDataWidget::specularDataItem ( )
private

Definition at line 71 of file SpecularDataWidget.cpp.

72 {
74 }
SpecularDataItem * specularDataItem(SessionItem *parent)
Returns SpecularDataItem contained as a child in givent parent.

References SessionItemWidget::currentItem(), and DataItemUtils::specularDataItem().

Referenced by setItem().

Here is the call graph for this function:

◆ subscribeToItem()

◆ unsubscribeFromItem()

Member Data Documentation

◆ m_intensity_canvas

SpecularDataCanvas* SpecularDataWidget::m_intensity_canvas
private

Definition at line 40 of file SpecularDataWidget.h.

Referenced by SpecularDataWidget(), actionList(), and setItem().

◆ m_itemController

◆ m_property_widget

IntensityDataPropertyWidget* SpecularDataWidget::m_property_widget
private

Definition at line 41 of file SpecularDataWidget.h.

Referenced by SpecularDataWidget(), actionList(), and setItem().


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