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