From a0c2dce3b9499922df084cbb1c4d1f26c5a1b780 Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Mon, 21 Jun 2021 15:42:53 +0200
Subject: [PATCH] BACKEND: Add the vivy document's class with its view class

---
 src/AudioVisualizer.h  |  4 ++++
 src/DialogHelp.h       |  4 ++++
 src/MainWindow.cc      |  1 +
 src/MainWindow.h       |  4 ++++
 src/TimingBar.h        |  4 ++++
 src/TimingView.hpp     |  4 ++++
 src/VivyDocument.h     | 18 ++++++++++++++++++
 src/VivyDocumentView.h | 21 +++++++++++++++++++++
 8 files changed, 60 insertions(+)
 create mode 100644 src/VivyDocument.h
 create mode 100644 src/VivyDocumentView.h

diff --git a/src/AudioVisualizer.h b/src/AudioVisualizer.h
index a6f8b598..8a6f8b84 100644
--- a/src/AudioVisualizer.h
+++ b/src/AudioVisualizer.h
@@ -1,6 +1,10 @@
 #ifndef VIVY_AUDIOVISUALIZER_H
 #define VIVY_AUDIOVISUALIZER_H
 
+#ifndef __cplusplus
+#error "This is a C++ header"
+#endif
+
 #include "TimingView.hpp"
 #include <QWidget>
 
diff --git a/src/DialogHelp.h b/src/DialogHelp.h
index 3d99c37b..f19d6e5c 100644
--- a/src/DialogHelp.h
+++ b/src/DialogHelp.h
@@ -1,6 +1,10 @@
 #ifndef VIVY_DIALOGHELP_H
 #define VIVY_DIALOGHELP_H
 
+#ifndef __cplusplus
+#error "This is a C++ header"
+#endif
+
 #include <QMessageBox>
 #include <QWidget>
 
diff --git a/src/MainWindow.cc b/src/MainWindow.cc
index f220d0a5..7ad9d4b5 100644
--- a/src/MainWindow.cc
+++ b/src/MainWindow.cc
@@ -3,6 +3,7 @@
 #include "MainWindow.h"
 #include "AudioUtils.h"
 #include "DialogHelp.h"
+#include "VivyDocumentView.h"
 
 #include <iostream>
 #include <cstring>
diff --git a/src/MainWindow.h b/src/MainWindow.h
index af4eb68b..42df6aa6 100644
--- a/src/MainWindow.h
+++ b/src/MainWindow.h
@@ -1,6 +1,10 @@
 #ifndef VIVY_MAINWINDOW_H
 #define VIVY_MAINWINDOW_H
 
+#ifndef __cplusplus
+#error "This is a C++ header"
+#endif
+
 #include "AudioVisualizer.h"
 #include <QMainWindow>
 
diff --git a/src/TimingBar.h b/src/TimingBar.h
index 709ab537..ae9686aa 100644
--- a/src/TimingBar.h
+++ b/src/TimingBar.h
@@ -1,6 +1,10 @@
 #ifndef VIVY_TIMING_BAR_H
 #define VIVY_TIMING_BAR_H
 
+#ifndef __cplusplus
+#error "This is a C++ header"
+#endif
+
 #include <QWidget>
 #include <QGraphicsItem>
 #include <QGraphicsLineItem>
diff --git a/src/TimingView.hpp b/src/TimingView.hpp
index 7c797164..81eb053b 100644
--- a/src/TimingView.hpp
+++ b/src/TimingView.hpp
@@ -1,6 +1,10 @@
 #ifndef VIVY_TIMING_VIEW_H
 #define VIVY_TIMING_VIEW_H
 
+#ifndef __cplusplus
+#error "This is a C++ header"
+#endif
+
 #include "TimingBar.h"
 #include "TimingScene.hpp"
 
diff --git a/src/VivyDocument.h b/src/VivyDocument.h
new file mode 100644
index 00000000..262fab8e
--- /dev/null
+++ b/src/VivyDocument.h
@@ -0,0 +1,18 @@
+#ifndef VIVY_DOCUMENT_H
+#define VIVY_DOCUMENT_H
+
+#ifndef __cplusplus
+#error "This is a C++ header"
+#endif
+
+class VivyDocument {
+    /* The document name */
+    const char *name;
+
+    /* Links to other files, they're not embeded inside the vivy file */
+    const char *audioFile;
+    const char *videoFile;
+    const char *assFile;
+};
+
+#endif // VIVY_DOCUMENT_H
diff --git a/src/VivyDocumentView.h b/src/VivyDocumentView.h
new file mode 100644
index 00000000..c683b71b
--- /dev/null
+++ b/src/VivyDocumentView.h
@@ -0,0 +1,21 @@
+#ifndef VIVY_DOCUMENTVIEW_H
+#define VIVY_DOCUMENTVIEW_H
+
+#ifndef __cplusplus
+#error "This is a C++ header"
+#endif
+
+#include "VivyDocument.h"
+#include "AudioVisualizer.h"
+
+#include <QWidget>
+
+class VivyDocumentView final : public QWidget {
+    Q_OBJECT
+
+private:
+    VivyDocument *document;
+    AudioVisualizer *visualizer;
+};
+
+#endif // VIVY_DOCUMENTVIEW_H
-- 
GitLab