summaryrefslogtreecommitdiffstats
path: root/sigmodr/tree/TreeItem.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-05-02 16:58:30 -0400
committerBen Boeckel <MathStuf@gmail.com>2009-05-02 16:58:30 -0400
commit6624cd2a256fb446f7851570b9c300173407de22 (patch)
treeeaf775d18ac9359c59c103155245d338dadfc866 /sigmodr/tree/TreeItem.cpp
parentbd41fbd5911596fa0366086afb30441c82756c5a (diff)
downloadsigen-6624cd2a256fb446f7851570b9c300173407de22.tar.gz
sigen-6624cd2a256fb446f7851570b9c300173407de22.tar.xz
sigen-6624cd2a256fb446f7851570b9c300173407de22.zip
Connect up to set the dirty flag with the widget
Diffstat (limited to 'sigmodr/tree/TreeItem.cpp')
-rw-r--r--sigmodr/tree/TreeItem.cpp12
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;
+ }
+}