package application;

import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.internal.DPIUtil;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

import javafx.embed.swt.FXCanvas;

public class MainSWT {

	public static void main(String[] args) {
		Display d = new Display();
		System.err.println("DPI: " + d.getDPI());
		System.err.println("Device-Zoom: " + DPIUtil.getDeviceZoom());

		Shell s = new Shell(d);
		String property = System.getProperty("swt.autoScale");
		boolean autoScale = property == null || Boolean.parseBoolean(property);
		s.setText("FX in SWT - " + System.getProperty("java.version") + " -Dswt.autoScale=" + autoScale);
		s.setLayout(new GridLayout());

		FXCanvas c = new FXCanvas(s, SWT.NONE);
		c.setScene(Main.createScene());
		c.setLayoutData(new GridData(GridData.FILL_BOTH));

		Button b = new Button(s, SWT.PUSH);
		b.setText("Hello World!");

		CTabFolder folder = new CTabFolder(s, SWT.BORDER);
		CTabItem i = new CTabItem(folder, SWT.CLOSE);
		i.setText("Close");

		s.open();

		while (!s.isDisposed()) {
			if (!d.readAndDispatch()) {
				d.sleep();
			}
		}

		d.dispose();
	}

}
