de.jaret.util.ui.console
Class ConsoleControl

java.lang.Object
  extended by org.eclipse.swt.widgets.Widget
      extended by org.eclipse.swt.widgets.Control
          extended by org.eclipse.swt.widgets.Scrollable
              extended by org.eclipse.swt.widgets.Composite
                  extended by de.jaret.util.ui.console.ConsoleControl
All Implemented Interfaces:
EventListener, org.eclipse.swt.custom.VerifyKeyListener, org.eclipse.swt.graphics.Drawable, org.eclipse.swt.internal.SWTEventListener

public class ConsoleControl
extends org.eclipse.swt.widgets.Composite
implements org.eclipse.swt.custom.VerifyKeyListener

Simple widget that acts like a shell window. Entered lines are reported to attched ConsoleListeners. A simple history allows reusing previously entered lines. Technically the widget wraps a StyledText.

Version:
$Id: ConsoleControl.java 242 2007-02-11 21:05:07Z olk $ ddd
Author:
Peter Kliem

Nested Class Summary
 class ConsoleControl.ConsoleOutStream
          An implemenation of an OutputStream writing to the console.
 
Field Summary
 
Fields inherited from class org.eclipse.swt.widgets.Control
handle
 
Constructor Summary
ConsoleControl(org.eclipse.swt.widgets.Composite parent, int style, String prompt, String message)
          Contructor
 
Method Summary
 void addConsoleListener(ConsoleListener listener)
          Add a ConsoleListener to be informed about entered lines.
protected  String fireLineEntered(String line)
          Inform all registered listeners about an entered line.
 PrintStream getPrintStream()
          Get a PrintStream that prints to the console.
 String getPrompt()
          Get the prompt
 void output(String text)
          Append the given text to the console output
 void remConsoleListener(ConsoleListener listener)
          Remove a ConsoleListener.
 void setPrompt(String prompt)
          Set the prompt to be used.
 void verifyKey(org.eclipse.swt.events.VerifyEvent verifyEvent)
           
 
Methods inherited from class org.eclipse.swt.widgets.Composite
changed, checkSubclass, computeSize, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList
 
Methods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getVerticalBar
 
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addFocusListener, addHelpListener, addKeyListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addPaintListener, addTraverseListener, computeSize, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getParent, getShell, getSize, getToolTipText, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, redraw, redraw, removeControlListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removePaintListener, removeTraverseListener, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setSize, setSize, setToolTipText, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, update
 
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, setData, setData, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ConsoleControl

public ConsoleControl(org.eclipse.swt.widgets.Composite parent,
                      int style,
                      String prompt,
                      String message)
Contructor

Parameters:
parent - parent composite
style - style
prompt - prompt to be displayed
message - startup message (null for no message)
Method Detail

setPrompt

public void setPrompt(String prompt)
Set the prompt to be used.

Parameters:
prompt - the new prompt

getPrompt

public String getPrompt()
Get the prompt

Returns:
currently set prompt

addConsoleListener

public void addConsoleListener(ConsoleListener listener)
Add a ConsoleListener to be informed about entered lines.

Parameters:
listener - listener to be added

remConsoleListener

public void remConsoleListener(ConsoleListener listener)
Remove a ConsoleListener.

Parameters:
listener - listener to be removed

fireLineEntered

protected String fireLineEntered(String line)
Inform all registered listeners about an entered line. The resulting Strings are concatenated to form the output of the listeners.

Parameters:
line - line entered
Returns:
concatenated results from the listeners or null/code> if no listener did respond with a String

verifyKey

public void verifyKey(org.eclipse.swt.events.VerifyEvent verifyEvent)
Specified by:
verifyKey in interface org.eclipse.swt.custom.VerifyKeyListener

output

public void output(String text)
Append the given text to the console output

Parameters:
text - text to be appended

getPrintStream

public PrintStream getPrintStream()
Get a PrintStream that prints to the console.

Returns:
a PrintStream printing to the console


Copyright © 2013. All Rights Reserved.