summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/DisclaimerWindowLayout.java
blob: e1d5cae35e25c9d788ef27ea559668d85efcb419 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package org.openslx.dozmod.gui.window.layout;

import java.awt.BorderLayout;
import java.awt.Frame;

import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.control.QLabel;
import org.openslx.dozmod.gui.helper.GridManager;


@SuppressWarnings("serial")
public abstract class DisclaimerWindowLayout extends JDialog {

	protected String notice = "Bitte lesen und bestätigen Sie folgende rechtliche Hinweise:";
	protected String disclaimer = "bwLehrpool-bwSuite (Dozentenmodul)\nCopyright © 2015 Universität Freiburg\n\n"
			+ "Die Verwendung dieses Programms ist nur in Abstimmung mit der jeweils beteiligten Hochschulinstitution zulässig und unterliegt deren Bestimmungen und Einschränkungen. Insbesondere wird darauf hingewiesen, dass im Rahmen des bwLehrpool-Systems Virtuelle Maschinen, die unfrei lizensierte Software enthalten, nur mit Erlaubnis bzw. Lizenzierung der betreffenden Rechteinhaber eingesetzt und weitergegeben werden dürfen.\n\n\n"
			+ "Lizenzierung des Programms\n\n"
			+ "Dieses Programm ist freie Software. Es kann unter den Bedingungen der GNU General Public License (GPL) Version 2 verändert und weitergegeben werden.  Der vollständige Text der GNU General Public Licence der Version 2 (GPL2) kann hier http://www.gnu.org/licenses/old-licenses/gpl-2.0.html eingesehen werden.\n\n"
			+ "Es wird, soweit gesetzlich zulässig, keinerlei Gewährleistung für dieses Programm, weder ausdrücklich noch implizit, geleistet. Der Urheberrechtsinhaber stellt das Programm „wie es ist“ zur Verfügung. Es werden einschließlich Marktreife oder Verwendbarkeit für einen bestimmten Zweck keinerlei Eigenschaften zugesichert."
			+ "Das volle Risiko bezüglich Qualität, Leistungsfähigkeit oder jeglicher allgemeiner oder spezieller Schäden, Schäden durch Nebenwirkungen oder Folgeschäden, die aus Benutzung oder Unbenutzbarkeit des Programms folgen (einschließlich Datenverlusten oder fehlerhafter Verarbeitung von Daten)liegt auf Seiten des Anwenders / der Anwenderin.\n\n";

	protected String checkboxText = "Ja, ich akzeptiere die Vereinbarung. Benachrichtigung nicht mehr anzeigen.";

	private static String title = "bwLehrpool-Suite";
	private static String noticeLabel = "Hinweis";
	private static String continueButtonLabel = "Weiter";

	// Buttons
	protected JCheckBox chkAgreeBox;
	protected JButton btnContinue;

	public DisclaimerWindowLayout(Frame modalParent) {
		super(modalParent, title, modalParent != null ? ModalityType.APPLICATION_MODAL : ModalityType.MODELESS);
		this.setLayout(new BorderLayout());

		// Panel used for creating border. We'll add everything into this.
		JPanel borderPanel = new JPanel();
		borderPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
		add(borderPanel);

		// information before the disclaimer
		QLabel noticePanel = new QLabel();
		noticePanel.setBorder(BorderFactory.createTitledBorder(noticeLabel));
		noticePanel.setText(notice);

		// the disclaimer text box with scrolling functionality
		JTextArea disclaimerText = new JTextArea(disclaimer, 30, 20);
		disclaimerText.setLineWrap(true);
		disclaimerText.setWrapStyleWord(true);
		JScrollPane disclaimerPanel = new JScrollPane(disclaimerText, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
				JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

		// checkbox for acknowledging the disclaimer
		JPanel buttonPanel = new JPanel();
		buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.LINE_AXIS));
		chkAgreeBox = new JCheckBox(checkboxText);
		buttonPanel.add(chkAgreeBox);
		// spacer
		buttonPanel.add(Box.createHorizontalGlue());
		// the continue button
		btnContinue = new JButton(continueButtonLabel);
		btnContinue.setEnabled(false);
		buttonPanel.add(btnContinue);

		// put everything together
		GridManager grid = new GridManager(borderPanel, 1);
		grid.add(noticePanel).fill(true, false).expand(true,false);
		grid.nextRow();

		grid.add(disclaimerPanel).fill(true, true).expand(true, true);
		grid.nextRow();

		grid.add(buttonPanel).fill(true, false).expand(true,false);
		grid.finish(false);

		pack();
		Gui.centerShellOverShell(modalParent, this);
	}
}