diff options
| author | Simon Rettberg | 2015-07-23 18:59:56 +0200 |
|---|---|---|
| committer | Simon Rettberg | 2015-07-23 18:59:56 +0200 |
| commit | bbbfff6a44364c98286d768df1c652856e23a77c (patch) | |
| tree | 2ac418d6f23cbfd6b212b1a1ab007d7c9557e58e | |
| parent | [client] Added ImagePerms for checking permissions, removed edit button from ... (diff) | |
| download | tutor-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.java | 81 |
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; + } + } + }); } } |
