package com.androidol.events; import java.util.List; import java.util.Vector; //import com.esri.android.openlayers.layer.Layer; //import com.esri.android.openlayers.util.Util; import android.os.Handler; //import android.os.Message; public class MapEvents extends Events { // =========================================================== // Events related to layers // =========================================================== public static final int LAYER_ADDED = 10000; public static final int LAYER_REMOVED = 10001; public static final int LAYER_CHANGED = 10002; public static final int BASELAYER_CHANGED = 10003; // =========================================================== // Events related to pan // =========================================================== public static final int MOVE_START = 10004; public static final int MOVE = 10005; public static final int MOVE_END = 10006; // =========================================================== // Events related to zoom // =========================================================== public static final int ZOOM_END = 10007; // =========================================================== // Declare a list of supported event type // =========================================================== public final int[] EVENTS_LIST = { LAYER_ADDED, LAYER_REMOVED, LAYER_CHANGED, BASELAYER_CHANGED, MOVE_START, MOVE, MOVE_END, ZOOM_END }; // =========================================================== // Listeners/Callbacks // =========================================================== protected List<Handler> layerAddedCallbacks = null; protected List<Handler> layerRemovedCallbacks = null; protected List<Handler> layerChangedCallbacks = null; protected List<Handler> baselayerChangedCallbacks = null; protected List<Handler> moveStartCallbacks = null; protected List<Handler> moveCallbacks = null; protected List<Handler> moveEndCallbacks = null; protected List<Handler> zoomEndCallbacks = null; public MapEvents() { super(); layerAddedCallbacks = new Vector<Handler>(); layerRemovedCallbacks = new Vector<Handler>(); layerChangedCallbacks = new Vector<Handler>(); baselayerChangedCallbacks = new Vector<Handler>(); moveStartCallbacks = new Vector<Handler>(); moveCallbacks = new Vector<Handler>(); moveEndCallbacks = new Vector<Handler>(); zoomEndCallbacks = new Vector<Handler>(); this.listeners.put(new Integer(LAYER_ADDED), layerAddedCallbacks); this.listeners.put(new Integer(LAYER_REMOVED), layerRemovedCallbacks); this.listeners.put(new Integer(LAYER_CHANGED), layerChangedCallbacks); this.listeners.put(new Integer(BASELAYER_CHANGED), baselayerChangedCallbacks); this.listeners.put(new Integer(MOVE_START), moveStartCallbacks); this.listeners.put(new Integer(MOVE), moveCallbacks); this.listeners.put(new Integer(MOVE_END), moveEndCallbacks); this.listeners.put(new Integer(ZOOM_END), zoomEndCallbacks); } /** * API Method: getEventList * * @return */ public int[] getEventList() { return EVENTS_LIST; } /* @Override public void addDefaultCallbacks() { // TODO: register all default callbacks } @Override public void removeDefaultCallbacks() { // TODO: unregister all default callbacks } */ /* private class LayerAddedCallback extends Handler { @Override public void handleMessage(Message msg) { if(msg.what == LAYER_ADDED) { Util.printDebugMessage(" ...default callback for LAYER_ADDED event..."); try { Layer layer = (Layer)msg.obj; Util.printDebugMessage(" ...layer " + layer.getName() + " is added..."); } catch(Exception e) { } } } } private class LayerRemovedCallback extends Handler { @Override public void handleMessage(Message msg) { if(msg.what == LAYER_REMOVED) { //Util.printDebugMessage(" ...default callback for LAYER_REMOVED event..."); } } } private class LayerChangedCallback extends Handler { @Override public void handleMessage(Message msg) { if(msg.what == LAYER_CHANGED) { //Util.printDebugMessage(" ...default callback for LAYER_CHANGED event..."); } } } private class BaseLayerChangedCallback extends Handler { @Override public void handleMessage(Message msg) { if(msg.what == BASELAYER_CHANGED) { //Util.printDebugMessage(" ...default callback for BASELAYER_CHANGED event..."); } } } private class MoveStartCallback extends Handler { @Override public void handleMessage(Message msg) { if(msg.what == MOVE_START) { //Util.printDebugMessage(" ...default callback for MOVE_START event..."); } } } private class MoveEndCallback extends Handler { @Override public void handleMessage(Message msg) { if(msg.what == MOVE_END) { Util.printDebugMessage(" ...default callback for MOVE_END event..."); } } } private class MoveCallback extends Handler { @Override public void handleMessage(Message msg) { if(msg.what == MOVE) { //Util.printDebugMessage(" ...default callback for MOVE event..."); } } } private class ZoomEndCallback extends Handler { @Override public void handleMessage(Message msg) { if(msg.what == ZOOM_END) { //Util.printDebugMessage(" ...default callback for ZOOM_END event..."); } } } */ }