Avail Workbench
AvailWorkbench is a simple user interface for the Avail builder.
Author
Mark van Gulik
Todd L Smith
Richard Arriaga
Parameters
The FileManager used to manage Avail files.
The module name resolver.
The GlobalEnvironmentSettings for the environment this AvailWorkbench is being launched in.
The actively running AvailProject.
The AvailWorkbench's frame's title.
The AvailProjectManager that launched this workbench or null if not launched from an AvailProjectManager.
Properties
The AvailBuilder used by this user interface.
The current background task.
The progress bar that displays the overall build progress.
Keep track of recent commands in a history buffer. Each submitted command is added to the end of the list. Cursor-up retrieves the most recent selected line, and subsequent cursors-up retrieve previous lines, back to the first entry, then an empty command line, then the last entry again and so on. An initial cursor-down selects the first entry and goes from there.
Which command was most recently retrieved by a cursor key since the last command was submitted. -1 indicates no command has been retrieved by a cursor key, or that the entire list has been cycled an integral number of times (and the command line was blanked upon reaching -1).
The documentation path for the Stacks generator.
The tree of module entry points.
The GlobalEnvironmentSettings for the environment this AvailWorkbench is being launched in.
The text field that accepts standard input.
The open debuggers.
The open editors.
The path to the project configuration directory.
Read the AvailProject from disk.
The directory which is the root of the project.
The name of the open project.
The refresh action.
The AvailRuntime for this workbench to use.
When false, roots marked as invisible are not shown. When true, they are shown with an indication that they have been marked invisible.
The stylesheet for rendition of all styled source reachable from this workbench.
The TemplateExpansionsManager view or null if not open.
The recognized textual templates available for interactive transformation, as a PrefixTree from template texts to expansion texts.
The associated workbench.
Determine whether the AvailWorkbench or any of its satellite windows are currently focused.
Functions
Backup the availProject file to "availProjectFilePath.backup".
Execute the provided AbstractBuildTask.
Re-parse the package structure from scratch. Invoke the provided closure with the module tree and entry points tree, but don't install them. This can safely be run outside the UI thread.
Clear the transcript.
Close the provided debugger.
Close the provided editor.
Answer the standard error stream.
Ensure the new build position information will eventually be presented to the display.
Progress has been made at loading a module. Ensure this is presented to the user in the near future.
Answer the AvailProjectRoot for the given AvailProjectRoot.name.
Answer the standard input stream.
The user has clicked on a token in the source in such a way that they are requesting navigation related to the method name containing that token. Begin an asynchronous action to locate all definitions of the name in all visible modules that have been compiled since their last change.
The user has clicked on a token in the source in such a way that they are requesting navigation to places that send that method. Begin an asynchronous action to locate all usages of the name in all visible modules that have been compiled since their last change.
Answer the standard output stream.
Re-populate the visible tree structures based on the provided tree of modules and tree of entry points. Attempt to preserve selection and expansion information.
Save the availProject to disk in availProjectFilePath.
Either places the given component inside a JScrollPane or answers the JScrollPane that it's already inside.
Answer the currently selected entry point, or null if none.
Answer the resolved name of the module selected in the entryPointsTree, or the module defining the entry point that's selected, or null if none.
Answer the LocalSettings for the ModuleRoot of the currently selected module.
Answer the qualified name of the currently selected module.
Answer the ModuleRoot that is currently selected, otherwise null.
Enable or disable controls and menu items based on the current state.
Write text to the transcript with the given StreamStyle.