diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2009-05-01 22:25:29 -0400 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2009-05-01 22:25:29 -0400 |
| commit | d43500d8f348a77a7db32e6f16594dacf3b52ad9 (patch) | |
| tree | 091807eed93c40bdefa0d21d531668512768b201 /sigmodr/tree/TreeItem.cpp | |
| parent | ca4425dfe13eba4e595d1d77a2548521c2dc0e2e (diff) | |
| download | sigen-d43500d8f348a77a7db32e6f16594dacf3b52ad9.tar.gz sigen-d43500d8f348a77a7db32e6f16594dacf3b52ad9.tar.xz sigen-d43500d8f348a77a7db32e6f16594dacf3b52ad9.zip | |
Add TreeItem for new MVC
Diffstat (limited to 'sigmodr/tree/TreeItem.cpp')
| -rw-r--r-- | sigmodr/tree/TreeItem.cpp | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/sigmodr/tree/TreeItem.cpp b/sigmodr/tree/TreeItem.cpp new file mode 100644 index 00000000..4652bb38 --- /dev/null +++ b/sigmodr/tree/TreeItem.cpp @@ -0,0 +1,154 @@ +/* + * Copyright 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 "TreeItem.h" + +// Sigmod includes +#include <sigmod/Object.h> + +using namespace Sigmod; +using namespace Sigmodr::Tree; + +TreeItem::TreeItem(const ItemType type, Object* object, TreeItem* parent) : + m_type(type), + m_object(object), + m_parent(parent) +{ +} + +TreeItem::~TreeItem() +{ + foreach (TreeItem* item, m_children) + delete item; +} + +int TreeItem::row() +{ + if (m_parent) + return m_parent->m_children.indexOf(this); + return -1; +} + +TreeItem* TreeItem::parent() +{ + return m_parent; +} + +QString TreeItem::text() const +{ + // TODO +} + +Qt::ItemFlags TreeItem::flags() const +{ + // TODO +} + +KMenu* TreeItem::menu() +{ + // TODO +} + +bool TreeItem::canAddTo() const +{ + switch (m_type) + { + case GroupGame ... GroupWeather: + case EntryGame: + case EntryCoinList: + case EntryMap: + case EntryMapTrainer: + case EntryMapWildList: + case EntrySpecies: + return true; + default: + return false; + } +} + +bool TreeItem::canRemove() const +{ + switch (m_type) + { + case GroupGame ... GroupWeather: + case EntryRules: + return false; + default: + return true; + } +} + +bool TreeItem::canCopy() const +{ + switch (m_type) + { + case GroupGame ... GroupWeather: + return false; + default: + return true; + } +} + +int TreeItem::childCount() const +{ + return m_children.size(); +} + +TreeItem* TreeItem::addChild() +{ + // TODO +} + +TreeItem* TreeItem::childAt(const int child) +{ + if ((0 <= child) && (child <= m_children.size())) + return m_children[child]; + return NULL; +} + +void TreeItem::removeChild(const int child) +{ + // TODO +} + +const Game* TreeItem::game() const +{ + if (m_object) + return m_object->game(); + return NULL; +} + +QStringList TreeItem::acceptedMimeTypes() const +{ + // TODO +} + +QString TreeItem::mimeType() const +{ + // TODO +} + +QByteArray TreeItem::copyData() const +{ + // TODO +} + +bool TreeItem::dropData(QMimeData* data) +{ + // TODO +} |
