From 926cbc31aaf4d404d95a044b91bd4eca9d913614 Mon Sep 17 00:00:00 2001
From: Gennady Pospelov <g.pospelov@fz-juelich.de>
Date: Thu, 24 Jul 2014 09:07:42 +0200
Subject: [PATCH] New InstrumentModel class inheriting SampleModel.

---
 GUI/coregui/Models/GUIExamplesFactory.cpp     |  4 ++--
 GUI/coregui/Models/GUIExamplesFactory.h       |  4 ++--
 GUI/coregui/Models/GUIObjectBuilder.cpp       |  5 ++---
 GUI/coregui/Models/GUIObjectBuilder.h         |  6 +++---
 GUI/coregui/Models/InstrumentModel.cpp        |  7 +++++++
 GUI/coregui/Models/InstrumentModel.h          | 19 +++++++++++++++++++
 .../InstrumentSelectorWidget.cpp              |  6 +++---
 .../InstrumentSelectorWidget.h                |  8 ++++----
 .../SampleDesigner/DesignerScene.cpp          |  4 ++--
 .../Components/SampleDesigner/DesignerScene.h |  6 +++---
 .../Components/SampleDesigner/ILayerView.cpp  |  2 +-
 .../SampleDesigner/SampleDesigner.cpp         |  2 +-
 .../SampleDesigner/SampleDesigner.h           |  5 +++--
 GUI/coregui/Views/InstrumentView.cpp          |  4 ++--
 GUI/coregui/Views/InstrumentView.h            |  6 +++---
 GUI/coregui/Views/SampleView.cpp              |  2 +-
 GUI/coregui/Views/SampleView.h                |  8 ++++----
 GUI/coregui/mainwindow/mainwindow.cpp         |  4 +++-
 GUI/coregui/mainwindow/mainwindow.h           |  6 +++---
 GUI/coregui/mainwindow/projectdocument.cpp    |  4 ++--
 GUI/coregui/mainwindow/projectdocument.h      |  6 +++---
 GUI/coregui/utils/GUIFunctionalTest.cpp       |  4 ++--
 22 files changed, 75 insertions(+), 47 deletions(-)
 create mode 100644 GUI/coregui/Models/InstrumentModel.cpp
 create mode 100644 GUI/coregui/Models/InstrumentModel.h

diff --git a/GUI/coregui/Models/GUIExamplesFactory.cpp b/GUI/coregui/Models/GUIExamplesFactory.cpp
index fc9233456e9..3a81190cce9 100644
--- a/GUI/coregui/Models/GUIExamplesFactory.cpp
+++ b/GUI/coregui/Models/GUIExamplesFactory.cpp
@@ -2,7 +2,7 @@
 #include "GUIObjectBuilder.h"
 #include "SampleBuilderFactory.h"
 #include "SimulationRegistry.h"
-#include "SessionModel.h"
+#include "InstrumentModel.h"
 #include "SampleModel.h"
 #include "GUIHelpers.h"
 #include <QDebug>
@@ -47,7 +47,7 @@ ParameterizedItem *GUIExamplesFactory::createSampleItems(const QString &name, Sa
     //return guiBuilder.getTopItem();
 }
 
-ParameterizedItem *GUIExamplesFactory::createInstrumentItems(const QString &name, SessionModel *instrumentModel)
+ParameterizedItem *GUIExamplesFactory::createInstrumentItems(const QString &name, InstrumentModel *instrumentModel)
 {
     if(instrumentModel->getModelTag() != SessionXML::InstrumentModelTag ) {
         throw GUIHelpers::Error("GUIExamplesFactory::createInstrumentItems() -> Error. Not an InstrumentModelTag");
diff --git a/GUI/coregui/Models/GUIExamplesFactory.h b/GUI/coregui/Models/GUIExamplesFactory.h
index 3c525dc6234..4b00ac5540e 100644
--- a/GUI/coregui/Models/GUIExamplesFactory.h
+++ b/GUI/coregui/Models/GUIExamplesFactory.h
@@ -5,7 +5,7 @@
 #include <QString>
 
 class ParameterizedItem;
-class SessionModel;
+class InstrumentModel;
 class SampleModel;
 
 //! Class that generates GUI model from
@@ -15,7 +15,7 @@ public:
     static bool isValidExampleName(const QString &name);
 
     static ParameterizedItem *createSampleItems(const QString &name, SampleModel *sampleModel);
-    static ParameterizedItem *createInstrumentItems(const QString &name, SessionModel *instrumentModel);
+    static ParameterizedItem *createInstrumentItems(const QString &name, InstrumentModel *instrumentModel);
 
 
 private:
diff --git a/GUI/coregui/Models/GUIObjectBuilder.cpp b/GUI/coregui/Models/GUIObjectBuilder.cpp
index fe67b6cc358..77304f969e7 100644
--- a/GUI/coregui/Models/GUIObjectBuilder.cpp
+++ b/GUI/coregui/Models/GUIObjectBuilder.cpp
@@ -1,5 +1,5 @@
 #include "GUIObjectBuilder.h"
-#include "SessionModel.h"
+#include "InstrumentModel.h"
 #include "SampleModel.h"
 #include "Units.h"
 #include "LayerItem.h"
@@ -44,8 +44,7 @@ ParameterizedItem *GUIObjectBuilder::populateSampleModel(SampleModel *sampleMode
     return m_levelToParent[0];
 }
 
-ParameterizedItem *GUIObjectBuilder::populateInstrumentModel(
-        SessionModel *instrumentModel, Instrument *instrument)
+ParameterizedItem *GUIObjectBuilder::populateInstrumentModel(InstrumentModel *instrumentModel, Instrument *instrument)
 {
     Q_UNUSED(instrumentModel);
     Q_UNUSED(instrument);
diff --git a/GUI/coregui/Models/GUIObjectBuilder.h b/GUI/coregui/Models/GUIObjectBuilder.h
index d65c9101025..8a539e308bd 100644
--- a/GUI/coregui/Models/GUIObjectBuilder.h
+++ b/GUI/coregui/Models/GUIObjectBuilder.h
@@ -22,11 +22,11 @@
 #include "MaterialProperty.h"
 #include <QMap>
 
-class SessionModel;
+class InstrumentModel;
 class SampleModel;
 class ParameterizedItem;
 
-//! Class to build SessionModel from domain's ISample
+//! Class to build SampleModel and InstrumentModel from domain's ISample
 class GUIObjectBuilder : public ISampleVisitor
 {
 public:
@@ -35,7 +35,7 @@ public:
 
     ParameterizedItem *populateSampleModel(SampleModel *sampleModel,
                                            ISample *sample);
-    ParameterizedItem *populateInstrumentModel(SessionModel *instrumentModel,
+    ParameterizedItem *populateInstrumentModel(InstrumentModel *instrumentModel,
                                                Instrument *instrument);
 
     using ISampleVisitor::visit;
diff --git a/GUI/coregui/Models/InstrumentModel.cpp b/GUI/coregui/Models/InstrumentModel.cpp
new file mode 100644
index 00000000000..d96164990ab
--- /dev/null
+++ b/GUI/coregui/Models/InstrumentModel.cpp
@@ -0,0 +1,7 @@
+#include "InstrumentModel.h"
+
+InstrumentModel::InstrumentModel(QObject *parent)
+    : SessionModel(SessionXML::InstrumentModelTag, parent)
+{
+
+}
diff --git a/GUI/coregui/Models/InstrumentModel.h b/GUI/coregui/Models/InstrumentModel.h
new file mode 100644
index 00000000000..a44b80c001d
--- /dev/null
+++ b/GUI/coregui/Models/InstrumentModel.h
@@ -0,0 +1,19 @@
+#ifndef INSTRUMENTMODEL_H
+#define INSTRUMENTMODEL_H
+
+#include "SessionModel.h"
+
+class InstrumentModel : public SessionModel
+{
+    Q_OBJECT
+
+public:
+    explicit InstrumentModel(QObject *parent = 0);
+    ~InstrumentModel(){}
+
+};
+
+
+
+
+#endif
diff --git a/GUI/coregui/Views/Components/InstrumentWidgets/InstrumentSelectorWidget.cpp b/GUI/coregui/Views/Components/InstrumentWidgets/InstrumentSelectorWidget.cpp
index 3c836c16487..f9047205427 100644
--- a/GUI/coregui/Views/Components/InstrumentWidgets/InstrumentSelectorWidget.cpp
+++ b/GUI/coregui/Views/Components/InstrumentWidgets/InstrumentSelectorWidget.cpp
@@ -1,5 +1,5 @@
 #include "InstrumentSelectorWidget.h"
-#include "SessionModel.h"
+#include "InstrumentModel.h"
 #include "ParameterizedItem.h"
 #include <QListView>
 #include <QVBoxLayout>
@@ -8,7 +8,7 @@
 #include <QAction>
 #include <QDebug>
 
-InstrumentSelectorWidget::InstrumentSelectorWidget(SessionModel *model, QWidget *parent)
+InstrumentSelectorWidget::InstrumentSelectorWidget(InstrumentModel *model, QWidget *parent)
     : QWidget(parent)
     , m_instrumentModel(0)
     , m_listView(0)
@@ -69,7 +69,7 @@ InstrumentSelectorWidget::InstrumentSelectorWidget(SessionModel *model, QWidget
 
 
 
-void InstrumentSelectorWidget::setInstrumentModel(SessionModel *model)
+void InstrumentSelectorWidget::setInstrumentModel(InstrumentModel *model)
 {
     Q_ASSERT(model);
     Q_ASSERT(m_listView);
diff --git a/GUI/coregui/Views/Components/InstrumentWidgets/InstrumentSelectorWidget.h b/GUI/coregui/Views/Components/InstrumentWidgets/InstrumentSelectorWidget.h
index 31a038784a7..2607cecad02 100644
--- a/GUI/coregui/Views/Components/InstrumentWidgets/InstrumentSelectorWidget.h
+++ b/GUI/coregui/Views/Components/InstrumentWidgets/InstrumentSelectorWidget.h
@@ -3,7 +3,7 @@
 
 
 #include <QWidget>
-class SessionModel;
+class InstrumentModel;
 class QListView;
 class QAction;
 class QItemSelectionModel;
@@ -14,12 +14,12 @@ class InstrumentSelectorWidget : public QWidget
     Q_OBJECT
 
 public:
-    InstrumentSelectorWidget(SessionModel *model, QWidget *parent = 0);
+    InstrumentSelectorWidget(InstrumentModel *model, QWidget *parent = 0);
 
     QSize sizeHint() const { return QSize(200, 600); }
     QSize minimumSizeHint() const { return QSize(128, 300); }
 
-    void setInstrumentModel(SessionModel *model);
+    void setInstrumentModel(InstrumentModel *model);
 
     QItemSelectionModel *getSelectionModel();
     QListView *getListView() { return m_listView; }
@@ -31,7 +31,7 @@ public slots:
 //    void onRowsInserted(const QModelIndex &parent, int first, int last);
 
 private:
-    SessionModel *m_instrumentModel;
+    InstrumentModel *m_instrumentModel;
     QListView *m_listView;
 };
 
diff --git a/GUI/coregui/Views/Components/SampleDesigner/DesignerScene.cpp b/GUI/coregui/Views/Components/SampleDesigner/DesignerScene.cpp
index 13ce7181787..b245376e98e 100644
--- a/GUI/coregui/Views/Components/SampleDesigner/DesignerScene.cpp
+++ b/GUI/coregui/Views/Components/SampleDesigner/DesignerScene.cpp
@@ -1,6 +1,6 @@
 #include "DesignerScene.h"
 #include "DesignerHelper.h"
-#include "SessionModel.h"
+#include "InstrumentModel.h"
 #include "SampleModel.h"
 #include "SampleViewFactory.h"
 #include "SampleViewAligner.h"
@@ -75,7 +75,7 @@ void DesignerScene::setSampleModel(SampleModel *sampleModel)
     }
 }
 
-void DesignerScene::setInstrumentModel(SessionModel *instrumentModel)
+void DesignerScene::setInstrumentModel(InstrumentModel *instrumentModel)
 {
     m_instrumentModel = instrumentModel;
 }
diff --git a/GUI/coregui/Views/Components/SampleDesigner/DesignerScene.h b/GUI/coregui/Views/Components/SampleDesigner/DesignerScene.h
index 9db249cc52d..18377660b6f 100644
--- a/GUI/coregui/Views/Components/SampleDesigner/DesignerScene.h
+++ b/GUI/coregui/Views/Components/SampleDesigner/DesignerScene.h
@@ -6,7 +6,7 @@
 #include <QModelIndex>
 #include <QMap>
 
-class SessionModel;
+class InstrumentModel;
 class SampleModel;
 class ParameterizedItem;
 class ParameterizedGraphicsItem;
@@ -29,7 +29,7 @@ public:
     virtual ~DesignerScene();
 
     void setSampleModel(SampleModel *sampleModel);
-    void setInstrumentModel(SessionModel *instrumentModel);
+    void setInstrumentModel(InstrumentModel *instrumentModel);
     void setSelectionModel(QItemSelectionModel *model);
 
     SampleModel *getSampleModel() { return m_sampleModel; }
@@ -79,7 +79,7 @@ private:
 //    ParameterizedItem *dropCompleteSample(const QString &name);
 
     SampleModel *m_sampleModel;
-    SessionModel *m_instrumentModel;
+    InstrumentModel *m_instrumentModel;
     QItemSelectionModel *m_selectionModel;
     bool m_block_selection;
 
diff --git a/GUI/coregui/Views/Components/SampleDesigner/ILayerView.cpp b/GUI/coregui/Views/Components/SampleDesigner/ILayerView.cpp
index 01580e3d705..e0bb87e9565 100644
--- a/GUI/coregui/Views/Components/SampleDesigner/ILayerView.cpp
+++ b/GUI/coregui/Views/Components/SampleDesigner/ILayerView.cpp
@@ -56,7 +56,7 @@ void ILayerView::onPropertyChange(const QString &propertyName)
 
 void ILayerView::setParameterizedItem(ParameterizedItem *item)
 {
-    QVariant v = item->property("Material");
+    QVariant v = item->property(LayerItem::P_MATERIAL.toUtf8().constData());
     if(v.isValid()) {
         MaterialProperty mp = v.value<MaterialProperty>();
         setColor(mp.getColor());
diff --git a/GUI/coregui/Views/Components/SampleDesigner/SampleDesigner.cpp b/GUI/coregui/Views/Components/SampleDesigner/SampleDesigner.cpp
index da6f3761749..68b23a87111 100644
--- a/GUI/coregui/Views/Components/SampleDesigner/SampleDesigner.cpp
+++ b/GUI/coregui/Views/Components/SampleDesigner/SampleDesigner.cpp
@@ -25,7 +25,7 @@ void SampleDesigner::setSampleModel(SampleModel *sampleModel)
     if(sampleModel) m_designerScene->setSampleModel(sampleModel);
 }
 
-void SampleDesigner::setInstrumentModel(SessionModel *instrumentModel)
+void SampleDesigner::setInstrumentModel(InstrumentModel *instrumentModel)
 {
     if(instrumentModel) m_designerScene->setInstrumentModel(instrumentModel);
 }
diff --git a/GUI/coregui/Views/Components/SampleDesigner/SampleDesigner.h b/GUI/coregui/Views/Components/SampleDesigner/SampleDesigner.h
index 58f683458f1..2224792e424 100644
--- a/GUI/coregui/Views/Components/SampleDesigner/SampleDesigner.h
+++ b/GUI/coregui/Views/Components/SampleDesigner/SampleDesigner.h
@@ -9,7 +9,8 @@
 class DesignerScene;
 class SamplePropertyEditor;
 class DesignerWidgetFactory;
-class SessionModel;
+class InstrumentModel;
+class SampleModel;
 
 //! sample designer interface
 class SampleDesignerInterface : public QObject
@@ -41,7 +42,7 @@ public:
     QWidget *getCentralWidget() { return m_designerView; }
 
     void setSampleModel(SampleModel *sampleModel);
-    void setInstrumentModel(SessionModel *instrumentModel);
+    void setInstrumentModel(InstrumentModel *instrumentModel);
     void setSelectionModel(QItemSelectionModel *model);
 
 public slots:
diff --git a/GUI/coregui/Views/InstrumentView.cpp b/GUI/coregui/Views/InstrumentView.cpp
index 26806a859c9..f4901fa876f 100644
--- a/GUI/coregui/Views/InstrumentView.cpp
+++ b/GUI/coregui/Views/InstrumentView.cpp
@@ -1,5 +1,5 @@
 #include "InstrumentView.h"
-#include "SessionModel.h"
+#include "InstrumentModel.h"
 #include "InstrumentSelectorWidget.h"
 #include "InstrumentEditorWidget.h"
 #include "styledbar.h"
@@ -16,7 +16,7 @@
 #include <QToolBar>
 
 
-InstrumentView::InstrumentView(SessionModel *model, QWidget *parent)
+InstrumentView::InstrumentView(InstrumentModel *model, QWidget *parent)
     : QWidget(parent)
     , m_instrumentModel(model)
     , m_toolBar(new QToolBar(this))
diff --git a/GUI/coregui/Views/InstrumentView.h b/GUI/coregui/Views/InstrumentView.h
index a46f89bd946..0fcd512a17b 100644
--- a/GUI/coregui/Views/InstrumentView.h
+++ b/GUI/coregui/Views/InstrumentView.h
@@ -5,7 +5,7 @@
 #include <QMap>
 class InstrumentSelectorWidget;
 class InstrumentEditorWidget;
-class SessionModel;
+class InstrumentModel;
 class QListView;
 class QStackedWidget;
 class QMenu;
@@ -23,7 +23,7 @@ class InstrumentView : public QWidget
     Q_OBJECT
 
 public:
-    InstrumentView(SessionModel *model, QWidget *parent = 0);
+    InstrumentView(InstrumentModel *model, QWidget *parent = 0);
 
 public slots:
     void onSelectionChanged(const QItemSelection&, const QItemSelection&);
@@ -34,7 +34,7 @@ public slots:
 private:
     void createActions();
 
-    SessionModel *m_instrumentModel;
+    InstrumentModel *m_instrumentModel;
     QToolBar *m_toolBar;
     InstrumentSelectorWidget *m_instrumentSelector;
     QStackedWidget *m_stackWidget;
diff --git a/GUI/coregui/Views/SampleView.cpp b/GUI/coregui/Views/SampleView.cpp
index 7e7adb339c3..fcb990ea445 100644
--- a/GUI/coregui/Views/SampleView.cpp
+++ b/GUI/coregui/Views/SampleView.cpp
@@ -21,7 +21,7 @@
 #endif
 
 
-SampleView::SampleView(SampleModel *sampleModel, SessionModel *instrumentModel, QWidget *parent)
+SampleView::SampleView(SampleModel *sampleModel, InstrumentModel *instrumentModel, QWidget *parent)
     : Manhattan::FancyMainWindow(parent)
 //    , m_materialBrowser(MaterialBrowser::instance())
     , m_sampleDesigner(new SampleDesigner(this))
diff --git a/GUI/coregui/Views/SampleView.h b/GUI/coregui/Views/SampleView.h
index 26c55cfafbf..30c54ede158 100644
--- a/GUI/coregui/Views/SampleView.h
+++ b/GUI/coregui/Views/SampleView.h
@@ -10,9 +10,9 @@
 #include <QSignalMapper>
 #include <QItemSelectionModel>
 
-#include "SampleModel.h"
-
 
+class SampleModel;
+class InstrumentModel;
 class SampleDesignerInterface;
 class SampleDesigner;
 class SampleToolBar;
@@ -34,7 +34,7 @@ public:
         NumberOfSubWindows
     };
 
-    SampleView(SampleModel *sampleModel, SessionModel *instrumentModel, QWidget *parent = 0);
+    SampleView(SampleModel *sampleModel, InstrumentModel *instrumentModel, QWidget *parent = 0);
     virtual ~SampleView();
 
 public slots:
@@ -70,7 +70,7 @@ private:
     QAction *m_delete_item_action;
 
     SampleModel *m_sampleModel;
-    SessionModel *m_instrumentModel;
+    InstrumentModel *m_instrumentModel;
     QTreeView *m_tree_view;
 
     QItemSelectionModel *m_selection_model;
diff --git a/GUI/coregui/mainwindow/mainwindow.cpp b/GUI/coregui/mainwindow/mainwindow.cpp
index 3f7e9ad68e2..0b47ad962a7 100644
--- a/GUI/coregui/mainwindow/mainwindow.cpp
+++ b/GUI/coregui/mainwindow/mainwindow.cpp
@@ -14,6 +14,7 @@
 #include "SimulationDataModel.h"
 #include "JobQueueModel.h"
 #include "MaterialModel.h"
+#include "InstrumentModel.h"
 #include "MaterialEditor.h"
 #include "Instrument.h"
 #include "Units.h"
@@ -40,6 +41,7 @@
 #include "ParticleCoreShellItem.h"
 #include "FancyGroupProperty.h"
 #include "ScientificDoubleProperty.h"
+#include "SampleModel.h"
 
 #include <QApplication>
 #include <QStatusBar>
@@ -263,7 +265,7 @@ void MainWindow::initJobQueueModel()
 void MainWindow::initInstrumentModel()
 {
     delete m_instrumentModel;
-    m_instrumentModel = new SessionModel(SessionXML::InstrumentModelTag);
+    m_instrumentModel = new InstrumentModel();
     m_instrumentModel->setIconProvider(new IconProvider());
 
     ParameterizedItem *instrument1 = m_instrumentModel->insertNewItem(Constants::InstrumentType);
diff --git a/GUI/coregui/mainwindow/mainwindow.h b/GUI/coregui/mainwindow/mainwindow.h
index 35ef224ee08..823c8ed6421 100644
--- a/GUI/coregui/mainwindow/mainwindow.h
+++ b/GUI/coregui/mainwindow/mainwindow.h
@@ -25,7 +25,7 @@ class ProjectManager;
 class QCloseEvent;
 class QSettings;
 class JobQueueModel;
-class SessionModel;
+class InstrumentModel;
 class MaterialEditor;
 class ToolTipDataBase;
 class TestView;
@@ -45,7 +45,7 @@ public:
 
     SimulationDataModel *getSimulationDataModel() { return mp_sim_data_model; }
     MaterialModel *getMaterialModel() { return m_materialModel; }
-    SessionModel *getInstrumentModel() { return m_instrumentModel; }
+    InstrumentModel *getInstrumentModel() { return m_instrumentModel; }
     SampleModel *getSampleModel() { return m_sampleModel; }
     JobQueueModel *getJobQueueModel() { return m_jobQueueModel; }
     Manhattan::ProgressBar *getProgressBar() { return m_progressBar; }
@@ -80,7 +80,7 @@ private:
     SimulationDataModel *mp_sim_data_model;
     JobQueueModel *m_jobQueueModel; //!< model for all jobs
     SampleModel *m_sampleModel; //!< model for all samples
-    SessionModel *m_instrumentModel; //!< model for all instruments
+    InstrumentModel *m_instrumentModel; //!< model for all instruments
     MaterialModel *m_materialModel; //!< model for all materials
     MaterialEditor *m_materialEditor;
     ToolTipDataBase *m_toolTipDataBase;
diff --git a/GUI/coregui/mainwindow/projectdocument.cpp b/GUI/coregui/mainwindow/projectdocument.cpp
index d79973a697b..f7f5de1b89a 100644
--- a/GUI/coregui/mainwindow/projectdocument.cpp
+++ b/GUI/coregui/mainwindow/projectdocument.cpp
@@ -1,6 +1,6 @@
 #include "projectdocument.h"
 #include "MaterialModel.h"
-#include "SessionModel.h"
+#include "InstrumentModel.h"
 #include "JobQueueModel.h"
 #include "JobItem.h"
 #include "OutputDataItem.h"
@@ -77,7 +77,7 @@ void ProjectDocument::setMaterialModel(MaterialModel *materialModel)
     }
 }
 
-void ProjectDocument::setInstrumentModel(SessionModel *model)
+void ProjectDocument::setInstrumentModel(InstrumentModel *model)
 {
     if(model != m_instrumentModel) {
         if(m_instrumentModel) disconnect(m_instrumentModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), this, SLOT(onDataChanged(QModelIndex, QModelIndex)) );
diff --git a/GUI/coregui/mainwindow/projectdocument.h b/GUI/coregui/mainwindow/projectdocument.h
index 31b75410830..eed6eda69b9 100644
--- a/GUI/coregui/mainwindow/projectdocument.h
+++ b/GUI/coregui/mainwindow/projectdocument.h
@@ -8,7 +8,7 @@ class JobQueueModel;
 class QIODevice;
 class QModelIndex;
 class JobItem;
-class SessionModel;
+class InstrumentModel;
 class MaterialModel;
 class SampleModel;
 
@@ -51,7 +51,7 @@ public:
 
     bool isModified() { return m_modified; }
     void setMaterialModel(MaterialModel *materialModel);
-    void setInstrumentModel(SessionModel *model);
+    void setInstrumentModel(InstrumentModel *model);
     void setSampleModel(SampleModel *model);
     void setJobQueueModel(JobQueueModel *model);
 
@@ -73,7 +73,7 @@ private:
     QString m_project_path;
     QString m_project_name;
     MaterialModel *m_materialModel;
-    SessionModel *m_instrumentModel;
+    InstrumentModel *m_instrumentModel;
     SampleModel *m_sampleModel;
     JobQueueModel *m_jobQueueModel;
     bool m_modified;
diff --git a/GUI/coregui/utils/GUIFunctionalTest.cpp b/GUI/coregui/utils/GUIFunctionalTest.cpp
index 59b863d8d9d..57b6ce0e230 100644
--- a/GUI/coregui/utils/GUIFunctionalTest.cpp
+++ b/GUI/coregui/utils/GUIFunctionalTest.cpp
@@ -1,7 +1,7 @@
 #include "GUIFunctionalTest.h"
 #include "SimulationRegistry.h"
 #include "GUIObjectBuilder.h"
-#include "SessionModel.h"
+#include "InstrumentModel.h"
 #include "SampleModel.h"
 #include "MaterialEditor.h"
 #include "MaterialModel.h"
@@ -61,7 +61,7 @@ void GUIFunctionalTest::createDomainSimulation()
     assert(m_reference_simulation->getSample());
     // initializing necessary GUI
     boost::scoped_ptr<SampleModel> sampleModel(new SampleModel());
-    boost::scoped_ptr<SessionModel> instrumentModel(new SessionModel(SessionXML::InstrumentModelTag));
+    boost::scoped_ptr<InstrumentModel> instrumentModel(new InstrumentModel());
     boost::scoped_ptr<MaterialModel> materialModel(new MaterialModel());
     boost::scoped_ptr<MaterialEditor> materialEditor(new MaterialEditor(materialModel.get()));
 
-- 
GitLab