Skip to content
Snippets Groups Projects
Commit 2f618c01 authored by Yurov, Dmitry's avatar Yurov, Dmitry
Browse files

Minor changes for better access to footprint items

Redmine: #1974
parent 7f105f0a
No related branches found
No related tags found
No related merge requests found
......@@ -18,6 +18,7 @@
#include "BeamDistributionItem.h"
#include "BeamWavelengthItem.h"
#include "BornAgainNamespace.h"
#include "FootprintItems.h"
#include "GUIHelpers.h"
#include "ParameterTranslators.h"
#include "SessionItemUtils.h"
......@@ -150,6 +151,11 @@ void SpecularBeamItem::setInclinationAngle(double value)
BeamItem::setInclinationAngle(value);
}
FootprintItem* SpecularBeamItem::currentFootprintItem() const
{
return &groupItem<FootprintItem>(P_FOOPTPRINT);
}
// GISAS beam item
/* ------------------------------------------------------------------------- */
......
......@@ -18,6 +18,7 @@
#include "SessionItem.h"
class Beam;
class FootprintItem;
class BA_CORE_API_ BeamItem : public SessionItem
{
......@@ -60,6 +61,8 @@ public:
double getInclinationAngle() const override;
void setInclinationAngle(double value) override;
FootprintItem* currentFootprintItem() const;
};
class BA_CORE_API_ GISASBeamItem : public BeamItem
......
......@@ -102,6 +102,11 @@ SpecularInstrumentItem::SpecularInstrumentItem()
initBeamGroup(Constants::SpecularBeamType);
}
SpecularBeamItem* SpecularInstrumentItem::beamItem() const
{
return &item<SpecularBeamItem>(P_BEAM);
}
SpecularInstrumentItem::~SpecularInstrumentItem() = default;
std::unique_ptr<Instrument> SpecularInstrumentItem::createInstrument() const
......
......@@ -15,10 +15,9 @@
#ifndef INSTRUMENTITEMS_H
#define INSTRUMENTITEMS_H
#include "SessionItem.h"
#include "BeamItems.h"
class BackgroundItem;
class BeamItem;
class DetectorItem;
class GroupItem;
class Instrument;
......@@ -33,7 +32,7 @@ public:
QStringList translateList(const QStringList& list) const override;
BeamItem* beamItem() const;
virtual BeamItem* beamItem() const;
BackgroundItem* backgroundItem() const;
GroupItem* backgroundGroup();
......@@ -51,6 +50,8 @@ public:
SpecularInstrumentItem();
virtual ~SpecularInstrumentItem();
SpecularBeamItem* beamItem() const override;
std::unique_ptr<Instrument> createInstrument() const override;
};
......
......@@ -64,7 +64,7 @@ SpecularBeamEditor::SpecularBeamEditor(ColumnResizer* columnResizer, QWidget* pa
void SpecularBeamEditor::subscribeToItem()
{
const auto beam_item = beamItem();
const auto beam_item = instrumentItem()->beamItem();
Q_ASSERT(beam_item);
m_intensityEditor->setItem(beam_item->getItem(SpecularBeamItem::P_INTENSITY));
......@@ -96,11 +96,6 @@ SpecularInstrumentItem* SpecularBeamEditor::instrumentItem()
return result;
}
BeamItem* SpecularBeamEditor::beamItem()
{
return instrumentItem()->beamItem();
}
void SpecularBeamEditor::onDialogRequest(SessionItem* item, const QString& name)
{
if(!item)
......
......@@ -38,7 +38,6 @@ protected:
private:
SpecularInstrumentItem* instrumentItem();
BeamItem* beamItem();
void onDialogRequest(SessionItem* item, const QString& name);
ColumnResizer* m_columnResizer;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment