QVariant TextureDefinitionList::data(const QModelIndex &index, int role) const { if(role == Qt::SizeHintRole) { return QSize(10,10); } else if((role == Qt::EditRole || role == Qt::DisplayRole) && level) { TextureDefinition* def = level->textureDefinitions.getTextureDefinition(index.row()); if(def) { switch(index.column()) { case 0: return QString(def->getName()); case 1: return QVariant(def->getTexture()); case 2: return QVariant(def->getX()); case 3: return QVariant(def->getY()); case 4: return QVariant(def->getW()); case 5: return QVariant(def->getH()); } } } return QVariant(); };
bool TextureDefinitionList::insertRows(int row, int count, const QModelIndex & /*parent*/) { if(level && count > 0) { if(row >= 0 && row <= level->textureDefinitions.getNumTextureDefinitions()) { TextureDefinition temp; temp.setX(0); temp.setY(0); temp.setW(16); temp.setH(16); temp.setTexture(0); temp.setName(""); TextureDefinition* old = level->textureDefinitions.getTextureDefinition(row); if(old) temp.setTexture(old->getTexture()); emit beginInsertRows(index(0,0),row,row+count-1); level->textureDefinitions.insertTextureDefinitions(row,count,temp); emit endInsertRows(); return true; } } return false; };