41 lines
825 B
C++
41 lines
825 B
C++
#pragma once
|
|
#include <QObject>
|
|
#include <QStackedWidget>
|
|
#include <QCoreApplication>
|
|
#include <QVBoxLayout>
|
|
#include <QHBoxLayout>
|
|
|
|
#include "View3D.h"
|
|
|
|
class View3DPlantPhenotype;
|
|
class View3DLinearStage;
|
|
|
|
class View3DModelManager : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
enum class ScenarioType {
|
|
PlantPhenotype,
|
|
OneMotor
|
|
};
|
|
|
|
explicit View3DModelManager(QWidget* parent = nullptr);
|
|
|
|
void switchScenario(ScenarioType type);
|
|
|
|
View3DPlantPhenotype* m_viewPlant = nullptr;
|
|
View3DLinearStage* m_viewMotor = nullptr;
|
|
|
|
signals:
|
|
void scenarioChanged(ScenarioType type);
|
|
void created3DModelPlantPhenotype();
|
|
void created3DModelOneMotor();
|
|
|
|
private:
|
|
void ensurePlantPhenotypeView();
|
|
void ensureOneMotorView();
|
|
|
|
private:
|
|
QStackedWidget* m_stackedWidget = nullptr;
|
|
};
|