summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2015-07-23 18:59:56 +0200
committerSimon Rettberg2015-07-23 18:59:56 +0200
commitbbbfff6a44364c98286d768df1c652856e23a77c (patch)
tree2ac418d6f23cbfd6b212b1a1ab007d7c9557e58e
parent[client] Added ImagePerms for checking permissions, removed edit button from ... (diff)
downloadtutor-module-bbbfff6a44364c98286d768df1c652856e23a77c.tar.gz
tutor-module-bbbfff6a44364c98286d768df1c652856e23a77c.tar.xz
tutor-module-bbbfff6a44364c98286d768df1c652856e23a77c.zip
[client] Important feature
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/MainMenuWindow.java81
1 files changed, 79 insertions, 2 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/MainMenuWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/MainMenuWindow.java
index f36b85e2..0f3914f9 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/MainMenuWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/MainMenuWindow.java
@@ -1,10 +1,23 @@
package org.openslx.dozmod.gui.window;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.net.URL;
+
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.widgets.Button;
import org.eclipse.swt.widgets.Shell;
+import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.MainWindow;
import org.openslx.dozmod.gui.window.layout.MainMenuWindowLayout;
+import org.openslx.util.QuickTimer;
+import org.openslx.util.QuickTimer.Task;
+
+import com.google.gson.Gson;
public class MainMenuWindow extends MainMenuWindowLayout {
@@ -22,7 +35,8 @@ public class MainMenuWindow extends MainMenuWindowLayout {
lecturesButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- MainWindow.showPage(LectureListWindow.class); }
+ MainWindow.showPage(LectureListWindow.class);
+ }
});
}
@@ -31,9 +45,72 @@ public class MainMenuWindow extends MainMenuWindowLayout {
return true;
}
+ // Stuff start
+
+ private boolean once = false;
+
+ private class GMain {
+ private GResponse responseData;
+ }
+
+ private class GResponse {
+ private GResult[] results;
+ }
+
+ private class GResult {
+ private String tbUrl;
+ }
+
+ private int loadImageToControl(int start, GResult[] results, final Button control) {
+ if (start >= results.length)
+ start = results.length - 1;
+ while (start < results.length) {
+ try {
+ URL oracle = new URL(results[start].tbUrl);
+ final ImageData img = new ImageData(oracle.openStream());
+ Gui.asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ control.setImage(new Image(control.getDisplay(), img));
+ control.getParent().layout(true, true);
+ }
+ });
+ break;
+ } catch (Exception e) {
+ }
+ start++;
+ }
+ return start;
+ }
+
+ // Stuff end
+
@Override
public void show() {
- // (void)
+ // All stuff is stuff
+ if (once)
+ return;
+ once = true;
+ QuickTimer.scheduleOnce(new Task() {
+ String[] terms = new String[] { "lehrpool", "dnbd3", "lehrstuhl", "dozmod", "lehrpool-suite",
+ "java", "hund", "katze", "maus" };
+
+ @Override
+ public void fire() {
+ String term = terms[(int) Math.floor(Math.random() * terms.length)] + "+"
+ + terms[(int) Math.floor(Math.random() * terms.length)];
+ try {
+ URL oracle = new URL("http://ajax.googleapis.com/ajax/services/search/images?v=1.0&rsz=8&q=" + term);
+ Reader reader = new InputStreamReader(oracle.openStream());
+ Gson gson = new Gson();
+ GMain data = gson.fromJson(reader, GMain.class);
+ int used = loadImageToControl(0, data.responseData.results, lecturesButton);
+ loadImageToControl(used + 1, data.responseData.results, vmButton);
+ } catch (IOException e) {
+ return;
+ }
+ }
+ });
}
}