14class QObjectPropertyOperator :
public QObject
18 QObject * currentObject READ currentObject WRITE setCurrentObject NOTIFY
26 explicit QObjectPropertyOperator (QObject * parent =
nullptr)
31 Q_SIGNAL
void currentObjectChanged ();
32 Q_SIGNAL
void undoStackChanged ();
34 QObject * currentObject ()
const {
return current_object_; }
35 void setCurrentObject (QObject *
object)
37 if (
object ==
nullptr)
39 throw std::invalid_argument (
"Object cannot be null");
41 if (current_object_ !=
object)
43 current_object_ = object;
44 Q_EMIT currentObjectChanged ();
51 if (undoStack ==
nullptr)
53 throw std::invalid_argument (
"UndoStack cannot be null");
55 if (undo_stack_ != undoStack)
57 undo_stack_ = undoStack;
58 Q_EMIT undoStackChanged ();
62 Q_INVOKABLE
void setValue (QString propertyName, QVariant value);
73 QObject * current_object_{};