package com.codeaffine.example.rwt.osgi.configurationadmin.console;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Text;
class LineWriter {
final Text consoleWidget;
final Display display;
LineWriter( Text consoleWidget ) {
this.consoleWidget = consoleWidget;
this.display = consoleWidget.getDisplay();
}
void writeLine( final String line ) {
display.asyncExec( new Runnable() {
public void run() {
if( !consoleWidget.isDisposed() ) {
doWriteLine( line );
}
}
} );
}
void doWriteLine( final String line ) {
consoleWidget.append( "\r\n" + line );
consoleWidget.pack();
consoleWidget.setSelection( consoleWidget.getText().length() );
consoleWidget.getParent().layout( true, true );
}
}