MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / getTrackInstancesForButton

Method getTrackInstancesForButton

Gui/MultiInstancePanel.cpp:2045–2076  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2043}
2044
2045bool
2046TrackerPanelPrivateV1::getTrackInstancesForButton(std::vector<KnobButton*>* trackButtons,
2047 const std::string& buttonName)
2048{
2049 std::list<Node*> selectedInstances;
2050
2051 publicInterface->getSelectedInstances(&selectedInstances);
2052 if ( selectedInstances.empty() ) {
2053 Dialogs::warningDialog( tr("Tracker").toStdString(), tr("You must select something to track first").toStdString() );
2054
2055 return false;
2056 }
2057
2058 KnobButton* prevBtn = dynamic_cast<KnobButton*>( publicInterface->getKnobByName(buttonName).get() );
2059 assert(prevBtn);
2060 if (prevBtn) {
2061 for (std::list<Node*>::const_iterator it = selectedInstances.begin(); it != selectedInstances.end(); ++it) {
2062 if ( !(*it)->getEffectInstance() ) {
2063 return false;
2064 }
2065 if ( (*it)->isNodeDisabled() ) {
2066 continue;
2067 }
2068 KnobIPtr k = (*it)->getKnobByName( prevBtn->getName() );
2069 KnobButton* bKnob = dynamic_cast<KnobButton*>( k.get() );
2070 assert(bKnob);
2071 trackButtons->push_back(bKnob);
2072 }
2073 }
2074
2075 return true;
2076}
2077
2078bool
2079TrackerPanelV1::trackBackward(ViewerInstance* /*viewer*/)

Callers 4

trackBackwardMethod · 0.80
trackForwardMethod · 0.80
trackPreviousMethod · 0.80
trackNextMethod · 0.80

Calls 11

getSelectedInstancesMethod · 0.80
emptyMethod · 0.80
toStdStringMethod · 0.80
getEffectInstanceMethod · 0.80
isNodeDisabledMethod · 0.80
getNameMethod · 0.80
getMethod · 0.45
getKnobByNameMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected