Plug-in architecture

Nov 1, 2011 at 8:32 PM
Currently it is very easy to create a plug-in to extent the capabilities of MapWindow.

We should keep that. This summer an abstract class was added to simplify the implementation.
That should be kept as well. Perhaps even make it the preferable routine to create plug-ins.
Using an abstract class makes it easier to modify the plug-in interface without breaking all plug-ins.

We should try to add some event handling for the plug-ins instead of the current interface.
A plug-in will only listen to an event instead of implementing all options and don't do anything with most of them.

Additional events might be helpful, like AddingLayer(), LayerAdded().
The first is raised before the file is added so a plug-in can do something with the file and the latter one is raised when the file is added as a layer.

The capability to use DotSpatial plug-ins should also be investigated, that would be a huge benefit.