From 75b63fcc3f6416590a625a5ae5fba9b8c1549a63 Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Sun, 4 Feb 2024 14:11:11 -0500 Subject: [PATCH] armoury: Add empty tabs for future material and metadata usage --- armoury/CMakeLists.txt | 4 ++++ armoury/include/mainwindow.h | 4 ++++ armoury/include/materialview.h | 22 ++++++++++++++++++++++ armoury/include/metadataview.h | 22 ++++++++++++++++++++++ armoury/src/mainwindow.cpp | 6 ++++++ armoury/src/materialview.cpp | 16 ++++++++++++++++ armoury/src/metadataview.cpp | 16 ++++++++++++++++ 7 files changed, 90 insertions(+) create mode 100644 armoury/include/materialview.h create mode 100644 armoury/include/metadataview.h create mode 100644 armoury/src/materialview.cpp create mode 100644 armoury/src/metadataview.cpp diff --git a/armoury/CMakeLists.txt b/armoury/CMakeLists.txt index 3ae9fcd..a6201f6 100644 --- a/armoury/CMakeLists.txt +++ b/armoury/CMakeLists.txt @@ -11,6 +11,8 @@ target_sources(novus-armoury include/gearlistwidget.h include/gearview.h include/mainwindow.h + include/materialview.h + include/metadataview.h include/penumbraapi.h include/settingswindow.h include/singlegearview.h @@ -23,6 +25,8 @@ target_sources(novus-armoury src/gearview.cpp src/main.cpp src/mainwindow.cpp + src/materialview.cpp + src/metadataview.cpp src/penumbraapi.cpp src/settingswindow.cpp src/singlegearview.cpp) diff --git a/armoury/include/mainwindow.h b/armoury/include/mainwindow.h index 1b8d7c1..f9ce4b3 100644 --- a/armoury/include/mainwindow.h +++ b/armoury/include/mainwindow.h @@ -9,6 +9,8 @@ #include "fullmodelviewer.h" #include "gearview.h" +#include "materialview.h" +#include "metadataview.h" #include "novusmainwindow.h" #include "singlegearview.h" @@ -29,6 +31,8 @@ protected: private: SingleGearView *gearView = nullptr; FullModelViewer *fullModelViewer = nullptr; + MaterialView *materialView = nullptr; + MetadataView *metadataView = nullptr; GameData &data; FileCache cache; diff --git a/armoury/include/materialview.h b/armoury/include/materialview.h new file mode 100644 index 0000000..70b750e --- /dev/null +++ b/armoury/include/materialview.h @@ -0,0 +1,22 @@ +// SPDX-FileCopyrightText: 2024 Joshua Goins +// SPDX-License-Identifier: GPL-3.0-or-later + +#pragma once + +#include "filecache.h" +#include "gearview.h" + +#include + +struct GameData; + +class MaterialView : public QWidget +{ + Q_OBJECT + +public: + explicit MaterialView(GameData *data, QWidget *parent = nullptr); + +private: + GameData *data = nullptr; +}; \ No newline at end of file diff --git a/armoury/include/metadataview.h b/armoury/include/metadataview.h new file mode 100644 index 0000000..29ada38 --- /dev/null +++ b/armoury/include/metadataview.h @@ -0,0 +1,22 @@ +// SPDX-FileCopyrightText: 2024 Joshua Goins +// SPDX-License-Identifier: GPL-3.0-or-later + +#pragma once + +#include "filecache.h" +#include "gearview.h" + +#include + +struct GameData; + +class MetadataView : public QWidget +{ + Q_OBJECT + +public: + explicit MetadataView(GameData *data, QWidget *parent = nullptr); + +private: + GameData *data = nullptr; +}; \ No newline at end of file diff --git a/armoury/src/mainwindow.cpp b/armoury/src/mainwindow.cpp index 72775d1..ecf803d 100644 --- a/armoury/src/mainwindow.cpp +++ b/armoury/src/mainwindow.cpp @@ -47,8 +47,14 @@ MainWindow::MainWindow(GameData *in_data) }); connect(gearView, &SingleGearView::importedModel, m_api, &PenumbraApi::redrawAll); + materialView = new MaterialView(&data); + + metadataView = new MetadataView(&data); + auto tabWidget = new QTabWidget(); tabWidget->addTab(gearView, QStringLiteral("Models")); + tabWidget->addTab(materialView, QStringLiteral("Materials")); + tabWidget->addTab(metadataView, QStringLiteral("Metadata")); tabWidget->setDocumentMode(true); // Don't draw the borders tabWidget->tabBar()->setExpanding(true); dummyWidget->addWidget(tabWidget); diff --git a/armoury/src/materialview.cpp b/armoury/src/materialview.cpp new file mode 100644 index 0000000..c92db22 --- /dev/null +++ b/armoury/src/materialview.cpp @@ -0,0 +1,16 @@ +// SPDX-FileCopyrightText: 2024 Joshua Goins +// SPDX-License-Identifier: GPL-3.0-or-later + +#include "materialview.h" + +#include + +MaterialView::MaterialView(GameData *data, QWidget *parent) + : QWidget(parent) + , data(data) +{ + auto layout = new QVBoxLayout(); + setLayout(layout); +} + +#include "moc_materialview.cpp" \ No newline at end of file diff --git a/armoury/src/metadataview.cpp b/armoury/src/metadataview.cpp new file mode 100644 index 0000000..0cbde1b --- /dev/null +++ b/armoury/src/metadataview.cpp @@ -0,0 +1,16 @@ +// SPDX-FileCopyrightText: 2024 Joshua Goins +// SPDX-License-Identifier: GPL-3.0-or-later + +#include "metadataview.h" + +#include + +MetadataView::MetadataView(GameData *data, QWidget *parent) + : QWidget(parent) + , data(data) +{ + auto layout = new QVBoxLayout(); + setLayout(layout); +} + +#include "moc_metadataview.cpp" \ No newline at end of file