Changeset 845


Ignore:
Timestamp:
09/21/12 11:05:24 (12 years ago)
Author:
sherbold
Message:
  • beautification of SWT GUI
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/quest-ui-swt/src/main/java/de/ugoe/cs/quest/ui/swt/SWTConsole.java

    r828 r845  
    11package de.ugoe.cs.quest.ui.swt; 
    22 
     3import java.io.ByteArrayOutputStream; 
     4import java.io.PrintStream; 
     5import java.io.UnsupportedEncodingException; 
    36import java.util.logging.Level; 
    47 
     
    69import org.eclipse.swt.custom.StyleRange; 
    710import org.eclipse.swt.custom.StyledText; 
     11import org.eclipse.swt.widgets.MessageBox; 
    812 
    913import de.ugoe.cs.util.StringTools; 
     
    1115import de.ugoe.cs.util.console.listener.ICommandListener; 
    1216import de.ugoe.cs.util.console.listener.IErrorListener; 
     17import de.ugoe.cs.util.console.listener.IExceptionListener; 
    1318import de.ugoe.cs.util.console.listener.IOutputListener; 
    1419import de.ugoe.cs.util.console.listener.ITraceListener; 
    1520 
    1621public class SWTConsole implements IOutputListener, IErrorListener, ITraceListener, 
    17     ICommandListener 
     22    ICommandListener, IExceptionListener 
    1823{ 
    1924 
     
    2732        Console.getInstance().registerTraceListener(this); 
    2833        Console.getInstance().registerCommandListener(this); 
     34        Console.getInstance().registerExceptionListener(this); 
    2935        this.output = styledText; 
    3036        this.traceLevel = traceLevel; 
     
    6571        output.setStyleRange(styleRange); 
    6672    } 
     73 
     74    @Override 
     75    public void logException(Exception e) { 
     76        MessageBox messageBox = new MessageBox(output.getShell(), SWT.ERROR); 
     77        messageBox.setText("Error"); 
     78        messageBox.setMessage(e.getMessage()); 
     79        messageBox.open(); 
     80         
     81        ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
     82        PrintStream ps = new PrintStream(baos); 
     83        e.printStackTrace(ps);         
     84        String stackTrace = null; 
     85        try { 
     86            stackTrace = baos.toString("UTF-8"); 
     87        } 
     88        catch (UnsupportedEncodingException e1) { 
     89        } 
     90        if( stackTrace!=null ) { 
     91            appendColored(stackTrace, SWT.COLOR_RED); 
     92        } else { 
     93            appendColored(e.getMessage(), SWT.COLOR_RED); 
     94        } 
     95         
     96    } 
    6797} 
Note: See TracChangeset for help on using the changeset viewer.