本文整理汇总了C++中Part::clone方法的典型用法代码示例。如果您正苦于以下问题:C++ Part::clone方法的具体用法?C++ Part::clone怎么用?C++ Part::clone使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Part
的用法示例。
在下文中一共展示了Part::clone方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: toggleTrackPart
//.........这里部分代码省略.........
{
bool valid = true;
if(newName.isEmpty())
{
valid = false;
}
if(valid)
{
for (iMidiTrack i = song->tracks()->begin(); i != song->tracks()->end(); ++i)
{
if ((*i)->name() == newName)
{
valid = false;
break;
}
}
}
if(!valid)
{
QMessageBox::critical(this, tr("LOS: bad trackname"),
tr("please choose a unique track name"),
QMessageBox::Ok, Qt::NoButton, Qt::NoButton);
m_model->blockSignals(true);
item->setText(item->data(TrackNameRole).toString());
m_model->blockSignals(false);
update();
m_editing = false;
return;
}
m_model->blockSignals(true);
item->setData(newName, TrackNameRole);
m_model->blockSignals(false);
Track* newTrack = track->clone(false);
newTrack->setName(newName);
track->setName(newName);
audio->msgChangeTrack((MidiTrack*)newTrack, track);
}
}
break;
case 2: //Part
{
int sn = item->data(PartRole).toInt();
unsigned tick = item->data(TickRole).toInt();
Part* part = list->find(tick, sn);
if(part)
{
if(!column)
{
if(checked)
{
m_editor->addPart(part);
updatePartSelection(part);
}
else
{
m_editor->removePart(sn);
m_editor->updateCanvas();
updateCheck();
song->update(SC_SELECTION);
}
}
else
{
if(partName.isEmpty())
{