/*
* MapDataReceiver.java
*
* Created on November 5, 2006, 3:43 PM
*
*/
package ika.geoimport;
import ika.geo.*;
import ika.gui.*;
import ika.table.Table;
/**
* MapDataReceiver receives imported GeoObjects from a GeoImporter and is
* responsible for storing the data.
* It has a reference on a MapComponent which is used to adjust the currently
* visible area when GeoObjects are added.
* @author Bernhard Jenny, Institute of Cartography, ETH Zurich
*/
public class MapDataReceiver extends DataReceiver {
private MapComponent mapComponent;
/** Creates a new instance of MapDataReceiver */
public MapDataReceiver(MapComponent mapComponent) {
this.mapComponent = mapComponent;
}
public boolean add(GeoSet geoSet) {
boolean added = super.add(geoSet);
if (added)
this.informMapComponent();
return added;
}
public boolean add(GeoImage geoImage) {
boolean added = super.add(geoImage);
if (added)
this.informMapComponent();
return added;
}
public boolean add(ika.table.TableLink tableLink) {
boolean added = super.add(tableLink);
if (added)
this.informMapComponent();
return added;
}
protected GeoSet getDestinationGeoSet() {
return this.mapComponent.getImportExportGeoSet();
}
private void informMapComponent() {
this.mapComponent.showAll();
this.mapComponent.addUndo("Import Data");
}
}