#pragma once
#include <QWidget>
#include <QVBoxLayout>
#include <QPushButton>
struct Context;
struct InfoComponent;
struct TransformComponent;
struct MeshComponent;
struct LightComponent;
class Properties : public QWidget {
Q_OBJECT
public:
Properties(Context& context, QWidget* parent = nullptr);
private:
void rebuild();
void addInfoSection(InfoComponent* info);
void addTransformSection(TransformComponent* transform);
void addMeshSection(MeshComponent* mesh);
void addLightSection(LightComponent* light);
QVBoxLayout* layout = nullptr;
QPushButton* addComponentButton;
QList<QWidget*> sections;
Context& context;
};