package com.vuze.tests.swt;
import org.eclipse.swt.SWT;
import org.eclipse.swt.browser.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.*;
public class testTreeBrowser
{
public static void main(String[] args) {
Display display = new Display();
System.out.println(SWT.getVersion());
Shell shell = new Shell(display, SWT.SHELL_TRIM);
shell.setLayout(new FillLayout(SWT.HORIZONTAL));
Tree tree = new Tree(shell, SWT.BORDER);
tree.addListener(SWT.PaintItem, new Listener() {
public void handleEvent(Event event) {
}
});
TreeItem item1 = new TreeItem(tree, SWT.NONE);
item1.setText("Google");
item1.setData(
"url",
"http://google.com/about");
// "http://client.vuze.com:80/xsearch/index.php?subscription=5UNUJ6QJE522MYOZ&azid=P3WFILH5KAAKGEUXXTKV33SCJYRMZPPW&azv=4.3.0.5_CVS&locale=&os.name=Mac OS X");
TreeItem item2 = new TreeItem(tree, SWT.NONE);
item2.setText("Yahoo");
item2.setData(
"url",
"http://yahoo.com/about.html");
// "http://client.vuze.com:80/xsearch/index.php?subscription=SWZUYGQ7ICJR2CLS&azid=P3WFILH5KAAKGEUXXTKV33SCJYRMZPPW&azv=4.3.0.5_CVS&locale=&os.name=Mac OS X");
final Composite c = new Composite(shell, SWT.NONE);
c.setLayout(new FillLayout());
tree.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
String url = (String) e.item.getData("url");
Control[] children = c.getChildren();
for (Control control : children) {
control.dispose();
}
final Browser browser = new Browser(c, SWT.NONE);
final BrowserFunction browserFunction = new BrowserFunction(browser,
"sendMessageToAZ") {
public Object function(Object[] args) {
return null;
}
};
browser.addProgressListener(new ProgressListener() {
public void completed(ProgressEvent event) {
}
public void changed(ProgressEvent event) {
}
});
browser.addLocationListener(new LocationListener() {
public void changing(LocationEvent event) {
System.out.println("changing " + event.location);
}
public void changed(LocationEvent event) {
System.out.println("changed " + event.location);
}
});
c.layout(true);
browser.setUrl(url);
browser.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
browserFunction.dispose();
}
});
}
public void widgetDefaultSelected(SelectionEvent e) {
}
});
shell.open();
while (!shell.isDisposed())
if (!display.readAndDispatch())
display.sleep();
}
}