本文整理汇总了C++中TileLayer::removeReferencesToTileset方法的典型用法代码示例。如果您正苦于以下问题:C++ TileLayer::removeReferencesToTileset方法的具体用法?C++ TileLayer::removeReferencesToTileset怎么用?C++ TileLayer::removeReferencesToTileset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TileLayer
的用法示例。
在下文中一共展示了TileLayer::removeReferencesToTileset方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: deleteTilesetView
void TilesetDock::deleteTilesetView(int index)
{
TilesetDocument *tilesetDocument = mTilesetDocuments.at(index);
tilesetDocument->disconnect(this);
Tileset *tileset = tilesetDocument->tileset().data();
TilesetView *view = tilesetViewAt(index);
QString path = QLatin1String("TilesetDock/TilesetScale/") + tileset->name();
QSettings *settings = Preferences::instance()->settings();
if (view->scale() != 1.0)
settings->setValue(path, view->scale());
else
settings->remove(path);
mTilesets.remove(index);
mTilesetDocuments.removeAt(index);
delete view; // view needs to go before the tab
mTabBar->removeTab(index);
// Make sure we don't reference this tileset anymore
if (mCurrentTiles && mCurrentTiles->referencesTileset(tileset)) {
TileLayer *cleaned = mCurrentTiles->clone();
cleaned->removeReferencesToTileset(tileset);
setCurrentTiles(cleaned);
}
if (mCurrentTile && mCurrentTile->tileset() == tileset)
setCurrentTile(nullptr);
}
示例2: deleteTilesetView
void TilesetDock::deleteTilesetView(int index)
{
TilesetDocument *tilesetDocument = mTilesetDocuments.at(index);
tilesetDocument->disconnect(this);
mTilesets.remove(index);
mTilesetDocuments.removeAt(index);
delete tilesetViewAt(index); // view needs to go before the tab
mTabBar->removeTab(index);
Tileset *tileset = tilesetDocument->tileset().data();
// Make sure we don't reference this tileset anymore
if (mCurrentTiles && mCurrentTiles->referencesTileset(tileset)) {
TileLayer *cleaned = static_cast<TileLayer *>(mCurrentTiles->clone());
cleaned->removeReferencesToTileset(tileset);
setCurrentTiles(cleaned);
}
if (mCurrentTile && mCurrentTile->tileset() == tileset)
setCurrentTile(nullptr);
}
示例3: tilesetRemoved
void TilesetDock::tilesetRemoved(Tileset *tileset)
{
// Delete the related tileset view
const int index = indexOf(mTilesets, tileset);
Q_ASSERT(index != -1);
mTilesets.remove(index);
mTabBar->removeTab(index);
delete tilesetViewAt(index);
// Make sure we don't reference this tileset anymore
if (mCurrentTiles) {
// TODO: Don't clean unnecessarily (but first the concept of
// "current brush" would need to be introduced)
TileLayer *cleaned = static_cast<TileLayer *>(mCurrentTiles->clone());
cleaned->removeReferencesToTileset(tileset);
setCurrentTiles(cleaned);
}
if (mCurrentTile && mCurrentTile->tileset() == tileset)
setCurrentTile(nullptr);
updateActions();
}