summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java')
-rw-r--r--dozentenmodul/src/main/java/App.java36
-rw-r--r--dozentenmodul/src/main/java/gui/GuiManager.java27
-rw-r--r--dozentenmodul/src/main/java/gui/core/DisclaimerComposite.java104
-rw-r--r--dozentenmodul/src/main/java/gui/core/LoginComposite.java69
-rw-r--r--dozentenmodul/src/main/java/gui/core/MainWindowComposite.java79
-rw-r--r--dozentenmodul/src/main/java/gui/core/VMWareInfoComposite.java94
6 files changed, 356 insertions, 53 deletions
diff --git a/dozentenmodul/src/main/java/App.java b/dozentenmodul/src/main/java/App.java
index 96c9c335..541400e1 100644
--- a/dozentenmodul/src/main/java/App.java
+++ b/dozentenmodul/src/main/java/App.java
@@ -51,7 +51,7 @@ public class App {
BasicConfigurator.configure();
return;
}
-
+
final FileAppender ffa = fa;
final Pattern re = Pattern.compile("authorization:(\\w|\\+|/|\\s)+", Pattern.CASE_INSENSITIVE
| Pattern.MULTILINE);
@@ -110,23 +110,23 @@ public class App {
LOGGER.error("IOException when trying to initialise the proxy, see trace: ", e);
}
-// // Set up thrift error message displaying
-// ThriftManager.setErrorCallback(new ErrorCallback() {
-//
-// @Override
-// public void thriftError(Throwable t, String message) {
-// EventQueue.invokeLater(new Runnable() {
-//
-// @Override
-// public void run() {
-// JOptionPane.showMessageDialog(null, "Die Kommunikation mit dem Server ist fehlgeschlagen.\n"
-// + "Bitte stellen Sie sicher, dass Sie mit dem Internet verbunden sind.\n"
-// + "Sofern das Problem weiterhin besteht, liegt möglicherweise eine serverseitige\n"
-// + "Störung vor.", "Fehler", JOptionPane.ERROR_MESSAGE);
-// }
-// });
-// }
-// });
+ // // Set up thrift error message displaying
+ // ThriftManager.setErrorCallback(new ErrorCallback() {
+ //
+ // @Override
+ // public void thriftError(Throwable t, String message) {
+ // EventQueue.invokeLater(new Runnable() {
+ //
+ // @Override
+ // public void run() {
+ // JOptionPane.showMessageDialog(null, "Die Kommunikation mit dem Server ist fehlgeschlagen.\n"
+ // + "Bitte stellen Sie sicher, dass Sie mit dem Internet verbunden sind.\n"
+ // + "Sofern das Problem weiterhin besteht, liegt möglicherweise eine serverseitige\n"
+ // + "Störung vor.", "Fehler", JOptionPane.ERROR_MESSAGE);
+ // }
+ // });
+ // }
+ // });
// start the GUI
GuiManager.initGui();
diff --git a/dozentenmodul/src/main/java/gui/GuiManager.java b/dozentenmodul/src/main/java/gui/GuiManager.java
index d3904238..a802cb0b 100644
--- a/dozentenmodul/src/main/java/gui/GuiManager.java
+++ b/dozentenmodul/src/main/java/gui/GuiManager.java
@@ -3,11 +3,14 @@ package gui;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
+import org.eclipse.swt.widgets.Monitor;
import org.eclipse.swt.widgets.Shell;
public abstract class GuiManager {
@@ -24,6 +27,13 @@ public abstract class GuiManager {
removeContent();
GuiManager.contentComposite = contentComposite;
+
+ // sets the starting preferred size.
+ GridData gridData = new GridData(GridData.FILL, GridData.FILL, true, true);
+ gridData.widthHint = 800;
+ gridData.heightHint = 600;
+ contentComposite.setLayoutData(gridData);
+
mainShell.layout();
}
@@ -36,14 +46,13 @@ public abstract class GuiManager {
GuiManager.contentComposite.dispose();
}
- System.out.println(mainShell.toString());
}
public static Display getDisplay(){
return display;
}
-
+
public static void initGui() {
display = new Display();
mainShell = new Shell(display, SWT.SHELL_TRIM | SWT.CENTER);
@@ -67,11 +76,21 @@ public abstract class GuiManager {
mainShell.setText("Dozmod");
mainShell.setMenuBar(menuBar);
- mainShell.setLayout(new FillLayout());
+ mainShell.setLayout(new GridLayout(1, true));
addContent(new gui.core.LoginComposite(mainShell));
+ // center the window on the primary monitor
+ Monitor primary = display.getPrimaryMonitor();
+ Rectangle bounds = primary.getBounds();
+ Rectangle rect = mainShell.getBounds();
+
+ int x = bounds.x + (bounds.width - rect.width) / 2;
+ int y = bounds.y + (bounds.height - rect.height) / 2;
+
+ mainShell.setLocation(x, y);
+
mainShell.pack();
mainShell.open();
diff --git a/dozentenmodul/src/main/java/gui/core/DisclaimerComposite.java b/dozentenmodul/src/main/java/gui/core/DisclaimerComposite.java
new file mode 100644
index 00000000..8bccef1d
--- /dev/null
+++ b/dozentenmodul/src/main/java/gui/core/DisclaimerComposite.java
@@ -0,0 +1,104 @@
+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.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+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 DisclaimerComposite extends Composite {
+ String _notice = "Bitte lesen und bestätigen Sie folgende rechtliche Hinweise";
+ String _disclaimer = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \n\n"
+ + "Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. \n\n"
+ + "Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.\n\n"
+ + "Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.\n\n"
+ + "Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis.\n\n"
+ + "At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.\n\n"
+ + "Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus.\n\n"
+ + "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.\n\n"
+ + "Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.\n\n"
+ + "Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.\n\n"
+ + "Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo";
+
+ String _checkboxText = "Ja, ich aktzeptiere die Vereinbarung. Benachrichtigung nicht mehr anzeigen.";
+
+ public DisclaimerComposite(final Shell mainShell) {
+ super(mainShell, SWT.NO_BACKGROUND);
+
+
+ mainShell.setText("bwLehrpool Suite");
+
+ this.setLayout(new GridLayout(1, true));
+
+
+
+ Group noticeGroup = new Group(this, SWT.NONE);
+
+ noticeGroup.setLayout(new GridLayout());
+ GridData gridData = new GridData(GridData.FILL, GridData.CENTER, true, false);
+
+ noticeGroup.setLayoutData(gridData);
+
+ noticeGroup.setText("Hinweis");
+
+
+ Label noticeLabel = new Label(noticeGroup, SWT.NONE);
+ noticeLabel.setText(_notice);
+
+
+
+ Text disclaimerText = new Text(this, SWT.READ_ONLY | SWT.WRAP| SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
+ gridData = new GridData(GridData.FILL, GridData.FILL, true, true);
+ gridData.widthHint = 900;
+ gridData.heightHint = 600;
+ disclaimerText.setLayoutData(gridData);
+ disclaimerText.setText(_disclaimer);
+
+
+ Composite _checkboxComposite = new Composite(this, SWT.BORDER);
+
+ _checkboxComposite.setLayout(new GridLayout());
+ gridData = new GridData(GridData.FILL, GridData.CENTER, true, false);
+
+ _checkboxComposite.setLayoutData(gridData);
+
+ Button agreeBox = new Button(_checkboxComposite, SWT.CHECK);
+ agreeBox.setText(_checkboxText);
+
+ final Button continueButton = new Button(this, SWT.PUSH);
+ continueButton.setText("Weiter");
+ continueButton.setEnabled(false);
+
+ gridData = new GridData(GridData.FILL, GridData.CENTER, true, false);
+ gridData.horizontalAlignment = SWT.RIGHT;
+ continueButton.setLayoutData(gridData);
+
+
+ // function for agreement checkbox
+ agreeBox.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ continueButton.setEnabled(!continueButton.isEnabled());
+ }
+ });
+
+ // function for continue button
+ continueButton.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ GuiManager.addContent(new VMWareInfoComposite(mainShell));
+ }
+ });
+
+ }
+
+}
diff --git a/dozentenmodul/src/main/java/gui/core/LoginComposite.java b/dozentenmodul/src/main/java/gui/core/LoginComposite.java
index 38449b2f..65da634d 100644
--- a/dozentenmodul/src/main/java/gui/core/LoginComposite.java
+++ b/dozentenmodul/src/main/java/gui/core/LoginComposite.java
@@ -1,4 +1,5 @@
package gui.core;
+
import gui.GuiManager;
import org.eclipse.swt.SWT;
@@ -31,11 +32,11 @@ public class LoginComposite extends Composite {
super(mainShell, SWT.NO_BACKGROUND);
mainShell.setText("Dozmod - Login");
- // Left authentication selection and right loginmask
+ // left authentication selection and right loginmask
GridLayout gridLayout = new GridLayout(2, true);
this.setLayout(gridLayout);
- //Load the needed Picture
+ // load the needed Picture
loadImage();
Label titlePicture = new Label(this, SWT.NONE);
@@ -45,31 +46,37 @@ public class LoginComposite extends Composite {
gridData.horizontalAlignment = SWT.CENTER;
titlePicture.setLayoutData(gridData);
- // Group for the authentication method.
+ // 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 = new GridData(GridData.FILL, GridData.FILL, false, false);
gridData.heightHint = 150;
authGroup.setLayoutData(gridData);
- // Add the radio buttons
+ // 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");
+ gridData = new GridData(GridData.FILL, GridData.FILL, true, true);
+ authButtons[0].setLayoutData(gridData);
authButtons[1] = new Button(authGroup, SWT.RADIO);
authButtons[1].setText("Test-Zugang mit festem Benutzernamen");
+ gridData = new GridData(GridData.FILL, GridData.FILL, true, true);
+ authButtons[1].setLayoutData(gridData);
authButtons[2] = new Button(authGroup, SWT.RADIO);
authButtons[2].setText("Direkte Verbindung zum Satteliten");
+ gridData = new GridData(GridData.FILL, GridData.FILL, true, true);
+ authButtons[2].setLayoutData(gridData);
- // Group for the login mask
+ // group for the login mask
final Group loginGroup = new Group(this, SWT.NONE);
loginGroup.setText("Zugangsdaten");
gridLayout = new GridLayout();
@@ -85,6 +92,7 @@ public class LoginComposite extends Composite {
final Combo IdPCombo = new Combo(loginGroup, SWT.DROP_DOWN | SWT.READ_ONLY);
+ IdPCombo.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
IdPCombo.add("Ubuntu");
@@ -107,19 +115,18 @@ public class LoginComposite extends Composite {
Button saveUsernameCheck = new Button(loginGroup, SWT.CHECK);
saveUsernameCheck.setText("Benutzername speichern");
- // Actions of the login button
+ // actions of the login button
loginButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
System.out.println("BAM!");
- //loginComposite.dispose();
- mainShell.setText("Login?");
+ GuiManager.addContent(new DisclaimerComposite(mainShell));
}
});
-
- // For save username checkbox.
+
+ // for save username checkbox.
saveUsernameCheck.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
@@ -127,16 +134,16 @@ public class LoginComposite extends Composite {
}
});
- // 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
+ // 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) {
@@ -147,17 +154,17 @@ public class LoginComposite extends Composite {
});
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);
- }
- });
+ // 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 {
diff --git a/dozentenmodul/src/main/java/gui/core/MainWindowComposite.java b/dozentenmodul/src/main/java/gui/core/MainWindowComposite.java
new file mode 100644
index 00000000..50b8107c
--- /dev/null
+++ b/dozentenmodul/src/main/java/gui/core/MainWindowComposite.java
@@ -0,0 +1,79 @@
+package gui.core;
+
+
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+
+
+public class MainWindowComposite extends Composite {
+ String _vmInfo = "Infotext VMs.";
+ String _lecturesInfo = "Infotext Veranstaltungen.";
+
+ public MainWindowComposite(final Shell mainShell) {
+ super(mainShell, SWT.NO_BACKGROUND);
+
+ this.setLayout(new GridLayout(2, true));
+
+ Group vmGroup = new Group(this, SWT.NONE);
+ vmGroup.setLayout(new GridLayout());
+ vmGroup.setText("VMs");
+ GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
+ vmGroup.setLayoutData(gridData);
+
+ Button vmButton = new Button(vmGroup, SWT.PUSH);
+ vmButton.setText("VM - Übersicht");
+ gridData = new GridData(SWT.CENTER, SWT.CENTER, true, true);
+ vmButton.setLayoutData(gridData);
+
+ Label vmInfo = new Label(vmGroup, SWT.NONE);
+ vmInfo.setText(_vmInfo);
+ gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
+ vmInfo.setLayoutData(gridData);
+
+
+ Group lecturesGroup = new Group(this, SWT.NONE);
+ lecturesGroup.setLayout(new GridLayout());
+ lecturesGroup.setText("Veranstaltungen");
+ gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
+ lecturesGroup.setLayoutData(gridData);
+
+
+
+ Button lecturesButton = new Button(lecturesGroup, SWT.PUSH);
+ lecturesButton.setText("Veranstanstaltungen");
+ gridData = new GridData(SWT.CENTER, SWT.CENTER, true, true);
+ lecturesButton.setLayoutData(gridData);
+
+ Label lecturesInfo = new Label(lecturesGroup, SWT.NONE);
+ lecturesInfo.setText(_lecturesInfo);
+ gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
+ lecturesInfo.setLayoutData(gridData);
+
+
+ // function for vmButton
+ vmButton.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ System.out.println("VM-Button clicked!");
+ }
+ });
+
+ // function for lecturesButton
+ lecturesButton.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ System.out.println("lecturesButton clicked!");
+ }
+ });
+
+ }
+}
diff --git a/dozentenmodul/src/main/java/gui/core/VMWareInfoComposite.java b/dozentenmodul/src/main/java/gui/core/VMWareInfoComposite.java
new file mode 100644
index 00000000..aec2c970
--- /dev/null
+++ b/dozentenmodul/src/main/java/gui/core/VMWareInfoComposite.java
@@ -0,0 +1,94 @@
+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.Font;
+import org.eclipse.swt.graphics.FontData;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+
+
+public class VMWareInfoComposite extends Composite {
+ String _title = "Hinweis VMWare Player";
+ String _infoText = "Für die Arbeit mit der bwLehrpool Suite wird zwingend ein VMWare Player benötigt. "
+ + "Diesen können Sie sich unter folgendem Link kostenfrei downloaden. "
+ + "Wenn Sie bereits den VMWare Player oder die VMWare Workstation installiert haben, können Sie diesen Hinweis ignorieren.";
+
+ String _checkboxText = "Ja, ich aktzeptiere die Vereinbarung. Benachrichtigung nicht mehr anzeigen.";
+
+ public VMWareInfoComposite(final Shell mainShell) {
+ super(mainShell, SWT.NO_BACKGROUND);
+
+ // Set the title of the bar.
+ mainShell.setText("bwLehrpool Suite");
+
+ // Layout for this composite
+ this.setLayout(new GridLayout(1, false));
+
+ // Bold title at start.
+ Label titleLabel = new Label(this, SWT.NONE);
+ titleLabel.setText(_title);
+ FontData fontData = titleLabel.getFont().getFontData()[0];
+ Font font = new Font(GuiManager.getDisplay(), new FontData(fontData.getName(), fontData
+ .getHeight(), SWT.BOLD));
+ titleLabel.setFont(font);
+ // TODO Dispose of font?
+
+ // Infotext
+ Label infoLabel = new Label(this, SWT.NONE | SWT.WRAP);
+ infoLabel.setText(_infoText);
+ GridData gridData = new GridData(GridData.FILL, GridData.BEGINNING, true, false);
+ infoLabel.setLayoutData(gridData);
+
+
+ Composite windowsComposite = new Composite(this, SWT.NONE);
+ windowsComposite.setLayout(new GridLayout());
+ gridData = new GridData(GridData.FILL, GridData.BEGINNING, true, false);
+ windowsComposite.setLayoutData(gridData);
+
+ new Label(windowsComposite, SWT.NONE).setText("Windows:");
+ Button windowsDLButton = new Button(windowsComposite, SWT.PUSH);
+ windowsDLButton.setText("VMWare Player Herunterladen");
+
+
+
+ Composite linuxComposite = new Composite(this, SWT.NONE);
+ linuxComposite.setLayout(new GridLayout());
+ gridData = new GridData(GridData.FILL, GridData.BEGINNING, true, false);
+ linuxComposite.setLayoutData(gridData);
+
+ new Label(windowsComposite, SWT.NONE).setText("Linux:");
+ Button linuxDLButton = new Button(windowsComposite, SWT.PUSH);
+ linuxDLButton.setText("VMWare Player Herunterladen");
+
+
+
+ Button readCheck = new Button(this, SWT.CHECK);
+ readCheck.setText("Diese Benachrichtigung nicht mehr anzeigen.");
+ gridData = new GridData(GridData.BEGINNING, GridData.END, false, false);
+ readCheck.setLayoutData(gridData);
+
+ Button continuteButton = new Button(this, SWT.PUSH);
+ continuteButton.setText("Weiter");
+ gridData = new GridData(GridData.BEGINNING, GridData.END, false, false);
+ continuteButton.setLayoutData(gridData);
+
+ // TODO finish
+
+ // Function for agreement checkbox
+ continuteButton.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ GuiManager.addContent(new MainWindowComposite(mainShell));
+ }
+ });
+ }
+
+} \ No newline at end of file