#pragma once #include #include #include 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 sections; Context& context; };