blob: ca9dc670680ca2174eb93c493156852c9b89bd4d (
plain) (
tree)
|
|
package org.openslx.dozmod.gui.window;
import java.awt.Button;
import java.awt.Image;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
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 {
public MainMenuWindow() {
super();
// function for vmButton
vmButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
MainWindow.showPage(ImageListWindow.class);
}
});
// function for lecturesButton
lecturesButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
MainWindow.showPage(LectureListWindow.class);
}
});
}
@Override
public boolean requestHide() {
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 requestShow() {
// 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;
}
}
});
}
}
|