summaryrefslogtreecommitdiffstats
path: root/sigmodr/SigmodTree.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-09-10 00:43:08 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-09-10 00:43:08 +0000
commit08040a630b6aed8b88246f3ba3ee85d5f7bd3afb (patch)
tree2770012f6ce3c5a8b76d90d28be823603744e6c8 /sigmodr/SigmodTree.cpp
parentddb180ad4d8aa6e08ae725c83af9a52f57dd851f (diff)
downloadsigen-08040a630b6aed8b88246f3ba3ee85d5f7bd3afb.tar.gz
sigen-08040a630b6aed8b88246f3ba3ee85d5f7bd3afb.tar.xz
sigen-08040a630b6aed8b88246f3ba3ee85d5f7bd3afb.zip
[FIX] Players now have money
[FIX] Some more things added to Arena stuff [FIX] Can now delete objects in the tree in Sigmodr [FIX] Setting Sigmods as dirty is better now git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@258 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'sigmodr/SigmodTree.cpp')
-rw-r--r--sigmodr/SigmodTree.cpp27
1 files changed, 20 insertions, 7 deletions
diff --git a/sigmodr/SigmodTree.cpp b/sigmodr/SigmodTree.cpp
index b0d32ca8..aa323af1 100644
--- a/sigmodr/SigmodTree.cpp
+++ b/sigmodr/SigmodTree.cpp
@@ -35,25 +35,31 @@
Sigmodr::SigmodTree::SigmodTree(QWidget* parent) :
QTreeView(parent)
{
+ SigmodTreeModel* model = new SigmodTreeModel(this);
+ connect(model, SIGNAL(dirty(const Sigmod::Sigmod*, bool)), this, SLOT(setDirty(const Sigmod::Sigmod*, bool)));
header()->hide();
- setModel(new Sigmodr::SigmodTreeModel(this));
- setRootIndex(model()->index(-1, 0, QModelIndex()));
+ setModel(model);
+ setRootIndex(model->index(-1, 0, QModelIndex()));
}
QString Sigmodr::SigmodTree::description(const QModelIndex& index)
{
- return QString("%1: %2").arg(model()->data(index, Sigmodr::BaseModel::TypeRole).toString(), model()->data(index, Qt::DisplayRole).toString());
+ QString type = model()->data(index, BaseModel::TypeRole).toString();
+ QString name = model()->data(index, Qt::DisplayRole).toString();
+ if (type.isEmpty() && name.isEmpty())
+ return "";
+ return QString("%1: %2").arg(type).arg(name);
}
Sigmodr::ObjectUI* Sigmodr::SigmodTree::editorWidget(const QModelIndex& index)
{
- Sigmodr::ObjectUI* widget = qobject_cast<Sigmodr::ObjectUI*>(model()->data(index, Sigmodr::BaseModel::WidgetRole).value<QWidget*>());
+ Sigmodr::ObjectUI* widget = qobject_cast<ObjectUI*>(model()->data(index, BaseModel::WidgetRole).value<QWidget*>());
return widget;
}
KMenu* Sigmodr::SigmodTree::contextMenu(const QModelIndex& index)
{
- return model()->data(index, Sigmodr::BaseModel::ContextMenuRole).value<KMenu*>();
+ return model()->data(index, BaseModel::ContextMenuRole).value<KMenu*>();
}
const Sigmod::Sigmod* Sigmodr::SigmodTree::currentSigmod() const
@@ -71,13 +77,13 @@ const Sigmod::Sigmod* Sigmodr::SigmodTree::currentSigmod() const
QDomDocument Sigmodr::SigmodTree::copy(const QModelIndex& index)
{
QDomDocument xml;
- xml.setContent(model()->data(index, Sigmodr::BaseModel::XmlRole).toString());
+ xml.setContent(model()->data(index, BaseModel::XmlRole).toString());
return xml;
}
void Sigmodr::SigmodTree::paste(const QModelIndex& index, const QDomDocument& data)
{
- model()->setData(index, data.toString(), Sigmodr::BaseModel::XmlRole);
+ model()->setData(index, data.toString(), BaseModel::XmlRole);
}
QList<const Sigmod::Sigmod*> Sigmodr::SigmodTree::openedSigmods() const
@@ -144,10 +150,17 @@ bool Sigmodr::SigmodTree::dirty(const Sigmod::Sigmod* sigmod) const
return false;
}
+bool Sigmodr::SigmodTree::dirty() const
+{
+ return dirty(currentSigmod());
+}
+
void Sigmodr::SigmodTree::setDirty(const Sigmod::Sigmod* sigmod, const bool dirty)
{
if (m_sigmods.contains(sigmod))
+ {
m_sigmods[sigmod].second = dirty;
+ }
}
void Sigmodr::SigmodTree::setDirty()