Source code: org/meowers/cide/edcide/map/TileListModel.java
1 /*
2 * TileListModel.java
3 *
4 * Created on February 9, 2002, 3:05 PM
5 */
6
7 package org.meowers.cide.edcide.map;
8
9 import org.meowers.cide.data.*;
10
11 import javax.swing.*;
12
13 /**
14 *
15 * @author praxis
16 * @version
17 */
18 public class TileListModel extends AbstractListModel {
19
20 private final int SOURCE_GAMEDATA = 1;
21 private final int SOURCE_TILESET = 2;
22 private int sourceType;
23 private GameData gd;
24 private TileSet tileSet;
25
26 /** Creates new TileListModel */
27 public TileListModel(GameData gd) {
28 this.gd = gd;
29 sourceType = SOURCE_GAMEDATA;
30 }
31
32 public TileListModel(TileSet tileSet) {
33 this.tileSet = tileSet;
34 sourceType = SOURCE_TILESET;
35 }
36
37 public int getSize() {
38 if (sourceType == SOURCE_GAMEDATA) {
39 return gd.getGameObjectCount(GameObject.TILE);
40 } else if (sourceType == SOURCE_TILESET) {
41 return tileSet.getTileCount();
42 }
43
44 return 0;
45 }
46
47 public java.lang.Object getElementAt(int param) {
48 if (sourceType == SOURCE_GAMEDATA) {
49 return (gd.getGameObject(GameObject.TILE, param));
50 } else if (sourceType == SOURCE_TILESET) {
51 if ((param >= 0) && (param < tileSet.getTileCount())) {
52 return tileSet.getTiles()[param];
53 }
54 }
55
56 return null;
57 }
58
59 public void changed() {
60 this.fireContentsChanged(this, 0, getSize());
61 }
62 }