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

A common widget to display color map (IntensityDataCanvas) and properties (IntensityDataPropertyWidget) of intensity data item. More...

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

Public Member Functions

 IntensityDataWidget (QWidget *parent=0)
 
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)
 
void onFFTAction ()
 

Private Member Functions

IntensityDataItemintensityDataItem ()
 

Private Attributes

IntensityDataFFTPresenterm_fftPresenter
 
IntensityDataCanvasm_intensityCanvas
 
SessionItemControllerm_itemController
 
IntensityDataPropertyWidgetm_propertyWidget
 

Detailed Description

A common widget to display color map (IntensityDataCanvas) and properties (IntensityDataPropertyWidget) of intensity data item.

Definition at line 32 of file IntensityDataWidget.h.

Constructor & Destructor Documentation

◆ IntensityDataWidget()

IntensityDataWidget::IntensityDataWidget ( QWidget *  parent = 0)

Definition at line 25 of file IntensityDataWidget.cpp.

26  : SessionItemWidget(parent)
30 {
31  setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
32 
33  auto hlayout = new QHBoxLayout;
34  hlayout->setMargin(0);
35  hlayout->setSpacing(0);
36  hlayout->addWidget(m_intensityCanvas);
37  hlayout->addWidget(m_propertyWidget);
38 
39  auto mainLayout = new QVBoxLayout;
40  mainLayout->setMargin(0);
41  mainLayout->setSpacing(0);
42  mainLayout->addLayout(hlayout);
43 
44  setLayout(mainLayout);
45 
46  connect(m_intensityCanvas, &IntensityDataCanvas::customContextMenuRequested, this,
48 
51 
52  m_propertyWidget->setVisible(false);
53 }
The IntensityDataCanvas class represents IntensityDataItem as color map, provides standard actions (r...
Provides support in Fast Fourier transformation of IntensityDataItem.
The IntensityDataPropertyWidget shows ComponentEditor for given IntensityDataItem.
IntensityDataCanvas * m_intensityCanvas
IntensityDataPropertyWidget * m_propertyWidget
void onContextMenuRequest(const QPoint &point)
IntensityDataFFTPresenter * m_fftPresenter
SessionItemWidget(QWidget *parent=0)

References IntensityDataFFTPresenter::fftActionRequest(), m_fftPresenter, m_intensityCanvas, m_propertyWidget, onContextMenuRequest(), and onFFTAction().

Here is the call graph for this function:

Member Function Documentation

◆ actionList()

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

Reimplemented from SessionItemWidget.

Definition at line 63 of file IntensityDataWidget.cpp.

References IntensityDataCanvas::actionList(), IntensityDataFFTPresenter::actionList(), IntensityDataPropertyWidget::actionList(), m_fftPresenter, m_intensityCanvas, and m_propertyWidget.

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(), 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(), SpecularDataWidget::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:

◆ intensityDataItem()

IntensityDataItem * IntensityDataWidget::intensityDataItem ( )
private

Definition at line 93 of file IntensityDataWidget.cpp.

94 {
96 }
IntensityDataItem * intensityDataItem(SessionItem *parent)
Returns IntensityDataItem contained as a child in givent parent.

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

Referenced by onFFTAction(), and setItem().

Here is the call graph for this function:

◆ onContextMenuRequest

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

Definition at line 69 of file IntensityDataWidget.cpp.

70 {
71  QMenu menu;
72  for (auto action : actionList())
73  menu.addAction(action);
74  menu.exec(point);
75 }
QList< QAction * > actionList()

References actionList().

Referenced by IntensityDataWidget().

Here is the call graph for this function:

◆ onFFTAction

void IntensityDataWidget::onFFTAction ( )
privateslot

Definition at line 77 of file IntensityDataWidget.cpp.

78 {
79  if (!intensityDataItem() || !intensityDataItem()->getOutputData())
80  return;
81 
82  if (m_fftPresenter->inFFTMode()) {
83  auto fftItem = m_fftPresenter->fftItem(intensityDataItem());
84  m_intensityCanvas->setItem(fftItem);
85  m_propertyWidget->setItem(fftItem);
86  } else {
87  // returning ColorMap to non-fft presentation
90  }
91 }
void setItem(SessionItem *intensityItem)
IntensityDataItem * fftItem(IntensityDataItem *origItem)
IntensityDataItem * intensityDataItem()
virtual void setItem(SessionItem *item)

References IntensityDataFFTPresenter::fftItem(), IntensityDataFFTPresenter::inFFTMode(), intensityDataItem(), m_fftPresenter, m_intensityCanvas, m_propertyWidget, IntensityDataCanvas::setItem(), and SessionItemWidget::setItem().

Referenced by IntensityDataWidget().

Here is the call graph for this function:

◆ setItem()

void IntensityDataWidget::setItem ( SessionItem jobItem)
virtual

Reimplemented from SessionItemWidget.

Definition at line 55 of file IntensityDataWidget.cpp.

References intensityDataItem(), m_fftPresenter, m_intensityCanvas, m_propertyWidget, IntensityDataFFTPresenter::reset(), IntensityDataCanvas::setItem(), and SessionItemWidget::setItem().

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:

◆ subscribeToItem()

◆ unsubscribeFromItem()

Member Data Documentation

◆ m_fftPresenter

IntensityDataFFTPresenter* IntensityDataWidget::m_fftPresenter
private

Definition at line 51 of file IntensityDataWidget.h.

Referenced by IntensityDataWidget(), actionList(), onFFTAction(), and setItem().

◆ m_intensityCanvas

IntensityDataCanvas* IntensityDataWidget::m_intensityCanvas
private

Definition at line 49 of file IntensityDataWidget.h.

Referenced by IntensityDataWidget(), actionList(), onFFTAction(), and setItem().

◆ m_itemController

◆ m_propertyWidget

IntensityDataPropertyWidget* IntensityDataWidget::m_propertyWidget
private

Definition at line 50 of file IntensityDataWidget.h.

Referenced by IntensityDataWidget(), actionList(), onFFTAction(), and setItem().


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