Revision 9919 trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/core/symbols/MultiLayerSymbol.java
MultiLayerSymbol.java | ||
---|---|---|
43 | 43 |
* |
44 | 44 |
* $Id$ |
45 | 45 |
* $Log$ |
46 |
* Revision 1.6 2007-01-24 17:58:22 jaume |
|
46 |
* Revision 1.7 2007-01-25 16:25:23 jaume |
|
47 |
* *** empty log message *** |
|
48 |
* |
|
49 |
* Revision 1.6 2007/01/24 17:58:22 jaume |
|
47 | 50 |
* new features and architecture error fixes |
48 | 51 |
* |
49 | 52 |
* Revision 1.5 2007/01/16 11:50:44 jaume |
... | ... | |
157 | 160 |
if (layerIndex < 0 || layers.length < layerIndex) |
158 | 161 |
throw new IndexOutOfBoundsException(layerIndex+" < 0 or "+layerIndex+" > "+layers.length); |
159 | 162 |
int size = layers.length+1; |
160 |
ISymbol[] newLayers = new ISymbol[size]; |
|
161 |
for (int i = 0; i < newLayers.length; i++) { |
|
162 |
if (i == layerIndex) { |
|
163 |
newLayers[i] = newLayer; |
|
164 |
i++; |
|
165 |
} |
|
166 |
if (i<newLayers.length) |
|
167 |
newLayers[i] = layers[i]; |
|
163 |
ArrayList newLayers = new ArrayList(); |
|
164 |
for (int i = 0; i < layers.length; i++) { |
|
165 |
newLayers.add(layers[i]); |
|
168 | 166 |
} |
169 |
layers = newLayers; |
|
167 |
newLayers.add(layerIndex, newLayer); |
|
168 |
layers = (ISymbol[]) newLayers.toArray(new ISymbol[0]); |
|
170 | 169 |
} |
171 | 170 |
/** |
172 | 171 |
* TODO maybe push it up to ISymbol |
... | ... | |
217 | 216 |
} |
218 | 217 |
|
219 | 218 |
public int getSymbolType() { |
220 |
// TODO Auto-generated method stub |
|
221 |
throw new Error("Not yet implemented!"); |
|
222 |
|
|
219 |
return symbolType; |
|
223 | 220 |
} |
224 | 221 |
|
225 | 222 |
public boolean isSuitableFor(IGeometry geom) { |
... | ... | |
239 | 236 |
public void setXMLEntity(XMLEntity xml) { |
240 | 237 |
setIsShapeVisible(xml.getBooleanProperty("isShapeVisible")); |
241 | 238 |
setDescription(xml.getStringProperty("desc")); |
239 |
symbolType = xml.getIntProperty("symbolType"); |
|
242 | 240 |
layers = new ISymbol[xml.getChildrenCount()]; |
243 | 241 |
for (int i = 0; i < layers.length; i++) { |
244 | 242 |
layers[i] = SymbolFactory.createFromXML(xml.getChild(i), "layer" + i); |
... | ... | |
264 | 262 |
public void setMultiLayerSymbolType(int type) { |
265 | 263 |
symbolType = type; |
266 | 264 |
} |
265 |
|
|
266 |
public void swapLayers(int index1, int index2) { |
|
267 |
ISymbol aux1 = getLayer(index1), aux2 = getLayer(index2); |
|
268 |
layers[index2] = aux1; |
|
269 |
layers[index1] = aux2; |
|
270 |
} |
|
267 | 271 |
} |
Also available in: Unified diff