package org.intrace.client.gui;
import java.io.IOException;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.intrace.client.gui.helper.Connection.ConnectState;
import org.intrace.client.gui.helper.InTraceUI;
import org.intrace.client.gui.helper.InTraceUI.IConnectionStateCallback;
import org.intrace.client.gui.helper.InTraceUI.UIMode;
public class InTraceStandaloneUI
{
/**
* @param args
*/
public static void main(String[] args) throws IOException
{
// Prepare window
Display.setAppName("InTrace");
final Shell window = new Shell();
window.setSize(new Point(800, 800));
window.setMinimumSize(new Point(800, 480));
// Load icons
Display display = window.getDisplay();
Image[] icons = InTraceUI.getIcons(display);
window.setImages(icons);
// Fill in UI
InTraceUI ui = new InTraceUI(window, window, UIMode.STANDALONE, null, null);
// Register title callback
ui.setConnCallback(new IConnectionStateCallback()
{
@Override
public void setConnectionState(final ConnectState state)
{
if (!window.isDisposed())
{
window.getDisplay().syncExec(new Runnable()
{
@Override
public void run()
{
window.setText("InTrace UI: " + state.str);
}
});
}
}
});
// Open UI
ui.open();
}
}