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

Function loadNodeGuiSerialization

Gui/ProjectGui.cpp:276–432  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

274}
275
276static
277void
278loadNodeGuiSerialization(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);

Callers 1

xml_iarchive>Method · 0.85

Calls 15

getProjectMethod · 0.80
togglePreviewMethod · 0.80
getEffectInstanceMethod · 0.80
emptyMethod · 0.80
getReaderColorMethod · 0.80
getWriterColorMethod · 0.80
getGeneratorColorMethod · 0.80
getColorGroupColorMethod · 0.80
getFilterGroupColorMethod · 0.80
getChannelGroupColorMethod · 0.80
getKeyerGroupColorMethod · 0.80
getMergeGroupColorMethod · 0.80

Tested by

no test coverage detected