int Tiled::Internal::MapScene::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QGraphicsScene::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: setGridVisible((*reinterpret_cast< bool(*)>(_a[1]))); break; case 1: refreshScene(); break; case 2: repaintRegion((*reinterpret_cast< const QRegion(*)>(_a[1]))); break; case 3: currentLayerIndexChanged(); break; case 4: mapChanged(); break; case 5: tilesetChanged((*reinterpret_cast< Tileset*(*)>(_a[1]))); break; case 6: layerAdded((*reinterpret_cast< int(*)>(_a[1]))); break; case 7: layerRemoved((*reinterpret_cast< int(*)>(_a[1]))); break; case 8: layerChanged((*reinterpret_cast< int(*)>(_a[1]))); break; case 9: objectsAdded((*reinterpret_cast< const QList<MapObject*>(*)>(_a[1]))); break; case 10: objectsRemoved((*reinterpret_cast< const QList<MapObject*>(*)>(_a[1]))); break; case 11: objectsChanged((*reinterpret_cast< const QList<MapObject*>(*)>(_a[1]))); break; case 12: updateSelectedObjectItems(); break; default: ; } _id -= 13; } return _id; }
/** * Exchanges the tileset data of the tileset wrapped by this document with the * data in the given \a tileset, and vice-versa. */ void TilesetDocument::swapTileset(SharedTileset &tileset) { // Bring pointers to safety setSelectedTiles(QList<Tile*>()); setCurrentObject(mTileset.data()); mTileset->swap(*tileset); emit tilesetChanged(mTileset.data()); }
void TilesetDocument::removeTiles(const QList<Tile *> &tiles) { // Switch current object to the tileset when it is one of the removed tiles for (Tile *tile : tiles) { if (tile == currentObject()) { setCurrentObject(mTileset.data()); break; } } mTileset->removeTiles(tiles); emit tilesetChanged(mTileset.data()); }
int Tiled::Internal::TilesetManager::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QObject::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: tilesetChanged((*reinterpret_cast< Tileset*(*)>(_a[1]))); break; case 1: fileChanged((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 2: fileChangedTimeout(); break; default: ; } _id -= 3; } return _id; }
void ChangeTilesetParameters::apply(const TilesetParameters ¶meters) { QString oldImageSource = mTileset.imageSource(); mTileset.setImageSource(parameters.imageSource); mTileset.setTransparentColor(parameters.transparentColor); mTileset.setTileSize(parameters.tileSize); mTileset.setTileSpacing(parameters.tileSpacing); mTileset.setMargin(parameters.margin); auto tilesetManager = TilesetManager::instance(); if (oldImageSource != mTileset.imageSource()) tilesetManager->tilesetImageSourceChanged(mTileset, oldImageSource); if (mTileset.loadImage()) emit tilesetManager->tilesetChanged(&mTileset); emit mMapDocument->tilesetChanged(&mTileset); }
void KMahjonggTilesetSelector::setupData(KConfigSkeleton * aconfig) { //Get our currently configured Tileset entry KConfig * config = aconfig->config(); KConfigGroup group = config->group("General"); QString initialGroup = group.readEntry("Tileset_file"); //The lineEdit widget holds our tileset path, but the user does not manipulate it directly kcfg_TileSet->hide(); //This will also load our resourcedir if it is not done already KMahjonggTileset tile; //Now get our tilesets into a list QStringList tilesAvailable = KGlobal::dirs()->findAllResources("kmahjonggtileset", QLatin1String( "*.desktop"), KStandardDirs::Recursive); QLatin1String namestr("Name"); int numvalidentries = 0; for (int i = 0; i < tilesAvailable.size(); ++i) { KMahjonggTileset * aset = new KMahjonggTileset(); QString atileset = tilesAvailable.at(i); if (aset->loadTileset(atileset)) { tilesetMap.insert(aset->authorProperty(namestr), aset); tilesetList->addItem(aset->authorProperty(namestr)); //Find if this is our currently configured Tileset if (atileset==initialGroup) { //Select current entry tilesetList->setCurrentRow(numvalidentries); tilesetChanged(); } ++numvalidentries; } else { delete aset; } } connect(tilesetList, SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)), this, SLOT(tilesetChanged())); }
void ObjectEditor::mousePressEvent(QMouseEvent* evt) { if (objNbr == -1) return; if (evt->x() >= currX && evt->x() < currX + currW && evt->y() >= currY && evt->y() < currY + currH) { selX = (evt->x()-currX) / 20; selY = (evt->y()-currY) / 20; if (evt->button() == Qt::RightButton) { if (evt->modifiers() == Qt::ControlModifier) { tileset->setData(objNbr, selX, selY, 1, 0x00); tileset->setData(objNbr, selX, selY, 2, 0x00); } else if (paintTileNbr != -1) tileset->setData(objNbr, selX, selY, 1, paintTileNbr); emit tilesetChanged(); } emit updateSelTileLabel(QString("Tile Data: (Repeat: 0x%1), (Tile: 0x%2), (Slot: 0x%3), (Item: 0x%4)").arg(tileset->getData(objNbr, selX, selY, 0), 1, 16).arg(tileset->getData(objNbr, selX, selY, 1), 1, 16).arg((tileset->getData(objNbr, selX, selY, 2) & 6) >> 1, 1, 16).arg((tileset->getData(objNbr, selX, selY, 2) & 120) >> 3, 1, 16)); }
void TilesetDocument::addTiles(const QList<Tile *> &tiles) { mTileset->addTiles(tiles); emit tilesetChanged(mTileset.data()); }