## com.bbn.openmap.plugin
Interface PlugIn

All Superinterfaces:
  PropertyConsumer

All Known Implementing Classes:
  AbstractPlugIn

public interface PlugIn
extends PropertyConsumer

This interface describes a component that can supply OMGraphics based on a Projection. PlugIns can be added to the map via a PlugInLayer.

See Also:
  `PlugInLayer`

Field Summary

Fields inherited from interface com.bbn.openmap.PropertyConsumer
`EditorProperty, initPropertiesProperty, LabelEditorProperty, ScopedEditorProperty`

Method Summary
`java.awt.Component` `getComponent()` Get the component the plugin is using (most likely, its parent).
`java.awt.Component` `getGUI()` Gives the PlugIn a chance to present components that control its attributes.
`MapMouseListener` `getMapMouseListener()` Returns the MapMouseListener that the plugin thinks should be used to handle its events, if asked.
`OMGraphicList` `getRectangle(Projection p)` The getRectangle call is the main call into the PlugIn module.
`void` `removed()` Notification to the PlugIn that it has been removed from the map, so it can free resources.
`void` `setComponent(java.awt.Component parent)` The setComponent command is provided so that the plugin can be told its parent.
`void` `setMapMouseListener(MapMouseListener mml)` Set the MapMouseListener for this PlugIn.

Methods inherited from interface com.bbn.openmap.PropertyConsumer
`getProperties, getPropertyInfo, getPropertyPrefix, setProperties, setProperties, setPropertyPrefix`

Method Detail

### setComponent

    public void setComponent(java.awt.Component parent)

  The setComponent command is provided so that the plugin can be told its parent. This is to allow a plugin access to a repaint call if something changes with the graphics it is providing.

### getComponent

    public java.awt.Component getComponent()

  Get the component the plugin is using (most likely, its parent).

### setMapMouseListener

    public void setMapMouseListener(MapMouseListener mml)

  Set the MapMouseListener for this PlugIn. The MapMouseListener is responsible for handling the MouseEvents that are occuring over the map.

  Parameters:
    `mml` - MapMouseListener.
  See Also:
    `MapMouseListener`

### getMapMouseListener

    public MapMouseListener getMapMouseListener()

  Returns the MapMouseListener that the plugin thinks should be used to handle its events, if asked.

  See Also:
    `MapMouseListener`

### getRectangle

    public OMGraphicList getRectangle(Projection p)

  The getRectangle call is the main call into the PlugIn module. The module is expected to return an OMGraphicsList filled with OMGraphic objects that are within the screen parameters passed. It's assumed that the PlugIn will call generate(projection) on the OMGraphics returned! If you don't call generate on the OMGraphics, they will not be displayed on the map.

  Parameters:
    `p` - projection of the screen, holding scale, center coords, height, width. May be null if the parent component hasn't had the projection set.
  Returns:
    OMGraphicList.
  See Also:
    `Projection`, `OMGraphicList`

### getGUI

    public java.awt.Component getGUI()

  Gives the PlugIn a chance to present components that control its attributes.

### removed

    public void removed()

  Notification to the PlugIn that it has been removed from the map, so it can free resources.

Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details