Task #2003

Updated by Sebastien Jacquot over 3 years ago

Enhance multiple charts engines cohabitation to be able to lazy create some charts with another charts engine even if the current selected charts engine does not manage the type of chart (some kind of downgrade functionality).
Eg.: to create a Wordcloud with R even if the current charts engine is JFreeChart and does not implement a Wordcloud chart creator. The cohabitation is also linked with the management of other future charts engine contributions, eg.: graph charts engine or using other wordcloud library.

h3. Solution

Store a list of current installed charts engine extensions in TBX layer.
Store a list of current installed SWT charts components provider extensions in RCP layer.
Provide some preference pages for all the charts engine extensions with display format. The display format (Java, svg, png, etc.) drives the SWT components component provider used when creating a chart.

h3. Validation tests

* open the preferences (Tools\Parameters)
* go to TXM\Advanced\Charts engine node and check that current engine is set to Java
* go to TXM\Advanced\Charts engine\JFreeChart node and check that display format is set to "JFreeChart/Java2D"
* go to TXM\Advanced\Charts engine\R node and check that display format is set to "svg"
* create a CAH
=> a chart editor must open
* additional tests
* create a Wordcloud
=> a chart editor must open

(Since there are no chart creator in JFC charts engine for CAH or Wordcloud, if a chart is open it means the lazy charts engine change works.)