diff options
Diffstat (limited to 'sigmodr/tree/TreeItem.cpp')
-rw-r--r-- | sigmodr/tree/TreeItem.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sigmodr/tree/TreeItem.cpp b/sigmodr/tree/TreeItem.cpp index c32c1cb2..9d080816 100644 --- a/sigmodr/tree/TreeItem.cpp +++ b/sigmodr/tree/TreeItem.cpp @@ -91,6 +91,7 @@ using namespace Sigmodr::Widgets; using namespace Sigmodr::Tree; TreeItem::TreeItem(const TreeItemType type, Object* object, TreeItem* parent) : + QObject(parent), m_type(type), m_dirty(false), m_object(object), @@ -667,6 +668,8 @@ QWidget* TreeItem::editWidget(QWidget* parent) } if (editorWidget) { + connect(editorWidget, SIGNAL(changed(bool)), this, SLOT(setDirty(bool))); + return editorWidget; } return NULL; } @@ -919,3 +922,12 @@ bool TreeItem::dropData(const QDomElement& element) { // TODO } + +void TreeItem::setDirty(const bool dirty) +{ + if (m_dirty != dirty) + { + emit(update()); + m_dirty = dirty; + } +} |