66 lines
1.3 KiB
C++
66 lines
1.3 KiB
C++
#ifndef WINDOW_H
|
|
#define WINDOW_H
|
|
|
|
#include <limits>
|
|
|
|
#include <QObject>
|
|
#include <QWidget>
|
|
#include <QVBoxLayout>
|
|
#include <QHBoxLayout>
|
|
#include <QGroupBox>
|
|
#include <QDoubleSpinBox>
|
|
#include <QLabel>
|
|
#include <QSlider>
|
|
#include <QCheckBox>
|
|
|
|
#include "glwidget.h"
|
|
#include "config.h"
|
|
|
|
|
|
class Window : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit Window(QWidget *parent = nullptr);
|
|
virtual ~Window();
|
|
|
|
private:
|
|
QGroupBox *m_cameraGroup;
|
|
QGroupBox *m_terrainGroup;
|
|
QGroupBox *m_skyGroup;
|
|
|
|
GLWidget *m_glWidget;
|
|
|
|
QDoubleSpinBox *m_cameraPosX;
|
|
QDoubleSpinBox *m_cameraPosY;
|
|
QDoubleSpinBox *m_cameraPosZ;
|
|
|
|
QDoubleSpinBox *m_cameraRotX;
|
|
QDoubleSpinBox *m_cameraRotY;
|
|
|
|
QCheckBox *m_terrainShowNormals;
|
|
|
|
QLabel *m_skyTimeHint;
|
|
QSlider *m_skyTimeSlider;
|
|
QSlider *m_skyInclinationSlider;
|
|
QCheckBox *m_skyAnimation;
|
|
|
|
void createCameraInputs();
|
|
void createTerrainInputs();
|
|
void createSkyInputs();
|
|
QDoubleSpinBox *createDoubleSpinBox();
|
|
QWidget *labelizeInput(QWidget* input, QString label);
|
|
void fillDefault();
|
|
void connectInputs();
|
|
|
|
signals:
|
|
|
|
public slots:
|
|
void updateTimeHint(int time);
|
|
void updateCameraPosition(QVector3D newPosition);
|
|
void skyAnimationStateChanged(int state);
|
|
void terrainShowNormalsStateChanged(int state);
|
|
};
|
|
|
|
#endif // WINDOW_H
|