GuiApp¶
Inherits App
Synopsis¶
This class is used for GUI application instances. See detailed description…
Functions¶
- def
createModalDialog
() - def
getFilenameDialog
(filters[, location=None]) - def
getSequenceDialog
(filters[, location=None]) - def
getDirectoryDialog
([location=None]) - def
getRGBColorDialog
() - def
getTabWidget
(scriptName) - def
getSelectedNodes
([group=None]) - def
getViewer
(scriptName) - def
getUserPanel
(scriptName) - def
moveTab
(tabScriptName,pane) - def
saveFilenameDialog
(filters[, location=None]) - def
saveSequenceDialog
(filters[, location=None]) - def
selectNode
(node,clearPreviousSelection) - def
deselectNode
(node) - def
setSelection
(nodes) - def
selectAllNodes
([group=None]) - def
copySelectedNodes
([group=None]) - def
pasteNodes
([group=None]) - def
clearSelection
([group=None]) - def
registerPythonPanel
(panel,pythonFunction) - def
unregisterPythonPanel
(panel) - def
renderBlocking
(effect,firstFrame,lastFrame,frameStep) - def
renderBlocking
(tasks)
Detailed Description¶
See App for the documentation of base functionalities of this class.
To create a new modal dialog , use the
createModalDialog()
function.
Several functions are made available to pop dialogs to ask the user for filename(s) or colors.
See getFilenameDialog(filters,location)
and
getRGBColorDialog()
.
To create a new custom python panel, there are several ways to do it:
Once created, you can register the panel in the project so that it gets saved into the layout
by calling registerPythonPanel(panel,pythonFunction)
Member functions description¶
-
NatronGui.GuiApp.
createModalDialog
()¶ Return type: PyModalDialog
Creates a modal dialog : the control will not be returned to the user until the dialog is not closed.
Once the dialog is created, you can enrich it with parameters or even
raw PySide Qt widgets.
To show the dialog call the function exec()
on the dialog.
-
NatronGui.GuiApp.
getFilenameDialog
(filters[, location=None])¶ Parameters: - filters –
sequence
- location –
str
Return type: str
- filters –
Opens-up a file dialog to ask the user for a single filename which already exists.
filters is a list of file extensions that should be displayed in the file dialog.
location is the initial location the dialog should display, unless it is empty in which case the dialog will display the last location that was opened previously by a dialog.
-
NatronGui.GuiApp.
getSequenceDialog
(filters[, location=None])¶ Parameters: - filters –
sequence
- location –
str
Return type: str
- filters –
Same as getFilenameDialog(filters,location)
but
the dialog will accept sequence of files.
-
NatronGui.GuiApp.
getDirectoryDialog
([location=None])¶ Parameters: location – str
Return type: str
Same as getFilenameDialog(filters,location)
but
the dialog will only accept directories as a result.
-
NatronGui.GuiApp.
saveFilenameDialog
(filters[, location=None])¶ Parameters: - filters –
sequence
- location –
str
Return type: str
- filters –
Opens-up a file dialog to ask the user for a single filename. If the file already exists, the user will be warned about potential overriding of the file.
filters is a list of file extensions that should be displayed in the file dialog.
location is the initial location the dialog should display, unless it is empty in which case the dialog will display the last location that was opened previously by a dialog.
-
NatronGui.GuiApp.
saveSequenceDialog
(filters[, location=None])¶ Parameters: - filters –
sequence
- location –
str
Return type: str
- filters –
Same as saveFilenameDialog(filters,location)
but
the dialog will accept sequence of files.
-
NatronGui.GuiApp.
getRGBColorDialog
()¶ Return type: ColorTuple
Opens-up a color dialog to ask the user for an RGB color.
-
NatronGui.GuiApp.
getTabWidget
(scriptName)¶ Parameters: scriptName – str
Return type: PyTabWidget
Returns the tab-widget with the given scriptName. The scriptName of a tab-widget can be found in the user interface when hovering with the mouse the “Manage layout” button (in the top left-hand corner of the pane)
-
NatronGui.GuiApp.
moveTab
(tabScriptName, pane)¶ Parameters: - tabScriptName –
str
- pane –
PyTabWidget
Return type: bool
- tabScriptName –
Attempts to move the tab with the given tabScriptName into the given pane and make it current in the pane. This function returns True upon success or False otherwise.
Warning
Moving tabs that are not registered to
the application via registerPythonPanel(panel,pythonFunction)
will not work.
-
NatronGui.GuiApp.
registerPythonPanel
(panel, pythonFunction)¶ Parameters: - panel –
PyPanel
- scriptName –
str
- panel –
Registers the given panel into the project. When registered, the panel will be saved into the layout for the current project and a new entry in the “Panes” sub-menu of the “Manage layouts” button (in the top left-hand corner of each tab widget) will appear for this panel. pythonFunction is the name of a python-defined function that takes no argument that should be used to re-create the panel.
-
NatronGui.GuiApp.
unregisterPythonPanel
(panel)¶ Parameters: panel – PyPanel
Unregisters a previously registered panel.
-
NatronGui.GuiApp.
getSelectedNodes
([group = None])¶ Return type: sequence
Returns a sequence of nodes currently selected in the given group. You can pass the app object to get the top-level NodeGraph. If passing None, the last user-selected NodeGraph will be used:
topLevelSelection = app.getSelectedNodes()
group = app.createNode("fr.inria.built-in.Group")
groupSelection = app.getSelectedNodes(group)
-
NatronGui.GuiApp.
getViewer
(scriptName)¶ Parameters: scriptName – str
Returns the viewer with the given scriptName if one can be found.
-
NatronGui.GuiApp.
getUserPanel
(scriptName)¶ Parameters: scriptName – str
Returns a user panel matching the given scriptName if there is any.
-
NatronGui.GuiApp.
selectNode
(node, clearPreviousSelection)¶ Parameters: - node –
Effect
- clearPreviousSelection –
bool
Select the given node in its containing nodegraph. If clearPreviousSelection is set to True, all the current selection will be wiped prior to selecting the node; otherwise the node will just be added to the selection.
- node –
-
NatronGui.GuiApp.
deselectNode
(node)¶ Parameters: node – Effect
Deselect the given node in its containing nodegraph. If the node is not selected, this function does nothing.
-
NatronGui.GuiApp.
setSelection
(nodes)¶ Parameters: nodes – sequence
Set all the given nodes selected in the nodegraph containing them and wipe any current selection.
Note
All nodes must be part of the same nodegraph (group), otherwise this function will fail.
-
NatronGui.GuiApp.
selectAllNodes
([group=None])¶ Parameters: group – Group
Select all nodes in the given group. You can pass the app object to get the top-level NodeGraph. If passing None, the last user-selected NodeGraph will be used.
-
NatronGui.GuiApp.
copySelectedNodes
([group=None])¶ Parameters: group – Group
Copy all nodes in the given group. You can pass the app object to get the top-level NodeGraph. If passing None, the last user-selected NodeGraph will be used.
-
NatronGui.GuiApp.
pasteNodes
([group=None])¶ Parameters: group – Group
Paste copied nodes in the given group. You can pass the app object to get the top-level NodeGraph. If passing None, the last user-selected NodeGraph will be used.
-
NatronGui.GuiApp.
clearSelection
([group=None])¶ Wipe any current selection in the given group. You can pass the app object to get the top-level NodeGraph. If passing None, the last user-selected NodeGraph will be used.
-
NatronGui.GuiApp.
renderBlocking
(effect, firstFrame, lastFrame, frameStep)¶ Parameters: - effect –
Effect
- firstFrame –
int
- lastFrame –
int
- frameStep –
int
- effect –
Starts rendering the given effect on the frame-range defined by [firstFrame,*lastFrame*]. The frameStep parameter indicates how many frames the timeline should step after rendering each frame. The value must be greater or equal to 1. The frameStep parameter is optional and if not given will default to the value of the Frame Increment parameter in the Write node.
For instance:
render(effect,1,10,2)
Would render the frames 1,3,5,7,9
This is a blocking function. A blocking render means that this function returns only when the render finishes (from failure or success).
This function should only be used to render with a Write node or DiskCache node.
-
NatronGui.GuiApp.
renderBlocking
(tasks) Parameters: tasks – sequence
This function takes a sequence of tuples of the form (effect,firstFrame,lastFrame[,frameStep]) The frameStep is optional in the tuple and if not set will default to the value of the Frame Increment parameter in the Write node.
This is an overloaded function. Same as render(effect,firstFrame,lastFrame,frameStep)
but all tasks will be rendered concurrently.
This function is called when rendering a script in background mode with multiple writers.
This is a blocking call.