| 1918 | } // exportKnobValues |
| 1919 | |
| 1920 | static void |
| 1921 | exportUserKnob(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() ); |
no test coverage detected