ScriptUI tools
Members
-
static defaultColumnAlignment :Array.<String>
-
The default alignment of children of containers with "column" orientation
- Default Value:
- ["fill","top"]
-
static defaultMargins :int
-
The default margins of containers
- Default Value:
- 2
-
static defaultRowAlignment :Array.<String>
-
The default alignment of children of containers with "row" orientation
- Default Value:
- ["left","center"]
-
static defaultSpacing :int
-
The default spacing of containers
- Default Value:
- 2
-
static defaultStackAlignment :Array.<String>
-
The default alignment of children of containers with "stack" orientation
- Default Value:
- ["fill","top"]
-
static helpPanel
-
The panel where the help is displayed
-
static uiStrings
-
Stores all strings used by the UI.
This can be very useful to work with a translation framework.
Methods
-
static addBugButton(container, showLabelopt) → {DuButton}
-
Creates a button opening the bug report url.
Parameters:
Name Type Attributes Default Description container
Panel | Window | Group The ScriptUI Object which will contain and display the button. showLabel
bool <optional>
false When true, the button includes a "Bug Report" label. Returns:
DuButton - The bug button created. -
static addButton(container, textopt, imageopt, helpTipopt, imageOveropt, addOptionsPanelopt, optionsButtonUnderopt, imageDisabledopt, localizeopt) → {DuButton}
-
Creates a button with an optionnal icon. Must have at least an icon or a text, or both.
Parameters:
Name Type Attributes Default Description container
Panel | Window | Group The ScriptUI Object which will contain and display the button. text
string <optional>
The label of the button. Default: empty string image
string <optional>
The path to the icon. Default: empty string helpTip
string <optional>
The helptip. Default: empty string imageOver
string <optional>
image The path to an icon displayed when the mouse is over the button. addOptionsPanel
bool <optional>
false Adds a panel for options and a button to access it. optionsButtonUnder
bool <optional>
When true, the options button appears under the button instead of next to it. imageDisabled
string <optional>
image The path to an icon displayed when the button is disabled. localize
boolean <optional>
true Set to false if the text must not be translated. Returns:
DuButton - The image button created. -
static addCheckBox(container, text, image, helpTip, imageChecked, imageOver, textCheckedopt) → {DuCheckBox}
-
Creates a checkbox with an optionnal icon. Must have at least an icon or a text, or both.
Parameters:
Name Type Attributes Description container
Panel | Window | Group The ScriptUI Object which will contain and display the button. text
string The label of the button. Default: empty string image
string The path to the icon. Default: empty string helpTip
string The helptip. Default: empty string imageChecked
string The path to an icon displayed when the button is checked. Default: empty string imageOver
string The path to an icon displayed when the mouse is over the button. Default: same as imageChecked textChecked
string <optional>
The label of the button displayed when it is checked. Returns:
DuCheckBox - The image checkbox created. -
static addCompSelector(container) → {CompSelector}
-
Creates a drop down selector for compositions
Parameters:
Name Type Description container
Window | Panel | Group The ScriptUI Object which will contain and display the selector. Returns:
CompSelector - - The selector -
static addEditText(container, text, prefixopt, suffixopt, placeHolderopt, helpTipopt, translatableopt) → {DuEditText}
-
Creates a nice edittext where the edit text is shown only on click.
Parameters:
Name Type Attributes Default Description container
Window | Panel | Group The ScriptUI Object which will contain and display the nice edit text. text
string The initial text in the edit. prefix
string <optional>
"" A text prefix to display. suffix
string <optional>
"" A text suffix to display. placeHolder
string <optional>
"" A place holder default text. helpTip
string <optional>
"" The helpTip of this control translatable
bool <optional>
true Wether to translate the texts of this control Returns:
DuEditText - The custom Group containing the edit text. -
static addEvent(func, timeOutopt) → {int}
-
Adds a function to be run periodically, which will be connected to several UI events, fired when the user interacts with the UI.
Parameters:
Name Type Attributes Default Description func
function The function to connect to the UI timeOut
int <optional>
3000 A timeOut in milliseconds which prevents the function to be run too often Returns:
int - a unique identifier to be used to remove the function later, withDuAEF.DuScriptUI.removeEvent
. -
static addFeatureRequestButton(container, showLabelopt) → {DuButton}
-
Creates a button opening the feature request url.
Parameters:
Name Type Attributes Default Description container
Panel | Window | Group The ScriptUI Object which will contain and display the button. showLabel
bool <optional>
false When true, the button includes a "Feature Request" label. Returns:
DuButton - The feature request button created. -
static addFolderSelector(container, textopt, textFieldopt, helpTipopt) → {TabPanel}
-
Creates a folder selector with a field for the path and a browse button
Parameters:
Name Type Attributes Default Description container
Window | Panel | Group The ScriptUI Object which will contain and display the panel. text
string <optional>
"Browse..." The text to display on the button. textField
boolean <optional>
true Wether to show the text field for the path. helpTip
string <optional>
'' The helptip for this control. Returns:
TabPanel - The panel. -
static addForm(container) → {Form}
-
Creates a layout to add forms to a UI, using ScriptUI groups.
You can easily add controls/fields to this form using DuAEF.DuScriptUI.addFieldParameters:
Name Type Description container
Window | Panel | Group The ScriptUI Object which will contain and display the form. Returns:
Form - The custom Group containing the form. -
static addGroup(container, orientationopt) → {Group}
-
Adds a group in a container, using DuAEF.DuScriptUI default alignments, and DuAEF.DuScriptUI.defaultSpacing. Margins are set to 0.
Parameters:
Name Type Attributes Description container
Panel | Window | Group Where to create the group orientation
string <optional>
The orientation to use. One of "column", "row" or "stack". By default, "column" if added in a row, "row" if added in a column. Returns:
Group - The group created -
static addHelpButton(container, showLabelopt, opensPanelopt) → {DuButton}
-
Creates a button opening the help panel.
Parameters:
Name Type Attributes Default Description container
Panel | Window | Group The ScriptUI Object which will contain and display the button. showLabel
bool <optional>
false When true, the button includes a "Help" label. opensPanel
bool <optional>
false The help button opens a help panel instead of the link to the documentation Returns:
DuButton - The help button created. -
static addLayerPicker(container) → {LayerPicker}
-
Creates a two-columns group to allow the user to pick layers
Parameters:
Name Type Description container
Window | Panel | Group The ScriptUI Object which will contain and display the selector. Returns:
LayerPicker - The picker. -
static addLayerSelector(container) → {Selector}
-
Creates a drop down selector for layers
Parameters:
Name Type Description container
Window | Panel | Group The ScriptUI Object which will contain and display the selector. Returns:
Selector - - The selector -
static addRSSPanel(container, updateIntervalopt, rssUrlopt, titleColoropt, rssArgsopt, rssUserAgentVersionopt, rssPortopt) → {TabPanel}
-
Creates a panel which displays RSS feed.
DuRSS uses a cache system and gets the content online only if more time than a given interval has passed, otherwise it gets the contents from cache.Parameters:
Name Type Attributes Default Description container
Window | Panel | Group The ScriptUI Object which will contain and display the panel. updateInterval
int <optional>
3600 The minimum interval between two updates of the feed (in seconds). rssUrl
string <optional>
The url of the RSS server. titleColor
string <optional>
The color for the title of articles. rssArgs
string <optional>
'feed' The subdirectory/arguments to append to the url (without a leading '/') rssUserAgentVersion
string <optional>
'DUAEF/0.0.0' Your script version name and number to be used as a user agent to connect to the server rssPort
int <optional>
80 The server port. Returns:
TabPanel - The panel. -
static addSelector(container, addRefreshButtonopt) → {Selector}
-
Creates a drop down selector, using image buttons
Parameters:
Name Type Attributes Default Description container
Window | Panel | Group The ScriptUI Object which will contain and display the selector. addRefreshButton
bool <optional>
false When true, the selector includes a refresh button. Add your function to refresh it with the onRefresh callback. Returns:
Selector - - The selector -
static addSeparator(container, nameopt, checkableopt, drawLineopt) → {Separator}
-
Adds separator with an optionnal name in the group
Parameters:
Name Type Attributes Default Description container
Panel | Window | Group Where to create the separator name
string <optional>
The name displayed checkable
boolean <optional>
false When true, adds a checkbox to the separator drawLine
boolean <optional>
true Draws a line when there is no name. When false, the separator is an empty space Returns:
Separator - The separator -
static addSimpleCheckBox(container, textopt, helpTipopt, coloropt) → {SimpleCheckBox}
-
Creates a checkbox which can be colored, and changes color on hover
Parameters:
Name Type Attributes Default Description container
Panel | Window | Group The ScriptUI Object which will contain and display the button. text
string <optional>
The label of the button. helpTip
string <optional>
The helptip. color
color <optional>
DuAEF.DuJS.Color.Colors.LIGHT_GREY The color of the text Returns:
SimpleCheckBox - The image checkbox created. -
static addSlider(container, defaultValueopt, minopt, maxopt, orientationopt, invertedAppearanceopt, prefixopt, suffixopt, textAlignmentopt, valueButtonsopt) → {DuSlider}
-
Creates a nice edittext where the edit text is shown only on click.
Parameters:
Name Type Attributes Default Description container
Window | Panel | Group The ScriptUI Object which will contain and display the nice edit text. defaultValue
int <optional>
0 The initial value. min
int <optional>
0 The minimal value. max
int <optional>
100 The maximal value. orientation
string <optional>
'column' Either 'row' or 'column' invertedAppearance
boolean <optional>
Revert the slider with max value on the left prefix
string <optional>
A text prefix to display. suffix
string <optional>
A text suffix to display. textAlignment
string <optional>
'center' The alignment of the text.
One of 'left', 'center', 'right' for column orientation,
And 'top', 'center', 'bottom' for row orientation.valueButtons
Array.<int> <optional>
[] A list of predefined values to add as buttons. Returns:
DuSlider - The custom Group containing the slider.- To Do:
-
- implement helpTip
-
static addSmallButton(container, text, helpTipopt, valueopt) → {DuButton}
-
Creates a small button.
Parameters:
Name Type Attributes Description container
Panel | Window | Group The ScriptUI Object which will contain and display the button. text
string The label of the button. Default: empty string helpTip
string <optional>
The helptip. Default: empty string value
any <optional>
A user value stored in the button, which is passed to the onClick method Returns:
DuButton - The image button created. -
static addStaticText(container, text, coloropt, translatableopt, multilineopt) → {StaticText}
-
Creates a statictext (with an optionnal color).
Parameters:
Name Type Attributes Default Description container
Window | Panel | Group The ScriptUI Object which will contain and display the nice edit text. text
string The initial text in the edit. color
Array.<int> <optional>
The color of the text. translatable
bool <optional>
true Set this to false to never translate this text. multiline
bool <optional>
Set this to true to add a multiline text. Returns:
StaticText - The ScriptUI StaticText created. -
static addTabPanel(container, showTitleopt) → {DuTabPanel}
-
Creates a panel with tabs
Parameters:
Name Type Attributes Default Description container
Window | Panel | Group The ScriptUI Object which will contain and display the panel. showTitle
boolean <optional>
true Wether to show the titles of the tabs or not. Returns:
DuTabPanel - The panel. -
static addVersionButton(container, imageopt, imageOveropt) → {DuVersionButton}
-
Creates a button displaying the version of the script and redirecting to the about url.
Parameters:
Name Type Attributes Default Description container
Panel | Window | Group The ScriptUI Object which will contain and display the button. image
string <optional>
DuAEF.scriptIcon The path to the icon. Default: empty string imageOver
string <optional>
=DuAEF.scriptIconOver The path to an icon displayed when the mouse is over the button. Returns:
DuVersionButton - The version button created. -
static adjustColor(color) → {Array.<float>}
-
Adjust the color according to the brightness setting of After Effects
Parameters:
Name Type Description color
Array.<float> The color [R,V,B,A] Array Returns:
Array.<float> - - The new color [R,V,B,A] Array -
static askFilesAndNetworkAccess(ui, callback, scriptNameopt, reInitopt, reInitMethod)
-
Displays an invitation to enable file and network access.
Use this method before loading any scripts which needs this authorization.Parameters:
Name Type Attributes Default Description ui
Panel | Window A container to display the UI. callback
function The function to execute when the user has granted access to file and network.
This function should be the one which loads the script.scriptName
string <optional>
DuAEF.scriptName The name of the script, used in the UI. reInit
boolean <optional>
false Set to true to display to prompt to reinit/reinstall the script below the button to ask for file access. reInitMethod
function A function to run to reinit/reinstall the script as soon as we get file access, before running the callback -
static buildAllTabs()
-
Builds all the tabs from all the tab panels
-
static createLayerPickerDialog(title) → {LayerPickerDialog}
-
Creates a dialog with a LayerPicker
UseDuAEF.DuScriptUI.showUI
to show it after creation.Parameters:
Name Type Description title
string The title of the dialog. Returns:
LayerPickerDialog - The dialog window. -
static createMainPanel(container, addSettingsButtonopt, addHelpButtonopt, helpButtonOpensPanelopt, addSanityTestButtonopt, scriptFileopt) → {DuMainPanel}
-
Creates the main panel of a script
Parameters:
Name Type Attributes Default Description container
Panel | null The container ('this' in the root of the calling script), either a Panel (when launched from the 'Window' menu) or null (when launched from 'file/scripts/run...') addSettingsButton
bool <optional>
true Wether to create a button to open the settings or not addHelpButton
bool <optional>
false Wether to create a button to open the help panel or not helpButtonOpensPanel
bool <optional>
false The help button opens a help panel instead of the link to the documentation addSanityTestButton
bool <optional>
false The sanity test button monitors the project sanity, and opens a panel to check what may be wrong scriptFile
File <optional>
The main script file, needed for the refresh button in debug mode Returns:
DuMainPanel - The panel created, either a ScriptUI Panel or a ScriptUI Window.Example
var ui = DuAEF.DuScriptUI.createUI(this,"Test Script"); var refreshButton = ui.contents.add('button',undefined,"Refresh"); refreshButton.onClick = function() { ui.refreshUI( new File($.fileName) ); }; //reloads the current script DuAEF.DuScriptUI.showUI(ui);
-
static createPopup(title, alignmentopt, modalopt) → {DuPopup}
-
Creates a borderless popup
Parameters:
Name Type Attributes Default Description title
string The title of the popup alignment
Array.<string> <optional>
DuAEF.DuScriptUI.defaultColumnAlignment The alignement of this window modal
boolean <optional>
false Set the popup to a modal dialog Returns:
DuPopup - The popup, a ScriptUI Window which is borderless, with a 'tieTo(control)' method.Example
var popup = DuAEF.DuScriptUI.createPopup( ); var popupButton = DuAEF.DuScriptUI.addButton( myUI, "My Buttton for the popup" ); popup.tieTo( popupButton ); // will show the popup when the button is clicked, just above it.
-
static createUI(container, scriptName, contentAlignmentopt, borderlessopt) → {DuPanel}
-
Creates the main panel of a script
Parameters:
Name Type Attributes Default Description container
Panel | null The container ('this' in the root of the calling script), either a Panel (when launched from the 'Window' menu) or null (when launched from 'file/scripts/run...') scriptName
string A name for this UI contentAlignment
Array.<string> <optional>
DuAEF.DuScriptUI.defaultColumnAlignment The alignment of the contents in the panel borderless
string <optional>
false When true, creates a borderless window if container is not a panel Returns:
DuPanel - The panel created, either a ScriptUI Panel or a ScriptUI Window.Example
var ui = DuAEF.DuScriptUI.createUI(this,"Test Script"); var refreshButton = ui.contents.add('button',undefined,"Refresh"); refreshButton.onClick = function() { ui.refreshUI( new File($.fileName) ); }; //reloads the current script DuAEF.DuScriptUI.showUI(ui);
-
static getClosestScreen(location) → {Object}
-
Gets the corners of the screen the closest (or containing) the location
Parameters:
Name Type Description location
Array.<int> The coordinates Returns:
Object - The screen object with a top, left, right and bottom property. -
static layout(item)
-
Resets the layout of the whole ui containing a scriptUI item.
Parameters:
Name Type Description item
ScriptUI The ScriptUI element which needs to be resized -
static moveInsideScreen(location, size) → {Array.<int>}
-
Moves the coordinates so that the size completely fits inside an existing screen
Parameters:
Name Type Description location
Array.<int> The coordinates [top, left] size
Dimension The rectangle size, an object which has two properties: width and height Returns:
Array.<int> - the new location -
static removeEvent(id)
-
Removes a function previously added with
DuAEF.DuScriptUI.addEvent
.Parameters:
Name Type Description id
int The id of the function -
static setBackgroundColor(uiItem, color, adjustedopt)
-
Changes the color of the background of a ScriptUI Object
Parameters:
Name Type Attributes Default Description uiItem
ScriptUI The ScriptUI Object color
Array The new color [R,V,B,A] Array adjusted
bool <optional>
true lightens the color if the brightness setting of Ae is not set on the darkest one -
static setTextColor(text, color, adjustedopt, fauxBoldopt)
-
Changes the color of the text of a ScriptUI Object
Parameters:
Name Type Attributes Default Description text
ScriptUI The ScriptUI Object color
Array.<float> The new color [R,V,B,A] Array adjusted
bool <optional>
true lightens the color if the brightness setting of Ae is not set on the darkest one fauxBold
bool <optional>
false -
static showAbout()
-
Shows the about popup
-
static showHelp()
-
Shows the help popup
-
static showNews()
-
Shows the news popup
-
static showUI(ui, enterRunTimeopt)
-
Resizes and shows the main panel of a script
Parameters:
Name Type Attributes Default Description ui
Panel | Window The UI created by Duik.ui.createUI enterRunTime
boolean <optional>
false Set to true to automatically set DuAEF to runtime state
Set this to false if the ui shown is not the actual main panel of the script and it is shown before the main panel has been loaded. -
static updateHelpPopup(title, text, link)
-
Updates the helpPopup with new information
Parameters:
Name Type Description title
string A title. text
string The help text. link
string The http link to a webpage