package com.opendoorlogistics.api.standardcomponents.map; import java.awt.Graphics2D; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.image.BufferedImage; import javax.swing.event.MouseInputListener; import com.opendoorlogistics.api.tables.ODLDatastore; import com.opendoorlogistics.api.tables.ODLTable; import com.opendoorlogistics.api.tables.ODLTableReadOnly; public interface MapApiListeners { interface OnChangeListener{ void onChanged(MapApi api); } interface OnObjectsChanged{ void onObjectsChanged(MapApi api); } interface OnBuildToolbarListener{ void onBuildToolbar(MapApi api,MapToolbar toolBar); } // /** // * Callback called just prior to the map objects changing // * @author Phil // * // */ // interface OnPreObjectsChanged{ // void onPreObjectsChanged(MapApi api,ODLDatastore<? extends ODLTable> newMapDatastore); // } interface OnBuildContextMenu{ void onBuildContextMenu(MapApi api,MapPopupMenu menu); } interface OnPaintListener{ void onPaint(MapApi api,Graphics2D g); } interface OnModeChangeListener{ void onModeChange(MapApi api,MapMode oldMode, MapMode newMode); } interface OnDisposedListener{ void onDispose(MapApi api); } interface ModifyImageListener{ BufferedImage modifyMapImage(MapApi api,BufferedImage img); } interface FilterVisibleObjects{ void startFilter(MapApi api,ODLDatastore<? extends ODLTable> newMapDatastore); boolean acceptObject(ODLTableReadOnly table, int row); void endFilter(MapApi api); } // interface ObjectFilterFactory{ // FilterVisibleObjects createObjectFilter(MapApi api,ODLDatastore<? extends ODLTable> newMapDatastore); // } interface OnToolTipListener{ void onToolTip(MapApi api,MouseEvent evt,long [] objectIdsUnderMouse,StringBuilder currentTip); } void registerObjectsChangedListener(OnObjectsChanged listener, int priority); //void registerObjectFilterFactory(ObjectFilterFactory factory, int priority); void registerFilterVisibleObjectsListener(FilterVisibleObjects listener, int priority); void registerOnBuildToolbarListener(OnBuildToolbarListener listener, int priority); void registerOnBuildContextMenuListener(OnBuildContextMenu listener, int priority); void registerMouseInputListener(MouseInputListener listener, int priority); void registerModeChangingListener(OnModeChangeListener listener, int priority); void registerModeChangedListener(OnModeChangeListener listener, int priority); void registerOnPaintListener(OnPaintListener listener, int priority); void registerViewChanged(OnChangeListener listener, int priority); void registerSelectionChanged(OnChangeListener listener, int priority); void registerDisposedListener(OnDisposedListener listener, int priority); void registerKeyListener(KeyListener listener, int priority); void registerOnTooltipListener(OnToolTipListener listener, int priority); void registerModifyMapImage(ModifyImageListener listener, int priority); // void registerPreObjectsChangedListener(OnPreObjectsChanged listener, int priority); void removeObjectsChangedListener(OnObjectsChanged listener); void removeOnBuildToolbarListener(OnBuildToolbarListener listener); void removeOnBuildContextMenuListener(OnBuildContextMenu listener); void removeMouseInputListener(MouseInputListener listener); void removeModeChangingListener(OnModeChangeListener listener); void removeModeChangedListener(OnModeChangeListener listener); void removeOnPaintListener(OnPaintListener listener); void removeViewChanged(OnChangeListener listener); void removeSelectionChangedListener(OnChangeListener listener); void removeOnDisposedListener(OnDisposedListener listener); void removeKeyListener(KeyListener listener); void removeFilterVisibleObjectsListener(FilterVisibleObjects listener); void removeOnToolTipListener(OnToolTipListener listener); void removeModifyMapImage(ModifyImageListener listener); //void removePreObjectsChangedListener(OnPreObjectsChanged listener); //void removeObjectFilterFactory(ObjectFilterFactory factory); }