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
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
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
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
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
Same as saveFilenameDialog(filters,location)
but
the dialog will accept sequence of files.
- NatronGui.GuiApp.getRGBColorDialog()
- Return type
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
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
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.
- 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
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.