package other;

import gui.MainShell;
import org.eclipse.swt.widgets.Display;
 
/**
 * Main Klasse
 * Diese Klasse beinhaltet die main-Methode, welche
 * die MainShell erzeugt und die Ereignisschleife startet
 */
public class Main {

	// Attribute
	private static MainShell mainShell;
	private static Display display;
  
	/**
	 * Programmstart. Öffnet das Hauptfenster.
	 * Initialisiert alle periphären Elemente
	 */ 
	public static void main(String[] args) {
		// Hauptfenster erzeugen
		createMainShell();
		// Ereignisschleife starten
		shellEventLoop();
	}
	
	/**
	 * Erstellt das Hauptfenster und öffnet es
	 */
	public static void createMainShell(){
		// Display erzeugen
		display = new Display();
		// Hauptfenster erzeugen und öffnen
		mainShell = new MainShell();
		mainShell.getShell().open();
		mainShell.connectionNotification();
	}
	
	/**
	 * Enthält die Ereignisschleife des Hauptfensters
	 */
	public static void shellEventLoop(){
		while(!mainShell.getShell().isDisposed())
			if(!display.readAndDispatch())
				display.sleep();
		display.dispose();
	}
	
}
