21 #include <QGridLayout>
22 #include <QSpacerItem>
25 const QString beam_pol_title(
"Polarization (Bloch vector)");
26 const QString analyzer_orientation_title =
"Analyzer orientation";
27 const QString analyzer_properties_title =
"Analyzer properties";
33 , m_columnResizer(columnResizer)
35 , m_analyserDirectionEditor(
37 , m_analyserPropertiesEditor(
39 , m_gridLayout(new QGridLayout)
45 auto mainLayout =
new QVBoxLayout;
47 mainLayout->addStretch();
48 setLayout(mainLayout);
60 [
this](
const QString&
name) {
#define ASSERT(condition)
Defines class ColumnResizer.
Defines ComponentEditor class.
Defines classes DetectorItems.
Defines InstrumentItems classes.
Defines LayoutUtils namespace.
Defines class PolarizationAnalysisEditor.
static const QString P_POLARIZATION
The ColumnResizer class provides vertically aligned widgets from diferent layouts.
void addWidgetsFromGridLayout(QGridLayout *, int column)
Component editor for SessionItem.
void addItem(SessionItem *item)
void setItem(SessionItem *item)
static const QString P_ANALYZER_EFFICIENCY
static const QString P_ANALYZER_DIRECTION
static const QString P_ANALYZER_TOTAL_TRANSMISSION
DetectorItem * detectorItem() const
static const QString P_DETECTOR
virtual BeamItem * beamItem() const
void setOnPropertyChange(std::function< void(QString)> f, const void *caller=0)
ComponentEditor * m_polarizationEditor
void unsubscribeFromItem()
ColumnResizer * m_columnResizer
PolarizationAnalysisEditor(ColumnResizer *columnResizer, QWidget *parent=nullptr)
QGridLayout * m_gridLayout
DetectorItem * detectorItem()
ComponentEditor * m_analyserDirectionEditor
GISASInstrumentItem * instrumentItem()
void updateAnalyserEditor()
Updates analyser editor to display properties of currently selected detector (spherical/rectangular).
ComponentEditor * m_analyserPropertiesEditor
ModelMapper * mapper()
Returns the current model mapper of this item. Creates new one if necessary.
QString const & name(EShape k)