BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
The ItemComboWidget class combines stack of widgets with QComboBox controller to switch between widgets. More...
Public Types | |
using | factory_function_t = std::function< SessionItemWidget *()> |
Public Member Functions | |
ItemComboWidget (QWidget *parent=0) | |
virtual QList< QAction * > | actionList () |
SessionItem * | currentItem () |
const SessionItem * | currentItem () const |
void | registerWidget (const QString &presentationType, factory_function_t) |
virtual void | setItem (SessionItem *item) |
virtual void | setPresentation (const QString &presentationType) |
Sets stack to show widget corresponding to given presentation. More... | |
void | setToolBarVisible (bool value) |
Protected Member Functions | |
virtual QStringList | activePresentationList (SessionItem *item) |
Returns list of active presentations for given item. More... | |
virtual void | hideEvent (QHideEvent *) |
virtual QString | itemPresentation () const |
Presentation which should be shown for current item. More... | |
virtual QStringList | presentationList (SessionItem *item) |
Returns full list of presentations available for given item. More... | |
QString | selectedPresentation () const |
Presentation selected in combo selector. More... | |
virtual void | showEvent (QShowEvent *) |
void | subscribeToItem () |
virtual void | unsubscribeFromItem () |
Private Slots | |
void | onComboChanged (const QString &name) |
Private Member Functions | |
void | setSizeToCurrentWidget () |
Resizes QStackedWidget to currently active page. More... | |
Private Attributes | |
SessionItemController * | m_itemController |
QMap< QString, SessionItemWidget * > | m_presentationTypeToWidget |
QStackedWidget * | m_stackedWidget |
ItemComboToolBar * | m_toolBar |
IFactory< QString, SessionItemWidget > | m_widgetFactory |
The ItemComboWidget class combines stack of widgets with QComboBox controller to switch between widgets.
It is used in the case when one SessionItem can be presented with different widgets. For example, in JobOutputDataWidget the results of the job can be presented with either IntensityDataWidget or FitDataWidget, depending from the JobView's activity type.
Definition at line 35 of file ItemComboWidget.h.
using ItemComboWidget::factory_function_t = std::function<SessionItemWidget*()> |
Definition at line 39 of file ItemComboWidget.h.
|
explicit |
Definition at line 24 of file ItemComboWidget.cpp.
References ItemComboToolBar::comboChanged(), m_stackedWidget, m_toolBar, and onComboChanged().
|
virtualinherited |
Reimplemented in SpecularDataCanvas, FitComparisonWidget1D, FitComparisonWidget, SpecularDataWidget, SpecularDataImportWidget, IntensityDataWidget, IntensityDataPropertyWidget, IntensityDataProjectionsWidget, IntensityDataCanvas, RealDataPresenter, and RealDataMaskWidget.
Definition at line 36 of file SessionItemWidget.cpp.
Referenced by setPresentation().
|
protectedvirtual |
Returns list of active presentations for given item.
Active presentation is the one which is present in QComboBox selector and can be selected. For example, if JobItem is fittable, the list will contain "FitComparisonWidgetName".
Reimplemented in JobResultsPresenter, InstrumentPresenter, DetectorPresenter, and RealDataPresenter.
Definition at line 85 of file ItemComboWidget.cpp.
Referenced by presentationList(), setPresentation(), and subscribeToItem().
|
inherited |
Definition at line 41 of file SessionItemWidget.cpp.
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(), setPresentation(), JobResultsPresenter::setPresentation(), SpecularDataCanvas::specularDataItem(), SpecularDataImportWidget::specularDataItem(), SpecularDataWidget::specularDataItem(), SpecularPlot::specularItem(), subscribeToItem(), DistributionEditor::subscribeToItem(), GISASDetectorEditor::subscribeToItem(), PolarizationAnalysisEditor::subscribeToItem(), IntensityDataPropertyWidget::subscribeToItem(), JobPropertiesWidget::subscribeToItem(), ProjectionsPropertyPanel::subscribeToItem(), ProjectionsPlot::unsubscribeFromChildren(), and Plot1D::viewItem().
|
inherited |
Definition at line 46 of file SessionItemWidget.cpp.
References SessionItemController::currentItem(), and SessionItemWidget::m_itemController.
|
protectedvirtualinherited |
Definition at line 56 of file SessionItemWidget.cpp.
References SessionItemWidget::m_itemController, and SessionItemController::unsubscribe().
|
protectedvirtual |
Presentation which should be shown for current item.
Reimplemented in JobResultsPresenter, InstrumentPresenter, and DetectorPresenter.
Definition at line 100 of file ItemComboWidget.cpp.
References selectedPresentation().
Referenced by subscribeToItem().
|
privateslot |
Definition at line 119 of file ItemComboWidget.cpp.
References selectedPresentation(), and setPresentation().
Referenced by ItemComboWidget().
|
protectedvirtual |
Returns full list of presentations available for given item.
Reimplemented in JobResultsPresenter.
Definition at line 93 of file ItemComboWidget.cpp.
References activePresentationList().
Referenced by subscribeToItem().
void ItemComboWidget::registerWidget | ( | const QString & | presentationType, |
factory_function_t | f | ||
) |
Definition at line 43 of file ItemComboWidget.cpp.
References m_widgetFactory, and IFactory< Key, AbstractProduct >::registerItem().
Referenced by DetectorPresenter::DetectorPresenter(), InstrumentPresenter::InstrumentPresenter(), JobResultsPresenter::JobResultsPresenter(), and RealDataPresenter::RealDataPresenter().
|
protected |
Presentation selected in combo selector.
Definition at line 107 of file ItemComboWidget.cpp.
References ItemComboToolBar::currentPresentation(), and m_toolBar.
Referenced by itemPresentation(), JobResultsPresenter::itemPresentation(), and onComboChanged().
|
virtualinherited |
Reimplemented in SpecularPlotCanvas, SpecularDataImportWidget, SpecularDataWidget, IntensityDataWidget, SpecularDataCanvas, ProjectionsWidget, IntensityDataCanvas, ColorMapCanvas, and Plot1DCanvas.
Definition at line 28 of file SessionItemWidget.cpp.
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(), setPresentation(), GISASInstrumentEditor::subscribeToItem(), OffSpecularInstrumentEditor::subscribeToItem(), SpecularInstrumentEditor::subscribeToItem(), FitComparisonWidget::subscribeToItem(), FitComparisonWidget1D::subscribeToItem(), and GISASDetectorEditor::updateDetectorPresenter().
|
virtual |
Sets stack to show widget corresponding to given presentation.
Reimplemented in JobResultsPresenter.
Definition at line 50 of file ItemComboWidget.cpp.
References SessionItemWidget::actionList(), activePresentationList(), ASSERT, IFactory< Key, AbstractProduct >::createItemPtr(), SessionItemWidget::currentItem(), m_presentationTypeToWidget, m_stackedWidget, m_toolBar, m_widgetFactory, ItemComboToolBar::setActionList(), SessionItemWidget::setItem(), ItemComboToolBar::setPresentation(), and setSizeToCurrentWidget().
Referenced by onComboChanged(), JobResultsPresenter::setPresentation(), and subscribeToItem().
|
private |
Resizes QStackedWidget to currently active page.
Definition at line 126 of file ItemComboWidget.cpp.
References m_stackedWidget.
Referenced by setPresentation().
void ItemComboWidget::setToolBarVisible | ( | bool | value | ) |
Definition at line 76 of file ItemComboWidget.cpp.
References m_toolBar.
Referenced by DetectorPresenter::DetectorPresenter(), and InstrumentPresenter::InstrumentPresenter().
|
protectedvirtualinherited |
Definition at line 51 of file SessionItemWidget.cpp.
References SessionItemWidget::m_itemController, and SessionItemController::subscribe().
|
protectedvirtual |
Reimplemented from SessionItemWidget.
Definition at line 112 of file ItemComboWidget.cpp.
References activePresentationList(), SessionItemWidget::currentItem(), itemPresentation(), m_toolBar, presentationList(), setPresentation(), and ItemComboToolBar::setPresentationList().
|
inlineprotectedvirtualinherited |
Reimplemented in SpecularPlot, Plot1D, ColorMap, FitComparisonWidget1D, FitComparisonWidget, ProjectionsPropertyPanel, JobPropertiesWidget, ProjectionsPlot, IntensityDataPropertyWidget, IntensityDataProjectionsWidget, SphericalDetectorEditor, SpecularBeamEditor, RectangularDetectorEditor, PolarizationAnalysisEditor, OffSpecularBeamEditor, GISASDetectorEditor, GISASBeamEditor, EnvironmentEditor, DepthProbeInstrumentEditor, RealDataMaskWidget, RunFitControlWidget, and FitFlowWidget.
Definition at line 44 of file SessionItemWidget.h.
Referenced by SessionItemWidget::SessionItemWidget().
|
privateinherited |
Definition at line 49 of file SessionItemWidget.h.
Referenced by SessionItemWidget::SessionItemWidget(), SessionItemWidget::currentItem(), SessionItemWidget::hideEvent(), SessionItemWidget::setItem(), and SessionItemWidget::showEvent().
|
private |
Definition at line 68 of file ItemComboWidget.h.
Referenced by setPresentation().
|
private |
Definition at line 65 of file ItemComboWidget.h.
Referenced by ItemComboWidget(), setPresentation(), and setSizeToCurrentWidget().
|
private |
Definition at line 64 of file ItemComboWidget.h.
Referenced by ItemComboWidget(), selectedPresentation(), setPresentation(), setToolBarVisible(), and subscribeToItem().
|
private |
Definition at line 67 of file ItemComboWidget.h.
Referenced by registerWidget(), and setPresentation().