コード例 #1
0
ファイル: tilestampmanager.cpp プロジェクト: nonchip/tiled
void TileStampManager::createQuickStamp(int index)
{
    TileStamp stamp = stampFromContext(mToolManager.selectedTool());
    if (stamp.isEmpty())
        return;

    setQuickStamp(index, stamp);
}
コード例 #2
0
ファイル: tilestampmanager.cpp プロジェクト: nonchip/tiled
void TileStampManager::newStamp()
{
    TileStamp stamp = stampFromContext(mToolManager.selectedTool());
    if (stamp.isEmpty())
        return;

    mTileStampModel->addStamp(stamp);
}
コード例 #3
0
ファイル: tilestampmanager.cpp プロジェクト: nonchip/tiled
void TileStampManager::extendQuickStamp(int index)
{
    TileStamp quickStamp = mQuickStamps[index];

    if (quickStamp.isEmpty())
        createQuickStamp(index);
    else
        addVariation(quickStamp);
}
コード例 #4
0
ファイル: tilestampmanager.cpp プロジェクト: nonchip/tiled
void TileStampManager::eraseQuickStamp(int index)
{
    const TileStamp stamp = mQuickStamps.at(index);
    if (!stamp.isEmpty()) {
        mQuickStamps[index] = TileStamp();

        if (!mQuickStamps.contains(stamp))
            mTileStampModel->removeStamp(stamp);
    }
}
コード例 #5
0
ファイル: tilestampmanager.cpp プロジェクト: nonchip/tiled
void TileStampManager::addVariation(const TileStamp &targetStamp)
{
    TileStamp stamp = stampFromContext(mToolManager.selectedTool());
    if (stamp.isEmpty())
        return;

    if (stamp == targetStamp) // avoid easy mistake of adding duplicates
        return;

    foreach (const TileStampVariation &variation, stamp.variations())
        mTileStampModel->addVariation(targetStamp, variation);
}
コード例 #6
0
ファイル: stampbrush.cpp プロジェクト: ihuangx/tiled
void StampBrush::endCapture()
{
    if (mBrushBehavior != Capture)
        return;

    mBrushBehavior = Free;

    TileStamp stamp = mCaptureStampHelper.endCapture(*mapDocument(), tilePosition());
    if (!stamp.isEmpty())
        emit stampChanged(TileStamp(stamp));
    else
        updatePreview();
}
コード例 #7
0
ファイル: tilestampsdock.cpp プロジェクト: bjorn/tiled
void TileStampsDock::newStamp()
{
    TileStamp stamp = mTileStampManager->createStamp();

    if (isVisible() && !stamp.isEmpty()) {
        QModelIndex stampIndex = mTileStampModel->index(stamp);
        if (stampIndex.isValid()) {
            QModelIndex viewIndex = mProxyModel->mapFromSource(stampIndex);
            mTileStampView->setCurrentIndex(viewIndex);
            mTileStampView->edit(viewIndex);
        }
    }
}
コード例 #8
0
ファイル: abstracttilefilltool.cpp プロジェクト: bjorn/tiled
void AbstractTileFillTool::mouseReleased(QGraphicsSceneMouseEvent *event)
{
    if (event->button() == Qt::RightButton && mCaptureStampHelper.isActive()) {
        clearOverlay();

        TileStamp stamp = mCaptureStampHelper.endCapture(*mapDocument(), tilePosition());
        if (!stamp.isEmpty())
            emit stampChanged(stamp);

        return;
    }

    event->ignore();
}