khanat-opennel-code/code/nel/tools/3d/tile_edit_qt/tiles_model.h
2014-03-23 15:16:20 +05:30

57 lines
1.2 KiB
C++

#ifndef TILESMODEL_H
#define TILESMODEL_H
#include <QtCore/QAbstractListModel>
#include <QtCore/QList>
#include <QtGui/QPixmap>
#include <QtCore/QPoint>
#include <QtCore/QStringList>
#include <QtCore/QVariant>
#include <QtGui/QStackedWidget>
#include <QtGui/QLabel>
class TileModel
{
public:
TileModel();
TileModel(int pixmapSide, QString tileLabel, int index);
TileModel(const QPixmap &pixmap, QString tileLabel, int index);
int getPixmapSide() const { return pixmapSide; };
QPixmap getPixmap() const { return pixmap; };
QString getTileLabel() const { return tileLabel; };
int getIndex() const { return index; };
private:
int pixmapSide;
QPixmap pixmap;
QString tileLabel;
int index;
};
class tiles_model : public QAbstractListModel
{
Q_OBJECT
public:
tiles_model(QObject *parent = 0);
Qt::ItemFlags flags(const QModelIndex &index) const;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
bool removeRows(int row, int count, const QModelIndex &parent);
int rowCount(const QModelIndex &parent) const;
void sort ( int column = 0, Qt::SortOrder order = Qt::AscendingOrder );
void addTile(const TileModel &tile);
void removeAllTiles();
private:
QList<TileModel> tiles;
};
#endif