本文整理汇总了C++中NodeGuiPtr::isSettingsPanelVisible方法的典型用法代码示例。如果您正苦于以下问题:C++ NodeGuiPtr::isSettingsPanelVisible方法的具体用法?C++ NodeGuiPtr::isSettingsPanelVisible怎么用?C++ NodeGuiPtr::isSettingsPanelVisible使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NodeGuiPtr
的用法示例。
在下文中一共展示了NodeGuiPtr::isSettingsPanelVisible方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getModel
void
NodeAnim::refreshVisibility()
{
AnimationModulePtr animModule = getModel();
QTreeWidgetItem *nodeItem = getTreeItem();
bool showNode = false;
int nChildren = nodeItem->childCount();
// Refresh children, which will recursively refresh their children
for (int i = 0; i < nChildren; ++i) {
QTreeWidgetItem* child = nodeItem->child(i);
AnimatedItemTypeEnum type;
KnobAnimPtr isKnob;
TableItemAnimPtr isTableItem;
NodeAnimPtr isNodeItem;
ViewSetSpec view;
DimSpec dim;
bool found = animModule->findItem(child, &type, &isKnob, &isTableItem, &isNodeItem, &view, &dim);
if (!found) {
continue;
}
if (isTableItem) {
isTableItem->refreshVisibilityConditional(false /*refreshParent*/);
} else if (isNodeItem) {
isNodeItem->refreshVisibility();
} else if (isKnob) {
isKnob->refreshVisibilityConditional(false /*refreshHolder*/);
}
if (!child->isHidden()) {
showNode = true;
}
}
if (!showNode) {
// If so far none of the children should be displayed, still check if the node has a range
if (isRangeDrawingEnabled()) {
showNode = true;
}
}
// If settings panel is not opened and the "Keep in Animation Module" knob is not checked, hide the node.
NodeGuiPtr nodeGui = getNodeGui();
bool keepInAnimationModule = nodeGui->getNode()->isKeepInAnimationModuleButtonDown();
if (!keepInAnimationModule && !nodeGui->isSettingsPanelVisible()) {
showNode = false;
}
refreshFrameRange();
nodeItem->setData(0, QT_ROLE_CONTEXT_IS_ANIMATED, showNode);
nodeItem->setHidden(!showNode);
} // refreshVisibility