public static void main(String[] args) {
		Display display = new Display();
		Shell shell = new Shell(display);
		shell.setText("AST Explorer");
		shell.setLayout(new FillLayout());
					
		ASTExplorer astExplorer = new ASTExplorer(shell,SWT.NONE);
		final Point minimum = shell.computeSize(SWT.DEFAULT,SWT.DEFAULT,true);
		shell.addControlListener(new ControlAdapter() {
			public void controlResized(ControlEvent e) {
				Shell shell = (Shell)e.widget;
				Point size = shell.getSize();
				boolean change = false; 
				if (size.x < minimum.x) {
					size.x = minimum.x;
					change = true; 
				}	
				if (size.y < minimum.y) {
					size.y = minimum.y;
					change = true; 
				}				
				if (change) 
					shell.setSize(size);
			}
		});
		shell.open();
					
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch())
				display.sleep();
		}
		display.dispose();
	}