Enhance multiple charts engines cohabitation
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.
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 provider used when creating a chart.
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.)
(from redmine: issue id 2003, created on 2017/01/16 by Sebastien Jacquot)