1
Fork 0
mirror of https://github.com/redstrate/Novus.git synced 2025-04-22 12:07:45 +00:00
novus/armoury/include/singlegearview.h

63 lines
1.4 KiB
C
Raw Normal View History

// SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com>
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include "filecache.h"
#include "gearview.h"
2023-07-07 16:16:21 -04:00
#include <QPushButton>
#include <QWidget>
struct GameData;
2023-10-12 23:44:48 -04:00
class SingleGearView : public QWidget
{
Q_OBJECT
public:
2023-10-12 23:44:48 -04:00
explicit SingleGearView(GameData *data, FileCache &cache, QWidget *parent = nullptr);
QString getLoadedGearPath() const;
Q_SIGNALS:
void gearChanged();
void gotMDLPath();
void raceChanged();
2023-07-07 16:02:28 -04:00
void subraceChanged();
void genderChanged();
void levelOfDetailChanged();
2023-10-12 23:44:48 -04:00
void addToFullModelViewer(GearInfo &info);
public Q_SLOTS:
void clear();
2023-10-12 23:44:48 -04:00
void setGear(const GearInfo &info);
void setRace(Race race);
2023-07-07 16:02:28 -04:00
void setSubrace(Subrace subrace);
void setGender(Gender gender);
void setLevelOfDetail(int lod);
void setFMVAvailable(bool available);
private Q_SLOTS:
void reloadGear();
private:
std::optional<GearInfo> currentGear;
Race currentRace = Race::Hyur;
2023-07-07 16:02:28 -04:00
Subrace currentSubrace = Subrace::Midlander;
2023-09-23 14:09:25 -04:00
Gender currentGender = Gender::Male;
int currentLod = 0;
2023-10-12 23:44:48 -04:00
GearView *gearView = nullptr;
2023-07-07 16:02:28 -04:00
QComboBox *raceCombo, *subraceCombo, *genderCombo, *lodCombo;
QPushButton *addToFMVButton, *importButton, *exportButton;
bool loadingComboData = false;
bool fmvAvailable = false;
2023-10-12 23:44:48 -04:00
GameData *data = nullptr;
};