ViewerTab::~ViewerTab() { Gui* gui = getGui(); if (gui) { NodeGraph* graph = 0; ViewerNodePtr internalNode = getInternalNode(); ViewerInstancePtr viewerNode = internalNode ? internalNode->getInternalViewerNode() : ViewerInstancePtr(); if (viewerNode) { NodeCollectionPtr collection = viewerNode->getNode()->getGroup(); if (collection) { NodeGroupPtr isGrp = toNodeGroup(collection); if (isGrp) { NodeGraphI* graph_i = isGrp->getNodeGraph(); if (graph_i) { graph = dynamic_cast<NodeGraph*>(graph_i); assert(graph); } } else { graph = gui->getNodeGraph(); } } internalNode->invalidateUiContext(); } else { graph = gui->getNodeGraph(); } assert(graph); GuiAppInstancePtr app = gui->getApp(); if ( app && !app->isClosing() && graph && (graph->getLastSelectedViewer() == this) ) { graph->setLastSelectedViewer(0); } } _imp->nodesContext.clear(); }
void ViewerTab::connectToBInput(int inputNb) { ViewerNodePtr internalNode = getInternalNode(); if (internalNode) { internalNode->connectInputToIndex(inputNb, 1); } }
void ViewerTab::updateZoomComboBox(int value) { assert(value > 0); QString str = QString::number(value); str.append( QLatin1Char('%') ); ViewerNodePtr internalNode = getInternalNode(); if (internalNode) { internalNode->setZoomComboBoxText(str.toStdString()); } }
bool NodeAnim::isRangeDrawingEnabled() const { if (canContainOtherNodeContexts() || _imp->nodeType == eAnimatedItemTypeReader) { return true; } // Check if the lifetime nodes are set NodePtr node = getInternalNode(); if (!node) { return false; } int first,last; return node->isLifetimeActivated(&first, &last); }
void ViewerTab::keyPressEvent(QKeyEvent* e) { ViewerNodePtr internalNode = getInternalNode(); if (!internalNode || !internalNode->getNode()) { return; } //qDebug() << "ViewerTab::keyPressed:" << e->text() << "modifiers:" << e->modifiers(); Gui* gui = getGui(); if (gui) { gui->setActiveViewer(this); } bool accept = true; Qt::KeyboardModifiers modifiers = e->modifiers(); Qt::Key key = (Qt::Key)Gui::handleNativeKeys( e->key(), e->nativeScanCode(), e->nativeVirtualKey() ); double scale = 1. / ( 1 << _imp->viewer->getCurrentRenderScale() ); if ( e->isAutoRepeat() && notifyOverlaysKeyRepeat(RenderScale(scale), e) ) { update(); } else if ( notifyOverlaysKeyDown(RenderScale(scale), e) ) { update(); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerToInput1, modifiers, key) ) { connectToAInput(0); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerToInput2, modifiers, key) ) { connectToAInput(1); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerToInput3, modifiers, key) ) { connectToAInput(2); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerToInput4, modifiers, key) ) { connectToAInput(3); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerToInput5, modifiers, key) ) { connectToAInput(4); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerToInput6, modifiers, key) ) { connectToAInput(5); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerToInput7, modifiers, key) ) { connectToAInput(6); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerToInput8, modifiers, key) ) { connectToAInput(7); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerToInput9, modifiers, key) ) { connectToAInput(8); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerToInput10, modifiers, key) ) { connectToAInput(9); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerBToInput1, modifiers, key) ) { connectToBInput(0); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerBToInput2, modifiers, key) ) { connectToBInput(1); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerBToInput3, modifiers, key) ) { connectToBInput(2); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerBToInput4, modifiers, key) ) { connectToBInput(3); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerBToInput5, modifiers, key) ) { connectToBInput(4); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerBToInput6, modifiers, key) ) { connectToBInput(5); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerBToInput7, modifiers, key) ) { connectToBInput(6); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerBToInput8, modifiers, key) ) { connectToBInput(7); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerBToInput9, modifiers, key) ) { connectToBInput(8); } else if ( isKeybind(kShortcutGroupGlobal, kShortcutIDActionConnectViewerBToInput10, modifiers, key) ) { connectToBInput(9); } else if (key == Qt::Key_Escape) { _imp->viewer->s_selectionCleared(); update(); } else { accept = false; } if (accept) { takeClickFocus(); e->accept(); } else { handleUnCaughtKeyPressEvent(e); QWidget::keyPressEvent(e); } } // keyPressEvent