Skip to content
Snippets Groups Projects
Commit 342f4474 authored by Pospelov, Gennady's avatar Pospelov, Gennady
Browse files

DetectorContainerItem now created in constructor of InstrumentItem

parent 1a08edf9
No related branches found
No related tags found
No related merge requests found
......@@ -118,7 +118,6 @@ void ApplicationModels::resetModels()
m_instrumentModel->clear();
SessionItem *instrument = m_instrumentModel->insertNewItem(Constants::InstrumentType);
instrument->setItemName("Default GISAS");
m_instrumentModel->insertNewItem(Constants::DetectorContainerType, m_instrumentModel->indexOfItem(instrument));
// m_realDataModel->insertNewItem(Constants::RealDataType);
// m_realDataModel->insertNewItem(Constants::RealDataType);
......
......@@ -50,6 +50,7 @@
#include "TransformFromDomain.h"
#include "TransformationItem.h"
#include "InstrumentItem.h"
#include "DetectorItems.h"
#include "Units.h"
#include "VectorItem.h"
......@@ -111,13 +112,11 @@ SessionItem* GUIObjectBuilder::populateInstrumentModel(
TransformFromDomain::setItemFromSample(&beamItem, simulation);
// detector
DetectorContainerItem* detectorItem = dynamic_cast<DetectorContainerItem*>(instrumentModel->insertNewItem(
Constants::DetectorContainerType, instrumentModel->indexOfItem(instrumentItem)));
TransformFromDomain::setItemFromSample(detectorItem, simulation);
auto& detectorItem = instrumentItem->item<DetectorContainerItem>(InstrumentItem::P_DETECTOR);
TransformFromDomain::setItemFromSample(&detectorItem, simulation);
// detector masks
TransformFromDomain::setDetectorMasks(detectorItem, simulation);
TransformFromDomain::setDetectorMasks(&detectorItem, simulation);
return instrumentItem;
}
......
......@@ -24,7 +24,7 @@
const QString InstrumentItem::P_IDENTIFIER = "Identifier";
const QString InstrumentItem::P_BEAM = "Beam";
const QString InstrumentItem::P_DETECTOR = "DetectorType";
const QString InstrumentItem::P_DETECTOR = "Data tag";
InstrumentItem::InstrumentItem()
: SessionItem(Constants::InstrumentType)
......@@ -34,10 +34,11 @@ InstrumentItem::InstrumentItem()
addProperty(P_IDENTIFIER, GUIHelpers::createUuid())->setVisible(false);
addGroupProperty(P_BEAM, Constants::BeamType);
addGroupProperty(P_DETECTOR, Constants::DetectorContainerType);
const QString T_DATA = "Data tag";
registerTag(T_DATA, 0, -1, QStringList() << Constants::DetectorContainerType);
setDefaultTag(T_DATA);
// const QString T_DATA = "Data tag";
// registerTag(T_DATA, 0, -1, QStringList() << Constants::DetectorContainerType);
setDefaultTag(P_DETECTOR);
}
BeamItem *InstrumentItem::beamItem() const
......
......@@ -17,6 +17,7 @@
#include "ModelPath.h"
#include "SessionModel.h"
#include "JobItem.h"
#include "InstrumentItem.h"
QString ModelPath::getPathFromIndex(const QModelIndex& index)
{
......@@ -88,7 +89,7 @@ bool ModelPath::isValidItem(SessionModel* model, SessionItem* item, const QModel
bool ModelPath::isTranslatable(const SessionItem* item, const QString& par_name)
{
Q_UNUSED(item);
if (par_name.contains(Constants::DetectorContainerType))
if (par_name.contains(InstrumentItem::P_DETECTOR))
return false;
if (par_name.contains(Constants::DistributionSigmaFactor))
return false;
......
......@@ -111,8 +111,6 @@ void InstrumentView::onAddInstrument()
{
SessionItem *instrument = m_instrumentModel->insertNewItem(Constants::InstrumentType);
instrument->setItemName(getNewInstrumentName("Default GISAS"));
m_instrumentModel->insertNewItem(
Constants::DetectorContainerType, m_instrumentModel->indexOfItem(instrument));
QModelIndex itemIndex = m_instrumentModel->indexOfItem(instrument);
m_instrumentSelector->getSelectionModel()->clearSelection();
m_instrumentSelector->getSelectionModel()->select(itemIndex, QItemSelectionModel::Select);
......
......@@ -75,11 +75,9 @@ inline void TestSessionModel::test_InstrumentModel_CreateCopy()
InstrumentModel *model1 = new InstrumentModel();
SessionItem *instrument1 = model1->insertNewItem(Constants::InstrumentType);
instrument1->setItemName("instrument1");
model1->insertNewItem(Constants::DetectorContainerType, model1->indexOfItem(instrument1));
SessionItem *instrument2 = model1->insertNewItem(Constants::InstrumentType);
instrument2->setItemName("instrument2");
model1->insertNewItem(Constants::DetectorContainerType, model1->indexOfItem(instrument2));
QString buffer1;
QXmlStreamWriter writer1(&buffer1);
......@@ -101,11 +99,9 @@ inline void TestSessionModel::test_InstrumentModel_CreatePartialCopy()
InstrumentModel *model1 = new InstrumentModel();
SessionItem *instrument1 = model1->insertNewItem(Constants::InstrumentType);
instrument1->setItemName("instrument1");
model1->insertNewItem(Constants::DetectorContainerType, model1->indexOfItem(instrument1));
SessionItem *instrument2 = model1->insertNewItem(Constants::InstrumentType);
instrument2->setItemName("instrument2");
model1->insertNewItem(Constants::DetectorContainerType, model1->indexOfItem(instrument2));
// QString buffer1;
// QXmlStreamWriter writer1(&buffer1);
......@@ -142,8 +138,6 @@ inline void TestSessionModel::test_copyParameterizedItem()
InstrumentModel *instrumentModel = new InstrumentModel();
SessionItem *instrument1 = instrumentModel->insertNewItem(Constants::InstrumentType);
instrument1->setItemName("instrument1");
instrumentModel->insertNewItem(Constants::DetectorContainerType, instrumentModel->indexOfItem(instrument1));
instrumentModel->insertNewItem(Constants::BeamType, instrumentModel->indexOfItem(instrument1));
JobModel *jobModel = new JobModel();
SessionItem *jobItem = jobModel->insertNewItem(Constants::JobItemType);
......
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