src/ui/objecteditor.h

Sun, 13 Mar 2022 20:11:06 +0200

author
Teemu Piippo <teemu@hecknology.net>
date
Sun, 13 Mar 2022 20:11:06 +0200
changeset 181
79de20dc6a1e
parent 180
5b7a8f2270ff
child 182
27fb1c3c9fbb
permissions
-rw-r--r--

fix build

#pragma once
#include <QWidget>
#include "../main.h"
#include "../model.h"

class Document;

class ObjectEditor : public QWidget
{
	Q_OBJECT
public:
	explicit ObjectEditor(Document* document, ldraw::id_t id = ldraw::NULL_ID);
	void setObjectId(ldraw::id_t id);
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;
	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);
};

mercurial