Class ScriptConsole
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Dialog
-
- javax.swing.JDialog
-
- ca.cgjennings.apps.arkham.ToolWindow
-
- ca.cgjennings.apps.arkham.plugins.ScriptConsole
-
- All Implemented Interfaces:
TrackedWindow
,IconProvider
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.RootPaneContainer
,javax.swing.WindowConstants
public class ScriptConsole extends ToolWindow implements TrackedWindow
A window that provides a console that can be written to. The console supports both an output stream and an error stream, each of which is displayed in its own style in the window. Plain text output sent to the console will also be sent to the standard output/standard error streams. In addition to supporting plain text, is possible to write null images, user interface components, and blocks of simple HTML code to the console.The console recognizes text patterns characteristic of the stack trace elements printed when an exception is thrown, and is capable of opening the associated source files.
Note: Instead of creating a new console window, use the shared console created by the scripting system.
- Author:
- Chris Jennings
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
ScriptConsole.ConsolePrintWriter
-
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
-
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
-
Fields inherited from class ca.cgjennings.apps.arkham.ToolWindow
WINDOW_LOCATION_BUG_WORKAROUND
-
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description ScriptConsole(java.awt.Frame parent)
Creates new output console window.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
clear()
void
flush()
Flush all pending console output.ConsoleErrorLocation
getErrorAtOffset(int pos)
Returns a description of the error at the line at offsetpos
in the script console's text, ornull
if that line is not a stack trace line.ConsoleErrorLocation
getErrorAtPoint(java.awt.geom.Point2D p)
Returns a description of the error at the offset into the console text under the specified point in the console window.ConsoleErrorLocation
getErrorAtPoint(java.awt.Point p)
Deprecated.java.io.OutputStream
getErrorStream()
Returns an output stream that can be used to write to the stderr stream of the console.ScriptConsole.ConsolePrintWriter
getErrorWriter()
Returns aPrintWriter
that can be used to write to the stderr stream of the console.java.lang.Object
getHistoryText()
Returns the current console text.javax.swing.Icon
getIcon()
java.io.OutputStream
getInfoStream()
Returns an output stream that can be used to write to the stdout "information" stream of the console.ScriptConsole.ConsolePrintWriter
getInfoWriter()
Returns aPrintWriter
that can be used to write to the stdout "information" stream of the console.java.io.OutputStream
getOutputStream()
Returns an output stream that can be used to write to the stdout stream of the console.java.io.OutputStream
getWarningStream()
Returns an output stream that can be used to write to the stderr "warning" stream of the console.ScriptConsole.ConsolePrintWriter
getWarningWriter()
Returns aPrintWriter
that can be used to write to the stderr "warning" stream of the console.ScriptConsole.ConsolePrintWriter
getWriter()
Returns aPrintWriter
that can be used to write to the stdout stream of the console.void
queue()
Request that writes to the stdout stream of this console be queued up until a subsequent call toflush()
.void
scrollToBottom()
Moves the scrollbar to the last line.void
scrollToTop()
Moves the scrollbar to the first line.void
setVisible(boolean visible)
Makes the tracked window visible or invisible.-
Methods inherited from class ca.cgjennings.apps.arkham.ToolWindow
addTitleButton, close, createTitleButton, getBody, getBodyPanel, removeTitleButton, setBody, setIcon, setResizable, setTitle, windowClosing
-
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
-
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setShape, setUndecorated, show, toBack
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface ca.cgjennings.apps.arkham.TrackedWindow
getTitle, requestFocusInWindow, toFront
-
-
-
-
Method Detail
-
setVisible
public void setVisible(boolean visible)
Description copied from interface:TrackedWindow
Makes the tracked window visible or invisible.- Specified by:
setVisible
in interfaceTrackedWindow
- Overrides:
setVisible
in classToolWindow
- Parameters:
visible
- whether the window should be made visible
-
getOutputStream
public java.io.OutputStream getOutputStream()
Returns an output stream that can be used to write to the stdout stream of the console. No translation is performed on the bytes written to this stream.- Returns:
- the console's output stream
-
getInfoStream
public java.io.OutputStream getInfoStream()
Returns an output stream that can be used to write to the stdout "information" stream of the console.- Returns:
- the console's output stream
-
getWarningStream
public java.io.OutputStream getWarningStream()
Returns an output stream that can be used to write to the stderr "warning" stream of the console.- Returns:
- the console's output stream
-
getErrorStream
public java.io.OutputStream getErrorStream()
Returns an output stream that can be used to write to the stderr stream of the console. No translation is performed on the bytes written to this stream.- Returns:
- the console's error stream
-
getWriter
public ScriptConsole.ConsolePrintWriter getWriter()
Returns aPrintWriter
that can be used to write to the stdout stream of the console.- Returns:
- a print writer for
getOutputStream()
-
getInfoWriter
public ScriptConsole.ConsolePrintWriter getInfoWriter()
Returns aPrintWriter
that can be used to write to the stdout "information" stream of the console.- Returns:
- a print writer for
getInfoStream()
-
getWarningWriter
public ScriptConsole.ConsolePrintWriter getWarningWriter()
Returns aPrintWriter
that can be used to write to the stderr "warning" stream of the console.- Returns:
- a print writer for
getWarningStream()
-
getErrorWriter
public ScriptConsole.ConsolePrintWriter getErrorWriter()
Returns aPrintWriter
that can be used to write to the stderr stream of the console.- Returns:
- a print writer for
getErrorStream()
-
flush
public void flush()
Flush all pending console output.
-
queue
public void queue()
Request that writes to the stdout stream of this console be queued up until a subsequent call toflush()
. It is not always possible to obey this request.
-
clear
public void clear()
-
getHistoryText
public java.lang.Object getHistoryText()
Returns the current console text.- Returns:
- the text of the console
-
scrollToTop
public void scrollToTop()
Moves the scrollbar to the first line.
-
scrollToBottom
public void scrollToBottom()
Moves the scrollbar to the last line.
-
getIcon
public javax.swing.Icon getIcon()
- Specified by:
getIcon
in interfaceIconProvider
- Overrides:
getIcon
in classToolWindow
-
getErrorAtPoint
@Deprecated public ConsoleErrorLocation getErrorAtPoint(java.awt.Point p)
Deprecated.Returns a description of the error at the offset into the console text under the specified point in the console window. Returnsnull
if the line at that point does not represent a valid stack trace entry.- Parameters:
p
- the point over the script console- Returns:
- a description of the stack trace element at that line, or
null
- See Also:
getErrorAtOffset(int)
-
getErrorAtPoint
public ConsoleErrorLocation getErrorAtPoint(java.awt.geom.Point2D p)
Returns a description of the error at the offset into the console text under the specified point in the console window. Returnsnull
if the line at that point does not represent a valid stack trace entry.- Parameters:
p
- the point over the script console- Returns:
- a description of the stack trace element at that line, or
null
- See Also:
getErrorAtOffset(int)
-
getErrorAtOffset
public ConsoleErrorLocation getErrorAtOffset(int pos)
Returns a description of the error at the line at offsetpos
in the script console's text, ornull
if that line is not a stack trace line. The script console does not remember which lines are produced from a script stack trace. Rather, it attempts to parse lines on demand to extract the needed information. Therefore it can be fooled by lines that closely mimic the format of script stack traces.If the line at the requested position cannot be parsed as a script stack trace, then the immediately following line will also be tried. This is a convenience in case the requested line is the line of the error message rather than a trace element.
- Parameters:
pos
- the offset into the console text- Returns:
- a description of the stack trace element at that line, or
null
-
-