BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
modelconverterfactory.cpp
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // qt-mvvm: Model-view-view-model framework for large GUI applications
4 //
5 //! @file mvvm/model/mvvm/factories/modelconverterfactory.cpp
6 //! @brief Implements class CLASS?
7 //!
8 //! @homepage http://www.bornagainproject.org
9 //! @license GNU General Public License v3 or higher (see COPYING)
10 //! @copyright Forschungszentrum Jülich GmbH 2020
11 //! @authors Gennady Pospelov et al, Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12 //
13 // ************************************************************************************************
14 
19 
20 //! Creates a JSON model converter intended for model cloning.
21 //! Saves a full deep copy of model in JSON. When restoring, reconstruct full copy.
22 //! This will lead to item ID's which are identical to original.
23 
24 std::unique_ptr<ModelView::JsonModelConverterInterface> ModelView::CreateModelCloneConverter()
25 {
26  return std::make_unique<JsonModelConverter>(ConverterMode::clone);
27 }
28 
29 //! Creates a JSON model converter intended for model copying.
30 //! Saves a full deep copy of model in JSON. When restoring, reconstruct full copy and regenerate
31 //! item's ID to make them unique.
32 
33 std::unique_ptr<ModelView::JsonModelConverterInterface> ModelView::CreateModelCopyConverter()
34 {
35  return std::make_unique<JsonModelConverter>(ConverterMode::copy);
36 }
37 
38 //! Creates a JSON model converter intended for save/load of the project on disk.
39 //! When saving to disk, only certain data is saved. When loading from disk, items
40 //! in memory is gently updated from JSON content.
41 
42 std::unique_ptr<ModelView::JsonModelConverterInterface> ModelView::CreateModelProjectConverter()
43 {
44  return std::make_unique<JsonModelConverter>(ConverterMode::project);
45 }
Defines class CLASS?
Defines class CLASS?
Defines class CLASS?
Defines class CLASS?
MVVM_MODEL_EXPORT std::unique_ptr< JsonModelConverterInterface > CreateModelCopyConverter()
Creates a JSON model converter intended for model copying.
MVVM_MODEL_EXPORT std::unique_ptr< JsonModelConverterInterface > CreateModelProjectConverter()
Creates a JSON model converter intended for save/load of the project on disk.
MVVM_MODEL_EXPORT std::unique_ptr< JsonModelConverterInterface > CreateModelCloneConverter()
Creates a JSON model converter intended for model cloning.