| 274 | } |
| 275 | |
| 276 | static |
| 277 | void |
| 278 | loadNodeGuiSerialization(Gui* gui, |
| 279 | const std::map<std::string, ViewerData > & viewersProjections, |
| 280 | const SettingsPtr& settings, |
| 281 | double leftBound, |
| 282 | double rightBound, |
| 283 | const NodeGuiSerialization& serialization) |
| 284 | { |
| 285 | const std::string & name = serialization.getFullySpecifiedName(); |
| 286 | NodePtr internalNode = gui->getApp()->getProject()->getNodeByFullySpecifiedName(name); |
| 287 | |
| 288 | if (!internalNode) { |
| 289 | return; |
| 290 | } |
| 291 | |
| 292 | NodeGuiIPtr nGui_i = internalNode->getNodeGui(); |
| 293 | assert(nGui_i); |
| 294 | NodeGuiPtr nGui = std::dynamic_pointer_cast<NodeGui>(nGui_i); |
| 295 | |
| 296 | nGui->refreshPosition( serialization.getX(), serialization.getY(), true ); |
| 297 | |
| 298 | if ( ( serialization.isPreviewEnabled() && !nGui->getNode()->isPreviewEnabled() ) || |
| 299 | ( !serialization.isPreviewEnabled() && nGui->getNode()->isPreviewEnabled() ) ) { |
| 300 | nGui->togglePreview(); |
| 301 | } |
| 302 | |
| 303 | EffectInstancePtr iseffect = nGui->getNode()->getEffectInstance(); |
| 304 | |
| 305 | if ( serialization.colorWasFound() ) { |
| 306 | std::list<std::string> grouping; |
| 307 | nGui->getNode()->getPluginGrouping(&grouping); |
| 308 | std::string majGroup = grouping.empty() ? "" : grouping.front(); |
| 309 | BackdropGui* isBd = dynamic_cast<BackdropGui*>( nGui.get() ); |
| 310 | float defR, defG, defB; |
| 311 | |
| 312 | if ( iseffect->isReader() ) { |
| 313 | settings->getReaderColor(&defR, &defG, &defB); |
| 314 | } else if ( iseffect->isWriter() ) { |
| 315 | settings->getWriterColor(&defR, &defG, &defB); |
| 316 | } else if ( iseffect->isGenerator() ) { |
| 317 | settings->getGeneratorColor(&defR, &defG, &defB); |
| 318 | } else if (majGroup == PLUGIN_GROUP_COLOR) { |
| 319 | settings->getColorGroupColor(&defR, &defG, &defB); |
| 320 | } else if (majGroup == PLUGIN_GROUP_FILTER) { |
| 321 | settings->getFilterGroupColor(&defR, &defG, &defB); |
| 322 | } else if (majGroup == PLUGIN_GROUP_CHANNEL) { |
| 323 | settings->getChannelGroupColor(&defR, &defG, &defB); |
| 324 | } else if (majGroup == PLUGIN_GROUP_KEYER) { |
| 325 | settings->getKeyerGroupColor(&defR, &defG, &defB); |
| 326 | } else if (majGroup == PLUGIN_GROUP_MERGE) { |
| 327 | settings->getMergeGroupColor(&defR, &defG, &defB); |
| 328 | } else if (majGroup == PLUGIN_GROUP_PAINT) { |
| 329 | settings->getDrawGroupColor(&defR, &defG, &defB); |
| 330 | } else if (majGroup == PLUGIN_GROUP_TIME) { |
| 331 | settings->getTimeGroupColor(&defR, &defG, &defB); |
| 332 | } else if (majGroup == PLUGIN_GROUP_TRANSFORM) { |
| 333 | settings->getTransformGroupColor(&defR, &defG, &defB); |
no test coverage detected