BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
AppSvc.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/mainwindow/AppSvc.h
6 //! @brief Defines class AppSvc
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_MAINWINDOW_APPSVC_H
16 #define BORNAGAIN_GUI_COREGUI_MAINWINDOW_APPSVC_H
17 
19 
20 class ProjectManager;
21 class MaterialModel;
22 
23 //! The AppSvc class provides common access for key components of the GUI.
24 
25 class AppSvc : public ISingleton<AppSvc> {
26  friend class ISingleton<AppSvc>;
27 
28 public:
32 
33  static MaterialModel* materialModel();
36 
37 private:
38  AppSvc();
45 
48 };
49 
50 #endif // BORNAGAIN_GUI_COREGUI_MAINWINDOW_APPSVC_H
Defines the standard mix-in ISingleton.
The AppSvc class provides common access for key components of the GUI.
Definition: AppSvc.h:25
static void unsubscribe(ProjectManager *projectManager)
Definition: AppSvc.cpp:28
void this_unsubscribe(ProjectManager *projectManager)
Definition: AppSvc.cpp:73
void this_subscribe(ProjectManager *projectManager)
Definition: AppSvc.cpp:64
AppSvc()
Definition: AppSvc.cpp:48
static ProjectManager * projectManager()
Definition: AppSvc.cpp:18
MaterialModel * this_materialModel()
Definition: AppSvc.cpp:59
MaterialModel * m_materialModel
Definition: AppSvc.h:47
static MaterialModel * materialModel()
Definition: AppSvc.cpp:33
ProjectManager * m_projectManager
Definition: AppSvc.h:46
ProjectManager * this_projectManager()
Definition: AppSvc.cpp:50
static void subscribe(ProjectManager *projectManager)
Definition: AppSvc.cpp:23
Base class for singletons.
Definition: ISingleton.h:21
Handles activity related to opening/save projects.