diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2008-04-25 00:08:22 +0000 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2008-04-25 00:08:22 +0000 |
| commit | dd643ee61d9166761c50803cd379c9343099385c (patch) | |
| tree | 30d935e81896f3680d5d1c232669e180088d3f37 /pokemodr/models/BaseModel.cpp | |
| parent | 446fcd9248d4cef74e905c485ef767a94a8463ec (diff) | |
| download | sigen-dd643ee61d9166761c50803cd379c9343099385c.tar.gz sigen-dd643ee61d9166761c50803cd379c9343099385c.tar.xz sigen-dd643ee61d9166761c50803cd379c9343099385c.zip | |
[FIX] Fleshed out a lot more Model classes
[ADD] New intermediate classes for Objects with subclasses and those without
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@107 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemodr/models/BaseModel.cpp')
| -rw-r--r-- | pokemodr/models/BaseModel.cpp | 68 |
1 files changed, 64 insertions, 4 deletions
diff --git a/pokemodr/models/BaseModel.cpp b/pokemodr/models/BaseModel.cpp index bb0392ff..b1241803 100644 --- a/pokemodr/models/BaseModel.cpp +++ b/pokemodr/models/BaseModel.cpp @@ -40,16 +40,66 @@ BaseModel* BaseModel::parent() // return Qt::CopyAction | Qt::MoveAction; // } -ObjectModel::ObjectModel(BaseModel* parent, Object* object) : +BaseObjectModel::BaseObjectModel(BaseModel* parent, Object* object) : BaseModel(parent, object, "") { } -Qt::ItemFlags ObjectModel::flags() const +Qt::ItemFlags BaseObjectModel::flags() const { return Qt::ItemIsDragEnabled | Qt::ItemIsSelectable | Qt::ItemIsDropEnabled | Qt::ItemIsEnabled; } +ObjectModel::ObjectModel(BaseModel* parent, Object* object) : + BaseObjectModel(parent, object) +{ +} + +int ObjectModel::rowCount() const +{ + return 0; +} + +BaseModel* ObjectModel::childItem(const int /*row*/) +{ + return NULL; +} + +bool ObjectModel::canInsertRows() const +{ + return false; +} + +bool ObjectModel::insertRows(const int /*rows*/) +{ + return false; +} + +bool ObjectModel::canRemoveRows() const +{ + return false; +} + +bool ObjectModel::removeRows(const int /*position*/, const int /*rows*/) +{ + return false; +} + +GroupObjectModel::GroupObjectModel(BaseModel* parent, Object* object) : + BaseObjectModel(parent, object) +{ +} + +bool GroupObjectModel::canInsertRows() const +{ + return true; +} + +bool GroupObjectModel::canRemoveRows() const +{ + return true; +} + GroupModel::GroupModel(BaseModel* parent, Object* object, const QString& name) : BaseModel(parent, object, name) { @@ -57,8 +107,7 @@ GroupModel::GroupModel(BaseModel* parent, Object* object, const QString& name) : GroupModel::~GroupModel() { - foreach (ObjectModel* model, m_objects) - delete model; + clearData(); } QVariant GroupModel::data(int role) const @@ -78,6 +127,11 @@ bool GroupModel::setData(const QVariant& /*value*/, int /*role = Qt::EditRole*/) return false; } +BaseModel* GroupModel::childItem(const int row) +{ + return m_objects[row]; +} + bool GroupModel::canInsertRows() const { return true; @@ -87,3 +141,9 @@ bool GroupModel::canRemoveRows() const { return true; } + +void GroupModel::clearData() +{ + foreach (BaseObjectModel* model, m_objects) + delete model; +} |
