MCPcopy Create free account
hub / github.com/MrKepzie/Natron / exportUserKnob

Function exportUserKnob

Engine/NodeGroup.cpp:1920–2292  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1918} // exportKnobValues
1919
1920static void
1921exportUserKnob(int indentLevel,
1922 const KnobPtr& knob,
1923 const QString& fullyQualifiedNodeName,
1924 KnobGroup* group,
1925 KnobPage* page,
1926 QTextStream& ts)
1927{
1928 KnobInt* isInt = dynamic_cast<KnobInt*>( knob.get() );
1929 KnobDouble* isDouble = dynamic_cast<KnobDouble*>( knob.get() );
1930 KnobBool* isBool = dynamic_cast<KnobBool*>( knob.get() );
1931 KnobChoice* isChoice = dynamic_cast<KnobChoice*>( knob.get() );
1932 KnobColor* isColor = dynamic_cast<KnobColor*>( knob.get() );
1933 KnobString* isStr = dynamic_cast<KnobString*>( knob.get() );
1934 KnobFile* isFile = dynamic_cast<KnobFile*>( knob.get() );
1935 KnobOutputFile* isOutFile = dynamic_cast<KnobOutputFile*>( knob.get() );
1936 KnobPath* isPath = dynamic_cast<KnobPath*>( knob.get() );
1937 KnobGroup* isGrp = dynamic_cast<KnobGroup*>( knob.get() );
1938 KnobButton* isButton = dynamic_cast<KnobButton*>( knob.get() );
1939 KnobSeparator* isSep = dynamic_cast<KnobSeparator*>( knob.get() );
1940 KnobParametric* isParametric = dynamic_cast<KnobParametric*>( knob.get() );
1941 boost::shared_ptr<KnobI > aliasedParam;
1942 {
1943 KnobI::ListenerDimsMap listeners;
1944 knob->getListeners(listeners);
1945 if ( !listeners.empty() ) {
1946 KnobPtr listener = listeners.begin()->first.lock();
1947 if ( listener && (listener->getAliasMaster() == knob) ) {
1948 aliasedParam = listener;
1949 }
1950 }
1951 }
1952
1953 if (isInt) {
1954 QString createToken;
1955 switch ( isInt->getDimension() ) {
1956 case 1:
1957 createToken = QString::fromUtf8(".createIntParam(");
1958 break;
1959 case 2:
1960 createToken = QString::fromUtf8(".createInt2DParam(");
1961 break;
1962 case 3:
1963 createToken = QString::fromUtf8(".createInt3DParam(");
1964 break;
1965 default:
1966 assert(false);
1967 createToken = QString::fromUtf8(".createIntParam(");
1968 break;
1969 }
1970 WRITE_INDENT(indentLevel); WRITE_STRING( QString::fromUtf8("param = ") + fullyQualifiedNodeName + createToken + ESC( isInt->getName() ) +
1971 QString::fromUtf8(", ") + ESC( isInt->getLabel() ) + QString::fromUtf8(")") );
1972
1973
1974 std::vector<int> defaultValues = isInt->getDefaultValues_mt_safe();
1975
1976
1977 assert( (int)defaultValues.size() == isInt->getDimension() );

Callers 1

exportAllNodeKnobsFunction · 0.85

Calls 15

exportKnobValuesFunction · 0.85
QStringClass · 0.85
getListenersMethod · 0.80
emptyMethod · 0.80
getAliasMasterMethod · 0.80
getNameMethod · 0.80
getEntries_mt_safeMethod · 0.80
getEntryMethod · 0.80
isLabelMethod · 0.80
isMultiLineMethod · 0.80
usesRichTextMethod · 0.80

Tested by

no test coverage detected