1 package test;
2
3 import java.io.IOException;
4 import java.io.InputStream;
5 import java.util.Iterator;
6 import java.util.List;
7
8 import net.sourceforge.jsh3modtool.gui.imagetable.ImageModel;
9 import net.sourceforge.jsh3modtool.gui.imagetable.ImagePane;
10 import net.sourceforge.jsh3modtool.mod.GameMod;
11 import net.sourceforge.jsh3modtool.mod.ModScreenShot;
12
13 /***
14 * @author redsolo
15 */
16 public class ModScreenshotsPanel extends ImagePane
17 {
18 private GameMod gameMod;
19
20 /***
21 *
22 */
23 public ModScreenshotsPanel() {
24 super(300, (int) (300*0.75));
25 getModel().setCellComparator(null);
26 }
27
28 public void setGameMod(GameMod gamemod)
29 {
30 gameMod = gamemod;
31 updateScreenShots();
32 }
33
34 public GameMod getGameMod()
35 {
36 return gameMod;
37 }
38
39 private void updateScreenShots()
40 {
41 if (gameMod == null)
42 {
43 getModel().clear();
44 } else
45 {
46 List screenshots = gameMod.getScreenshots();
47 for (Iterator iterator = screenshots.iterator(); iterator.hasNext();) {
48 getModel().addImageModel(new ModScreenShotImageModel((ModScreenShot) iterator.next()));
49 }
50 }
51 }
52
53 private class ModScreenShotImageModel implements ImageModel
54 {
55 ModScreenShot screenshot;
56
57 /***
58 * @param screenshot
59 */
60 public ModScreenShotImageModel(ModScreenShot screenshot) {
61 super();
62 this.screenshot = screenshot;
63 }
64
65 public String getName() {
66 return screenshot.getName();
67 }
68
69
70 public String getDescription() {
71 return screenshot.getDescription();
72 }
73
74 public InputStream getData() throws IOException {
75 return screenshot.getImageData();
76 }
77 }
78 }