本文整理汇总了C++中KnobChoicePtr::getEntries_mt_safe方法的典型用法代码示例。如果您正苦于以下问题:C++ KnobChoicePtr::getEntries_mt_safe方法的具体用法?C++ KnobChoicePtr::getEntries_mt_safe怎么用?C++ KnobChoicePtr::getEntries_mt_safe使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KnobChoicePtr
的用法示例。
在下文中一共展示了KnobChoicePtr::getEntries_mt_safe方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QIcon
void
KnobGuiChoice::onEntriesPopulated()
{
KnobChoicePtr knob = _knob.lock();
_comboBox->clear();
std::vector<std::string> entries = knob->getEntries_mt_safe();
const std::vector<std::string> help = knob->getEntriesHelp_mt_safe();
std::string activeEntry = knob->getActiveEntryText_mt_safe();
for (U32 i = 0; i < entries.size(); ++i) {
std::string helpStr;
if ( !help.empty() && !help[i].empty() ) {
helpStr = help[i];
}
_comboBox->addItem( QString::fromUtf8( entries[i].c_str() ), QIcon(), QKeySequence(), QString::fromUtf8( helpStr.c_str() ) );
}
// the "New" menu is only added to known parameters (e.g. the choice of output channels)
if ( knob->getHostCanAddOptions() &&
( ( knob->getName() == kNatronOfxParamOutputChannels) || ( knob->getName() == kOutputChannelsKnobName) ) ) {
_comboBox->addItemNew();
}
///we don't use setCurrentIndex because the signal emitted by combobox will call onCurrentIndexChanged and
///we don't want that to happen because the index actually didn't change.
if ( _comboBox->isCascading() || activeEntry.empty() ) {
_comboBox->setCurrentIndex_no_emit( knob->getValue() );
} else {
_comboBox->setCurrentText_no_emit( QString::fromUtf8( activeEntry.c_str() ) );
}
if ( !activeEntry.empty() ) {
bool activeIndexPresent = knob->isActiveEntryPresentInEntries();
if (!activeIndexPresent) {
QString error = tr("The value set to this parameter no longer exist in the menu. Right click and press Refresh Menu to update the menu and then pick a new value.");
setWarningValue( KnobGui::eKnobWarningChoiceMenuOutOfDate, GuiUtils::convertFromPlainText(error, Qt::WhiteSpaceNormal) );
} else {
setWarningValue( KnobGui::eKnobWarningChoiceMenuOutOfDate, QString() );
}
}
}