Overview
The visualisation tools in GenoMedium will follow the standard practices uses in the Eclipse RCP comunity. This article will provide developers quidelines on developing GenoMedium compliant visualisation tools.
Visualisation Displays
Data object will be shown in a display, which is must be an EditorPart sub class. There may be more than display provided by one or plugins for a specific data type. Since these displays are editors they must be registered as editors in the defining plugin and if the display can show data loaded from a file (in contrast to a data source) then the file type of this file must given in the extension. If possible use one of the existing file type extensions or provide a new one and add to the list of genomedium file types. A base class called AbstractDisplay for all GenoMedium displays is provided in the org.cropinfo.genemedium plugin, which provides some addtional functionality over the normal EditorPart class. However, use of this AbstractDisplay is not mandatory for GenoMedium
Intergration with Pantheon Eclipse
In addition to the normal method of registering an editor to a specific file type developers can use the Pantheon framework to register a DataConsumer that will provide a specific display for a Demeter Domain Model (or any other Java object). Please refer to the tutorial on Pantheon Eclipse.
note: The org.generationcp.pantheon.eclipse plugin is required for intergration with Pantheon Eclipse.
Views
Additional ViewParts could be used to provide addional informaton or views on the data.
Use case based Perspectives
A group of displays and views can group together along with wizards in order for the user to carry out a speciifc user case or cases.
Technologies
The technoologies used will be standard eclipse RCP or recgonised elipse projects where possible. Examples will include SWT, Draw2D, GEF and Zest.
GenoMedium Visualisaion Framework
A number of interfaces and extension points are provided in the org.cropinfo.genemedium.visualisationplugin to provide a framework for visualisation that allows user interactiviity and data-visualisation synrchronisation. In addition GUIs allow editing of these visualisation tools in eclipse are provided in the org.cropinfo.genemedium.visualisation.ui plugin
PositionProvider - Provides the position of a visualisation component
ColourProvider - Provides a foreground and background colour for a given object