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

Method createViewerPreviewNode

Gui/SequenceFileDialog.cpp:2875–2922  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2873}
2874
2875void
2876SequenceFileDialog::createViewerPreviewNode()
2877{
2878 CreateNodeArgs args( PLUGINID_NATRON_VIEWER, NodeCollectionPtr() );
2879 args.setProperty<std::string>(kCreateNodeArgsPropNodeInitialName, NATRON_FILE_DIALOG_PREVIEW_VIEWER_NAME);
2880 args.setProperty<bool>(kCreateNodeArgsPropOutOfProject, true);
2881
2882 _preview->viewerNodeInternal = _gui->getApp()->createNode(args);
2883 assert(_preview->viewerNodeInternal);
2884 NodeGuiIPtr viewerNodeGui = _preview->viewerNodeInternal->getNodeGui();
2885 _preview->viewerNode = std::dynamic_pointer_cast<NodeGui>(viewerNodeGui);
2886 assert(_preview->viewerNode);
2887 _preview->viewerNode->hideGui();
2888
2889 ViewerInstance* viewerInstance = _preview->viewerNodeInternal->isEffectViewer();
2890 assert(viewerInstance);
2891 if (!viewerInstance) {
2892 // coverity[dead_error_line]
2893 return;
2894 }
2895 ViewerGL* viewerGL = dynamic_cast<ViewerGL*>( viewerInstance->getUiContext() );
2896 assert(viewerGL);
2897 if (!viewerGL) {
2898 // coverity[dead_error_line]
2899 return;
2900 }
2901 _preview->viewerUI = viewerGL->getViewerTab();
2902 assert(_preview->viewerUI);
2903 if (!_preview->viewerUI) {
2904 return;
2905 }
2906 _preview->viewerUI->setAsFileDialogViewer();
2907
2908 ///Set a custom timeline so that it is not in synced with the rest of the viewers of the app
2909 TimeLinePtr newTimeline( new TimeLine(NULL) );
2910 _preview->viewerUI->setCustomTimeline(newTimeline);
2911 _preview->viewerUI->setClipToProject(false);
2912 _preview->viewerUI->setLeftToolbarVisible(false);
2913 _preview->viewerUI->setRightToolbarVisible(false);
2914 _preview->viewerUI->setTopToolbarVisible(false);
2915 _preview->viewerUI->setInfobarVisible(false);
2916 _preview->viewerUI->setPlayerVisible(false);
2917 TabWidget* parent = dynamic_cast<TabWidget*>( _preview->viewerUI->parentWidget() );
2918 if (parent) {
2919 parent->removeTab(_preview->viewerUI, true);
2920 }
2921 _preview->viewerUI->setParent(NULL);
2922}
2923
2924NodePtr
2925SequenceFileDialog::findOrCreatePreviewReader(const std::string& filetype)

Callers

nothing calls this directly

Calls 15

hideGuiMethod · 0.80
getUiContextMethod · 0.80
getViewerTabMethod · 0.80
setAsFileDialogViewerMethod · 0.80
setCustomTimelineMethod · 0.80
setClipToProjectMethod · 0.80
setLeftToolbarVisibleMethod · 0.80
setTopToolbarVisibleMethod · 0.80
setInfobarVisibleMethod · 0.80
setPlayerVisibleMethod · 0.80
createNodeMethod · 0.45

Tested by

no test coverage detected