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

The RealDataMaskWidget class provides mask editing for RealDataItem on ImportDataView. More...

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

Public Member Functions

 RealDataMaskWidget (QWidget *parent=0)
 
QList< QAction * > actionList ()
 
SessionItemcurrentItem ()
 
const SessionItemcurrentItem () const
 
virtual void setItem (SessionItem *item)
 

Protected Member Functions

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

Private Member Functions

IntensityDataItemintensityDataItem ()
 
MaskContainerItemmaskContainer (IntensityDataItem *intensityData)
 

Private Attributes

SessionItemControllerm_itemController
 
MaskEditorm_maskEditor
 

Detailed Description

The RealDataMaskWidget class provides mask editing for RealDataItem on ImportDataView.

Definition at line 28 of file RealDataMaskWidget.h.

Constructor & Destructor Documentation

◆ RealDataMaskWidget()

RealDataMaskWidget::RealDataMaskWidget ( QWidget *  parent = 0)

Definition at line 24 of file RealDataMaskWidget.cpp.

26 {
27  setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
28 
29  QHBoxLayout* hlayout = new QHBoxLayout;
30  hlayout->setMargin(0);
31  hlayout->setSpacing(0);
32 
33  hlayout->addWidget(m_maskEditor);
34 
35  QVBoxLayout* mainLayout = new QVBoxLayout;
36  mainLayout->setMargin(0);
37  mainLayout->setSpacing(0);
38 
39  mainLayout->addLayout(hlayout);
40  setLayout(mainLayout);
41 }
Main class to draw masks on top of intensity data map.
Definition: MaskEditor.h:31
MaskEditor * m_maskEditor
SessionItemWidget(QWidget *parent=0)

References m_maskEditor.

Member Function Documentation

◆ actionList()

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

Reimplemented from SessionItemWidget.

Definition at line 43 of file RealDataMaskWidget.cpp.

44 {
46 }
QList< QAction * > topToolBarActions()
Returns list of actions intended for styled toolbar (on the top).
Definition: MaskEditor.cpp:86

References m_maskEditor, and MaskEditor::topToolBarActions().

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(), 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(), 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 * RealDataMaskWidget::intensityDataItem ( )
private

Definition at line 61 of file RealDataMaskWidget.cpp.

62 {
63  IntensityDataItem* result = dynamic_cast<RealDataItem*>(currentItem())->intensityDataItem();
64  ASSERT(result);
65  return result;
66 }
#define ASSERT(condition)
Definition: Assert.h:31
The RealDataItem class represents intensity data imported from file and intended for fitting.
Definition: RealDataItem.h:35
IntensityDataItem * intensityDataItem()

References ASSERT, and SessionItemWidget::currentItem().

Referenced by subscribeToItem().

Here is the call graph for this function:

◆ maskContainer()

MaskContainerItem * RealDataMaskWidget::maskContainer ( IntensityDataItem intensityData)
private

Definition at line 68 of file RealDataMaskWidget.cpp.

69 {
70  auto containerItem = intensityData->getItem(IntensityDataItem::T_MASKS);
71  if (!containerItem)
72  containerItem = intensityData->model()->insertNewItem("MaskContainer", intensityData);
73 
74  MaskContainerItem* result = dynamic_cast<MaskContainerItem*>(containerItem);
75  return result;
76 }
static const QString T_MASKS
Container holding various masks as children.
Definition: MaskItems.h:24
SessionModel * model() const
Returns model of this item.
Definition: SessionItem.cpp:66
SessionItem * getItem(const QString &tag="", int row=0) const
Returns item in given row of given tag.
SessionItem * insertNewItem(QString model_type, SessionItem *parent_item=nullptr, int row=-1, QString tag="")

References SessionItem::getItem(), SessionModel::insertNewItem(), SessionItem::model(), and IntensityDataItem::T_MASKS.

Referenced by subscribeToItem().

Here is the call graph for this function:

◆ setItem()

void SessionItemWidget::setItem ( SessionItem item)
virtualinherited

Reimplemented in SpecularPlotCanvas, SpecularDataImportWidget, SpecularDataWidget, IntensityDataWidget, SpecularDataCanvas, ProjectionsWidget, IntensityDataCanvas, ColorMapCanvas, and Plot1DCanvas.

Definition at line 28 of file SessionItemWidget.cpp.

29 {
31 
32  if (isVisible())
34 }
void setItem(SessionItem *item)
void subscribe()
Subscribe parent to item's signals.

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

Referenced by IntensityDataWidget::onFFTAction(), JobSelectorWidget::onSelectionChanged(), ProjectionsEditor::resetContext(), ProjectionsEditor::setContext(), MaskGraphicsProxy::setIntensityItem(), FitSessionWidget::setItem(), Plot1DCanvas::setItem(), InstrumentEditorWidget::setItem(), ColorMapCanvas::setItem(), IntensityDataCanvas::setItem(), ProjectionsWidget::setItem(), SpecularDataCanvas::setItem(), DistributionDialog::setItem(), IntensityDataWidget::setItem(), SpecularDataWidget::setItem(), SpecularDataImportWidget::setItem(), SpecularPlotCanvas::setItem(), ItemComboWidget::setPresentation(), GISASInstrumentEditor::subscribeToItem(), OffSpecularInstrumentEditor::subscribeToItem(), SpecularInstrumentEditor::subscribeToItem(), FitComparisonWidget::subscribeToItem(), FitComparisonWidget1D::subscribeToItem(), and GISASDetectorEditor::updateDetectorPresenter().

Here is the call graph for this function:

◆ showEvent()

void SessionItemWidget::showEvent ( QShowEvent *  )
protectedvirtualinherited

Definition at line 51 of file SessionItemWidget.cpp.

52 {
54 }

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

Here is the call graph for this function:

◆ subscribeToItem()

void RealDataMaskWidget::subscribeToItem ( )
protectedvirtual

Reimplemented from SessionItemWidget.

Definition at line 48 of file RealDataMaskWidget.cpp.

49 {
50  auto intensityItem = intensityDataItem();
51  auto container = maskContainer(intensityItem);
52  m_maskEditor->setMaskContext(intensityItem->model(), container->index(), intensityItem);
53  m_maskEditor->update();
54 }
void setMaskContext(SessionModel *model, const QModelIndex &maskContainerIndex, IntensityDataItem *intensityItem)
Main method to setup context for mask editing.
Definition: MaskEditor.cpp:50
MaskContainerItem * maskContainer(IntensityDataItem *intensityData)

References intensityDataItem(), m_maskEditor, maskContainer(), and MaskEditor::setMaskContext().

Here is the call graph for this function:

◆ unsubscribeFromItem()

void RealDataMaskWidget::unsubscribeFromItem ( )
protectedvirtual

Reimplemented from SessionItemWidget.

Definition at line 56 of file RealDataMaskWidget.cpp.

57 {
59 }
void resetContext()
Definition: MaskEditor.cpp:66

References m_maskEditor, and MaskEditor::resetContext().

Here is the call graph for this function:

Member Data Documentation

◆ m_itemController

◆ m_maskEditor

MaskEditor* RealDataMaskWidget::m_maskEditor
private

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