summaryrefslogblamecommitdiffstats
path: root/dozentenmodul/src/main/java/gui/core/LoginComposite.java
blob: 38449b2faed4a069717a0d48b65996e913da05a2 (plain) (tree)














































































































































































                                                                                                           
package gui.core;
import gui.GuiManager;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;


public class LoginComposite extends Composite {

	private Image _titleImage;
	private Text _usernameText;
	private Text _passwordText;
	/**
	 * Create a new login composite
	 * @param mainShell The shell it should be added to

	 */
	public LoginComposite(final Shell mainShell) {
		super(mainShell, SWT.NO_BACKGROUND);
		mainShell.setText("Dozmod - Login");

		// Left authentication selection and right loginmask
		GridLayout gridLayout = new GridLayout(2, true);
		this.setLayout(gridLayout);

		//Load the needed Picture
		loadImage();

		Label titlePicture = new Label(this, SWT.NONE);
		titlePicture.setImage(_titleImage);
		GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
		gridData.horizontalSpan = 2;
		gridData.horizontalAlignment = SWT.CENTER;
		titlePicture.setLayoutData(gridData);

		// Group for the authentication method.
		Group authGroup = new Group(this, SWT.NONE);
		authGroup.setText("Authentifizierungsart");
		gridLayout = new GridLayout();
		gridLayout.numColumns = 1;
		authGroup.setLayout(gridLayout);
		gridData = new GridData(GridData.FILL, GridData.CENTER, false, false);
		gridData.heightHint = 150;
		authGroup.setLayoutData(gridData);

		// Add the radio buttons
		Button[] authButtons = new Button[3];

		authButtons[0] = new Button(authGroup, SWT.RADIO);
		authButtons[0].setSelection(true);
		authButtons[0].setText("Authentifizierung über bwIDM");

		authButtons[1] = new Button(authGroup, SWT.RADIO);
		authButtons[1].setText("Test-Zugang mit festem Benutzernamen");

		authButtons[2] = new Button(authGroup, SWT.RADIO);
		authButtons[2].setText("Direkte Verbindung zum Satteliten");


		// Group for the login mask
		final Group loginGroup = new Group(this, SWT.NONE);
		loginGroup.setText("Zugangsdaten");
		gridLayout = new GridLayout();
		gridLayout.numColumns = 2;
		loginGroup.setLayout(gridLayout);
		gridData = new GridData(GridData.FILL, GridData.CENTER, true, false);
		gridData.heightHint = 150;
		loginGroup.setLayoutData(gridData);


		final Label IdPText = new Label(loginGroup, SWT.NONE);
		IdPText.setText("IdP:");


		final Combo IdPCombo = new Combo(loginGroup, SWT.DROP_DOWN | SWT.READ_ONLY);


		IdPCombo.add("Ubuntu");
		IdPCombo.add("Fedora");
		IdPCombo.add("Mandriva");
		IdPCombo.add("Red Hat");
		IdPCombo.add("Mint");



		new Label(loginGroup, SWT.NONE).setText("Benutzername:");
		_usernameText = new Text(loginGroup, SWT.SINGLE | SWT.BORDER);
		_usernameText.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));

		new Label(loginGroup, SWT.NONE).setText("Passwort:");
		_passwordText = new Text(loginGroup, SWT.SINGLE | SWT.BORDER);
		_passwordText.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
		Button loginButton = new Button(loginGroup, SWT.PUSH);
		loginButton.setText("Login");
		Button saveUsernameCheck = new Button(loginGroup, SWT.CHECK);
		saveUsernameCheck.setText("Benutzername speichern");

		// Actions of the login button
		loginButton.addSelectionListener(new SelectionAdapter() {
			@Override
			public void widgetSelected(SelectionEvent e) {
				System.out.println("BAM!");
				//loginComposite.dispose();
				mainShell.setText("Login?");


			}
		});
		
		// For save username checkbox.
		saveUsernameCheck.addSelectionListener(new SelectionAdapter() {
			@Override
			public void widgetSelected(SelectionEvent e) {
				System.out.println("Checkboxtoggle");
			}
		});

		// Selecting the "Authentifizierung über bwIDM" radio button
				authButtons[0].addSelectionListener(new SelectionAdapter() {
					@Override
					public void widgetSelected(SelectionEvent e) {
						IdPText.setVisible(true);
						IdPCombo.setVisible(true);
					}
				});
				
		// Selecting the "Test-Zugang über bwIDM" radio button
		authButtons[1].addSelectionListener(new SelectionAdapter() {
			@Override
			public void widgetSelected(SelectionEvent e) {
				IdPText.setVisible(false);
				IdPCombo.setVisible(false);

			}
		});

		authButtons[2].setEnabled(false);
		// Selecting the "Direkte Verbindung zum Satteliten" radio button
				authButtons[2].addSelectionListener(new SelectionAdapter() {
					@Override
					public void widgetSelected(SelectionEvent e) {
						IdPText.setVisible(false);
						IdPCombo.setVisible(false);
					}
				});
	}
	
	

	private void loadImage(){
		try {
			_titleImage = new Image(GuiManager.getDisplay() , "resources/Logo_bwLehrpool.png");
			ImageData imgData = _titleImage.getImageData();
			imgData = imgData.scaledTo(imgData.width/5, imgData.height/5);
			_titleImage = new Image(GuiManager.getDisplay(), imgData);
		} catch (Exception e) {
			System.out.println("Cannot load image");
			System.out.println(e.getMessage());
		}
	}


}