--- a/src/ui/objecteditor.h Sun Mar 13 14:53:14 2022 +0200 +++ b/src/ui/objecteditor.h Sun Mar 13 18:46:10 2022 +0200 @@ -12,13 +12,15 @@ public: explicit ObjectEditor(Document* document, ldraw::id_t id = ldraw::NULL_ID); void setObjectId(ldraw::id_t id); - void clear(); private: + Q_SLOT void handleColorChange(ldraw::Color value); + Q_SLOT void handleVec3Change(const glm::vec3& value); Document* const document; ldraw::id_t objectId = ldraw::NULL_ID; - std::optional<PolygonObjectEditor> polygonEditor; QWidget* formContainer; class QLabel* objectTypeNameLabel; class QLabel* objectTypeIconLabel; QMap<ldraw::Property, QPair<QWidget*, QWidget*>> propertyWidgets; + QWidget* makeEditorWidgetForProperty(ldraw::Property property); + void handlePropertyChange(QObject* caller, const QVariant& value); };