OpenLexocad  27.0
Application.h
Go to the documentation of this file.
1 #pragma once
2 
3 
4 
8 #include <Base/String.h>
11 
12 #include <memory>
13 
14 class QApplication;
15 
16 namespace App
17 {
18 class Application;
19 }
20 
21 namespace OpenLxApp
22 {
23 class Document;
24 class ApplicationP;
25 
27 {
29  {
30  ElementExtension = true;
31  ElementExtensionGui = true;
32  VPFreeExport = false;
33  CdwkVariant = false;
34  CdwkVariantGui = false;
35  }
36 
42 };
43 
51 {
52 public:
53  Application();
54  ~Application(void);
55 
56  static Application* getInstance(void);
57  static void release();
59  std::shared_ptr<Document> newDocument(const Base::String& name = L"");
61  std::shared_ptr<Document> newVariantTransferDocument(const Base::String& name = L"");
63  void closeDocument(std::shared_ptr<Document> doc, bool forceClose = false);
65  std::shared_ptr<Document> getActiveDocument(bool createIfNeeded = false);
67  ActiveScript getActiveScript() const;
69  void closeApplication();
71  void setAlternativeLookupPath(const Base::String& path);
73  static void initQt(int argc, char* argv[]);
75  static void initQt();
77  static void setPluginsToLoad(const LoadPlugins& lp);
79  static LoadPlugins s_lp;
80 
81 private:
82  static Application* _instance;
83  ApplicationP* _pimpl;
84  static QApplication* s_qapp;
85 };
86 } // namespace OpenLxApp
bool ElementExtension
Definition: Application.h:37
LoadPlugins()
Definition: Application.h:28
bool ElementExtensionGui
Definition: Application.h:38
bool CdwkVariant
Definition: Application.h:40
Core::PropertyText name
Definition: CoreDocument.h:143
bool CdwkVariantGui
Definition: Application.h:41
A Utf-16 (windows) or ucs4 (unix) encoded string class.
Definition: String.h:29
#define OPENLXAPP_EXPORT
Definition: OpenLxApp_defines.h:12
Definition: ActiveScript.h:9
bool VPFreeExport
Definition: Application.h:39
Definition: Application.h:26
The one and only Application.
Definition: Application.h:50
The 'ActiveScript' is the script that is currently been executed ( the script's 'main' function is ca...
Definition: ActiveScript.h:20
static LoadPlugins s_lp
Definition: Application.h:79