BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
SessionXML.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/Models/SessionXML.h
6 //! @brief Defines reader and writer classes for SessionModel
7 //!
8 //! @homepage http://www.bornagainproject.org
9 //! @license GNU General Public License v3 or higher (see COPYING)
10 //! @copyright Forschungszentrum Jülich GmbH 2018
11 //! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12 //
13 // ************************************************************************************************
14 
15 #ifndef BORNAGAIN_GUI_COREGUI_MODELS_SESSIONXML_H
16 #define BORNAGAIN_GUI_COREGUI_MODELS_SESSIONXML_H
17 
18 #include <QVariant>
19 
20 class QXmlStreamWriter;
21 class QXmlStreamReader;
22 class SessionItem;
23 class MessageService;
24 
25 namespace SessionXML {
26 const QString ItemMimeType = "application/org.bornagainproject.xml.item.z";
27 const QString LinkMimeType = "application/org.bornagainproject.fittinglink";
28 
29 const QString InstrumentModelTag("InstrumentModel");
30 const QString SampleModelTag("SampleModel");
31 const QString MaterialModelTag("MaterialModel");
32 const QString JobModelTag("JobModel");
33 const QString DocumentModelTag("DocumentModel");
34 const QString RealDataModelTag("RealDataModel");
35 
36 const QString TagAttribute("Tag");
37 
38 const QString ModelNameAttribute("Name");
39 const QString ItemTag("Item");
40 const QString ModelTypeAttribute("ModelType");
41 const QString DisplayNameAttribute("DisplayName");
42 const QString ParameterTag("Parameter");
43 const QString BinaryData("BinaryData");
44 const QString Version("Version");
45 const QString ParameterNameAttribute("ParName");
46 const QString ParameterTypeAttribute("ParType");
47 const QString ParameterValueAttribute("ParValue");
48 const QString ParameterRoleAttribute("ParRole");
49 const QString ParameterExtAttribute("ParExt");
50 
51 const QString ExternalPropertyTextAtt("Text");
52 const QString ExternalPropertyColorAtt("Color");
53 const QString ExternalPropertyIdentifierAtt("Identifier");
54 
55 void writeTo(QXmlStreamWriter* writer, SessionItem* parent);
56 void writeItemAndChildItems(QXmlStreamWriter* writer, const SessionItem* item);
57 void writeVariant(QXmlStreamWriter* writer, QVariant variant, int role);
58 
59 void readItems(QXmlStreamReader* reader, SessionItem* parent, QString topTag = "",
60  MessageService* messageService = nullptr);
61 QString readProperty(QXmlStreamReader* reader, SessionItem* item,
62  MessageService* messageService = nullptr);
63 } // namespace SessionXML
64 
65 #endif // BORNAGAIN_GUI_COREGUI_MODELS_SESSIONXML_H
The service to collect messages from different senders.
const QString Version("Version")
const QString ParameterValueAttribute("ParValue")
const QString ParameterNameAttribute("ParName")
const QString JobModelTag("JobModel")
const QString BinaryData("BinaryData")
const QString TagAttribute("Tag")
const QString ParameterExtAttribute("ParExt")
void writeVariant(QXmlStreamWriter *writer, QVariant variant, int role)
Definition: SessionXML.cpp:79
const QString ParameterTag("Parameter")
const QString ModelTypeAttribute("ModelType")
const QString MaterialModelTag("MaterialModel")
const QString ExternalPropertyColorAtt("Color")
QString readProperty(QXmlStreamReader *reader, SessionItem *item, MessageService *messageService=nullptr)
Definition: SessionXML.cpp:176
const QString ParameterRoleAttribute("ParRole")
const QString DisplayNameAttribute("DisplayName")
void writeItemAndChildItems(QXmlStreamWriter *writer, const SessionItem *item)
Definition: SessionXML.cpp:49
const QString RealDataModelTag("RealDataModel")
void readItems(QXmlStreamReader *reader, SessionItem *parent, QString topTag="", MessageService *messageService=nullptr)
Definition: SessionXML.cpp:122
const QString SampleModelTag("SampleModel")
void writeTo(QXmlStreamWriter *writer, SessionItem *parent)
Definition: SessionXML.cpp:39
const QString ModelNameAttribute("Name")
const QString DocumentModelTag("DocumentModel")
const QString InstrumentModelTag("InstrumentModel")
const QString ItemTag("Item")
const QString ItemMimeType
Definition: SessionXML.h:26
const QString ParameterTypeAttribute("ParType")
const QString ExternalPropertyIdentifierAtt("Identifier")
const QString ExternalPropertyTextAtt("Text")
const QString LinkMimeType
Definition: SessionXML.h:27