本文整理汇总了C++中KnobGuiPtr::isSecretRecursive方法的典型用法代码示例。如果您正苦于以下问题:C++ KnobGuiPtr::isSecretRecursive方法的具体用法?C++ KnobGuiPtr::isSecretRecursive怎么用?C++ KnobGuiPtr::isSecretRecursive使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KnobGuiPtr
的用法示例。
在下文中一共展示了KnobGuiPtr::isSecretRecursive方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getKnob
void
KnobGui::hide()
{
if (!_imp->customInteract) {
_hide();
} else {
_imp->customInteract->hide();
}
//also hide the curve from the curve editor if there's any and the knob is not inside a group
KnobPtr knob = getKnob();
if ( knob && knob->getHolder() && knob->getHolder()->getApp() ) {
KnobPtr parent = getKnob()->getParentKnob();
bool isSecret = true;
while (parent) {
if ( !parent->getIsSecret() ) {
isSecret = false;
break;
}
parent = parent->getParentKnob();
}
if (isSecret) {
getGui()->getCurveEditor()->hideCurves( shared_from_this() );
}
}
////In order to remove the row of the layout we have to make sure ALL the knobs on the row
////are hidden.
bool shouldRemoveWidget = true;
for (U32 i = 0; i < _imp->knobsOnSameLine.size(); ++i) {
KnobGuiPtr sibling = _imp->container->getKnobGui( _imp->knobsOnSameLine[i].lock() );
if ( sibling && !sibling->isSecretRecursive() ) {
shouldRemoveWidget = false;
}
}
if (shouldRemoveWidget) {
if (_imp->field) {
_imp->field->hide();
}
if (_imp->container) {
_imp->container->refreshTabWidgetMaxHeight();
}
} else {
if ( _imp->field && !_imp->field->isVisible() ) {
_imp->field->show();
}
}
if (_imp->labelContainer) {
_imp->labelContainer->hide();
} else if (_imp->descriptionLabel) {
_imp->descriptionLabel->hide();
}
} // KnobGui::hide