Attached is an archive file with my "rough draft" source code for
pluggable renderer support in OpenJUMP and JUMP.

You'll also find Javadoc in the archive file.

I modified the following classes in OpenJUMP's/JUMP's core:

JUMPWorkbench
(Added a private member variable to store the RendererFactory. This
allows plug-ins to access the RendererFactory to add there own
RendererFactoryTool implementations. This is the "pluggable" part of
the system. I needed to store the RendererFactory here so plug-ins
would have access to it when there initialization() method was called.
I also added public getRenderer() and setRenderer methods to this
class to allow developers access to the RendererFactory.)

WorkbenchContext
(Added public getRenderer() and setRenderer() methods to this class to
allow developers access to the RendererFactory.)

JUMPWorkbenchContext
(Added public getRenderer() and setRenderer() methods to this class to
allow developers access to the RendererFactory.)

PlugInContext
(Added public getRenderer() and setRenderer() methods to this class to
allow developers access to the RendererFactory.)

I also added 2 new interfaces to the org.openjump.ui.renderer package:

IRendererFactory
IRendererFactoryTool

I added 3 new classes to the org.openjump.ui.renderer package:
RendererFactory
RegularLayerRendererFactoryTool
WMSLayerRendererFactoryTool

As I mentioned before, I implemented the pluggable renderer support
using the State design pattern. If these changes are accepted and
implemented developers will be able to add custom rendering to
OpenJUMP by adding an implementation of the IRendererFactoryTool
interface to the default RendererFactory, or even by providing their
own implementation of the IRendererFactory interface.

If the other developers don't have any objections or suggestions for
improvement I will proceed with unit testing and live tests using
OpenJUMP, and then JUMP.

The Sunburned Surveyor

Attachment: pluggable_renderers.tar.gz
Description: GNU Zip compressed data

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to