summaryrefslogtreecommitdiffstats
path: root/sigmodr/tree/SigmodrTree.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sigmodr/tree/SigmodrTree.cpp')
-rw-r--r--sigmodr/tree/SigmodrTree.cpp175
1 files changed, 0 insertions, 175 deletions
diff --git a/sigmodr/tree/SigmodrTree.cpp b/sigmodr/tree/SigmodrTree.cpp
deleted file mode 100644
index 2caca70a..00000000
--- a/sigmodr/tree/SigmodrTree.cpp
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright 2008-2009 Ben Boeckel <MathStuf@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-// Header include
-#include "SigmodrTree.h"
-
-// Sigmodr tree includes
-#include "BaseModel.h"
-#include "SigmodrTreeModel.h"
-
-// Sigmodr widget includes
-#include <sigmodr/widgets/ObjectUI.h>
-
-// Sigmod includes
-#include <sigmod/Game.h>
-#include <sigmod/Object.h>
-
-// Qt includes
-#include <QtGui/QHeaderView>
-
-using namespace Sigmod;
-using namespace Sigmodr::Widgets;
-using namespace Sigmodr::Tree;
-
-SigmodrTree::SigmodrTree(QWidget* parent) :
- QTreeView(parent)
-{
- SigmodrTreeModel* model = new SigmodrTreeModel(this);
- connect(model, SIGNAL(dirty(const Sigmod::Game*, bool)), this, SLOT(setDirty(const Sigmod::Game*, bool)));
- header()->hide();
- setModel(model);
- setRootIndex(model->index(-1, 0, QModelIndex()));
-}
-
-QString SigmodrTree::description(const QModelIndex& index) const
-{
- QString type = typeOf(index);
- QString name = model()->data(index, Qt::DisplayRole).toString();
- if (type.isEmpty() && name.isEmpty())
- return "";
- return QString("%1: %2").arg(type).arg(name);
-}
-
-QString SigmodrTree::typeOf(const QModelIndex& index) const
-{
- return model()->data(index, BaseModel::TypeRole).toString();
-}
-
-QStringList SigmodrTree::dropTypes(const QModelIndex& index) const
-{
- return model()->data(index, BaseModel::DropAcceptRole).toString().split(';');
-}
-
-ObjectUI* SigmodrTree::editorWidget(const QModelIndex& index)
-{
- ObjectUI* widget = qobject_cast<ObjectUI*>(model()->data(index, BaseModel::WidgetRole).value<QWidget*>());
- return widget;
-}
-
-KMenu* SigmodrTree::contextMenu(const QModelIndex& index)
-{
- return model()->data(index, BaseModel::ContextMenuRole).value<KMenu*>();
-}
-
-const Game* SigmodrTree::currentGame() const
-{
- QModelIndex index = currentIndex();
- if (index.isValid())
- {
- const Object* object = static_cast<BaseModel*>(index.internalPointer())->object();
- if (object)
- return object->game();
- }
- return NULL;
-}
-
-QDomDocument SigmodrTree::copy(const QModelIndex& index)
-{
- QDomDocument xml;
- xml.setContent(model()->data(index, BaseModel::XmlRole).toString());
- return xml;
-}
-
-void SigmodrTree::paste(const QModelIndex& index, const QDomDocument& data)
-{
- model()->setData(index, data.toString(), BaseModel::XmlRole);
-}
-
-QList<const Game*> SigmodrTree::openedGames() const
-{
- return m_games.keys();
-}
-
-void SigmodrTree::addGame(Game* game, const KUrl& url)
-{
- qobject_cast<SigmodrTreeModel*>(model())->addGame(game);
- m_games[game] = UrlDirty(url, false);
-}
-
-void SigmodrTree::deleteGame(const Game* game)
-{
- if (m_games.contains(game))
- {
- qobject_cast<SigmodrTreeModel*>(model())->deleteGame(game);
- m_games.remove(game);
- }
-}
-
-bool SigmodrTree::isOpen(const KUrl& url) const
-{
- foreach (const UrlDirty& pair, m_games.values())
- {
- if (url == pair.first)
- return true;
- }
- return false;
-}
-
-KUrl SigmodrTree::url(const Game* game) const
-{
- if (m_games.contains(game))
- return m_games[game].first;
- return KUrl();
-}
-
-QStringList SigmodrTree::urls() const
-{
- QStringList urls;
- foreach (const UrlDirty& pair, m_games.values())
- urls << pair.first.prettyUrl();
- return urls;
-}
-
-void SigmodrTree::setUrl(const Game* game, const KUrl& url)
-{
- if (m_games.contains(game))
- m_games[game] = UrlDirty(url, false);
-}
-
-bool SigmodrTree::dirty(const Game* game) const
-{
- if (m_games.contains(game))
- return m_games[game].second;
- return false;
-}
-
-bool SigmodrTree::dirty() const
-{
- return dirty(currentGame());
-}
-
-void SigmodrTree::setDirty(const Game* game, const bool dirty)
-{
- if (m_games.contains(game))
- m_games[game].second = dirty;
-}
-
-void SigmodrTree::setDirty()
-{
- setDirty(currentGame(), true);
-}