From b6fdff36e84ab1857318f909793abe1a4f1de07c Mon Sep 17 00:00:00 2001
From: Hauke Moenck <hauke_moenck@gmx.de>
Date: Fri, 26 Oct 2018 17:24:10 +0200
Subject: [PATCH] Fixes to static metaobject etc

---
 .vscode/settings.json                              |  4 ++++
 Src/CMakeLists.txt                                 |  1 +
 Src/Interfaces/ENUMS.cpp                           |  1 +
 Src/Interfaces/ENUMS.h                             | 14 ++++++--------
 Src/Interfaces/IBioTrackerPlugin.h                 |  1 +
 .../IModel/IModelTrackedComponentFactory.h         |  4 ++--
 6 files changed, 15 insertions(+), 10 deletions(-)
 create mode 100644 .vscode/settings.json
 create mode 100644 Src/Interfaces/ENUMS.cpp

diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..4b88344
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,4 @@
+{
+    "C_Cpp.default.configurationProvider": "vector-of-bool.cmake-tools",
+    "C_Cpp.configurationWarnings": "Disabled"
+}
\ No newline at end of file
diff --git a/Src/CMakeLists.txt b/Src/CMakeLists.txt
index df3aecf..40dfe2a 100644
--- a/Src/CMakeLists.txt
+++ b/Src/CMakeLists.txt
@@ -25,6 +25,7 @@ target_compile_definitions(${TN} PRIVATE BT_INTERFACES_EXPORT)
 
 target_sources(${TN}
 PRIVATE
+    "${CMAKE_CURRENT_LIST_DIR}/Interfaces/ENUMS.cpp"
     "${CMAKE_CURRENT_LIST_DIR}/Interfaces/IBioTrackerContext.cpp"
     "${CMAKE_CURRENT_LIST_DIR}/Interfaces/IBioTrackerPlugin.cpp"
     "${CMAKE_CURRENT_LIST_DIR}/Interfaces/IController/IController.cpp"
diff --git a/Src/Interfaces/ENUMS.cpp b/Src/Interfaces/ENUMS.cpp
new file mode 100644
index 0000000..4f33330
--- /dev/null
+++ b/Src/Interfaces/ENUMS.cpp
@@ -0,0 +1 @@
+#include "ENUMS.h"
\ No newline at end of file
diff --git a/Src/Interfaces/ENUMS.h b/Src/Interfaces/ENUMS.h
index 26acd1a..bafbf8f 100644
--- a/Src/Interfaces/ENUMS.h
+++ b/Src/Interfaces/ENUMS.h
@@ -2,14 +2,15 @@
 #define ENUMS_H
 
 #include <QObject>
+#include <Interfaces/API.h>
 
-class ENUMS : public QObject
+class BT_INTERFACES_API ENUMS : public QObject
 {
     Q_OBJECT
 public:
 
 
-    enum CONTROLLERTYPE {
+    enum CONTROLLERTYPE : unsigned int{
 		NO_CTR, 
 		MAINWINDOW, 
 		TEXTUREOBJECT,
@@ -26,9 +27,9 @@ public:
 		COMMANDS,
 		NOTIFICATION
 	};
-
     Q_ENUM(CONTROLLERTYPE)
-	enum COREPERMISSIONS { 
+
+	enum COREPERMISSIONS : unsigned int{ 
 		COMPONENTVIEW, 
 		COMPONENTMOVE,
 		COMPONENTREMOVE, 
@@ -36,10 +37,7 @@ public:
 		COMPONENTADD,
 		COMPONENTROTATE
 	};
-	Q_ENUM(COREPERMISSIONS)
-
-    explicit ENUMS(QObject *parent = 0);
-	
+	Q_ENUM(COREPERMISSIONS)	
 };
 
 #endif // ENUMS_H
diff --git a/Src/Interfaces/IBioTrackerPlugin.h b/Src/Interfaces/IBioTrackerPlugin.h
index 10ad35a..43d0288 100644
--- a/Src/Interfaces/IBioTrackerPlugin.h
+++ b/Src/Interfaces/IBioTrackerPlugin.h
@@ -11,6 +11,7 @@
 #include "memory"
 #include <Interfaces/API.h>
 
+
 class BT_INTERFACES_API IBioTrackerPlugin : public QObject
 {
     Q_OBJECT
diff --git a/Src/Interfaces/IModel/IModelTrackedComponentFactory.h b/Src/Interfaces/IModel/IModelTrackedComponentFactory.h
index eab7362..0df758c 100644
--- a/Src/Interfaces/IModel/IModelTrackedComponentFactory.h
+++ b/Src/Interfaces/IModel/IModelTrackedComponentFactory.h
@@ -1,8 +1,8 @@
 #ifndef ITRACKEDCOMPONENTFACTORY_H
 #define ITRACKEDCOMPONENTFACTORY_H
 
-#include "Interfaces/IModel/IModel.h"
-#include "Interfaces/IModel/IModelTrackedComponent.h"
+#include "IModel.h"
+#include "IModelTrackedComponent.h"
 
 class BT_INTERFACES_API IModelTrackedComponentFactory : public IModel
 {
-- 
GitLab