00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef TILE_H
00022 #define TILE_H
00023
00024 #include <QAbstractListModel>
00025 #include <QList>
00026 #include <QPixmap>
00027 #include <QPoint>
00028 #include <QStringList>
00029 #include "listatiles.h"
00030
00031 class QMimeData;
00032 class ListaTiles;
00033
00034 class Tile : public QAbstractListModel
00035 {
00036 Q_OBJECT
00037
00038 public:
00042 Tile(QObject *parent = 0);
00047 Tile(QObject *parent, ListaTiles *lista);
00049 ~Tile();
00050
00055 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
00059 int rowCount(const QModelIndex &parent = QModelIndex()) const { return tiles->size();}
00065 void addPiece(const QPixmap &pixmap=QPixmap(), const QString nombret=QString(), int sep =0);
00070 bool removeRow(int row, const QModelIndex &parent = QModelIndex());
00072 int ModificadoDesdeGuardado() const { return modificado;}
00074 void TileGuardado() { modificado =0;}
00076 int Tamano() const { return tiles->size();}
00080 int Cantidad(int i) const { return nombres.count(nombres.at(i));}
00084 int PrimeraPosTileSet(int i) { return nombres.indexOf(nombres.at(i));}
00088 int UltimaPosTileSet(int i) { return nombres.lastIndexOf(nombres.at(i));}
00092 QPixmap ImagenTile(int i) const { return tiles->at(i);}
00096 int SeparacionTile(int i) const { return separaciones.at(i);}
00100 QString NombreTile(int i) const { return nombres.at(i);}
00104 Qt::ItemFlags flags(const QModelIndex &index) const;
00106 QList<QPixmap>* ListaImagenes() const {return tiles;}
00107 ListaTiles *vistalistatiles;
00108 private:
00109 int modificado;
00110 QList<QPixmap> *tiles;
00111 QList<QString> nombres;
00112 QList<int> separaciones;
00113
00114 };
00115
00116 #endif