Feature #269

Graphics generation, rendering and interaction, features list

Added by Sebastien Jacquot about 10 years ago. Updated over 3 years ago.

Status:Closed Start date:03/21/2014
Priority:High Due date:
Assignee:- % Done:

47%

Category:Charts Spent time: -
Target version:TXM 0.8.0

Description

The specifications are now defined in the Wiki : [[https://groupes.renater.fr/wiki/txm-info/public/specs_graphics_rendering_and_display]]

Here are the lists of features we need to implement in the Graphics rendering module. Most of the lists need to be expanded and/or clarified. Please feel free to complete them by adding your own notes.

Common features

Major structure changes

- elements and sub-elements of the plots need to have semantic data (other than graphical data). It means we need to get, in the RCP, some extra data for the plots elements from the R objects (eg. labels or frequencies for rows or columns points in CA)
- elements and sub-elements of the plots need to interact with the RCP system (listeners, components [menus, etc.], etc.). It means we need a way to link plots graphical elements with SWT extra data components of RCP editors

End-user common features

- scaling and not only zooming: scaling the plots without scaling the texts and/or the elements (points, shapes, etc., TBD: depends of the target plots)
(TBD: asynchronous system for some specific modules, eg. change R query and plot output during a CA, scaling in a cartographic way)
- create a toolbar for the SWT graphical component with buttons for features (TBD: buttons/commands list )
  • zoom in
  • zoom out
  • pan arrows
    - bind controls to "standard" OS portable controls
- define OS portable shortcuts for the features (mouse and keyboard), first proposals:
  • camera translation
    • middle mouse button
    • arrow keys
  • scaling
    • mouse wheel
    • CTRL +, CTRL -
- be able to navigate between Graphics module plots elements and SWT components such as tables, etc. in both directions
- export plot in files (TBD; file formats)
  • SVG (surely needed for having interactive plots in TXM Web Portal)
  • at least one raster format (PNG ?)

Common preferences

- TBD: define the level of each preference (Toolbox or RCP)
- create user preferences page for selecting background colors, elements and texts foreground colors, texts font and size and others data
TBD: others data:
  • zoom/scale speed factor
  • pan speed factor
  • user shortcuts ? (maybe useless)

right
br.

Here are the lists of specific features by module:

Implementing the RCP Graphics module in way to keep the TXM Toolbox compatible with the TXM WEB Portal project

I'm still doing research on a way to do that and I'll post conclusions/questions here asap.
For now, I think the system will contain 3 groups:
- Graphics module selection
- Extern library for create charts in Java2D
- SWT component for draw the Java2D components and interact with them

First proposals:
- create a Graphics module selection system in the Toolbox (redefine the current RDevice selection system and mix it with the new selection system)
then:
1) override this selection system in RCP and propose a SWT component-oriented module (JFreeChart usage is retained for now, still need some research about it)
or:
2) ???

Getting interactive plots in TXM WEB Portal

The SVG solution could have been a good way to do that, if we could inject semantic in the files. Both RSVGDevice don't write semantic data in the SVG files (other than graphical semantic data, so useless for us).

First proposals:
1) use the RCP SWT Graphics component as Applet (should be relatively easy to implement but that would screw up the portal flexibility by introducing Java plugin need)
2) use SVG as central format and inject semantic data in the file, then:
a) inject Javascript and DOM events directly in the SVG DOM (cons: that means we need to create links between the SVG DOM and GWT JS components)
b) develop/convert the RCP SWT component to GWT in way it can act with SVG files

- about the SVG files we could:
1) move JFreeChart to the Toolbox level and find a way to use it through command line for exporting SVG files
2) keep using RSVGDevice and let JFreeChart at the RCP level


Subtasks

Feature #696: RCP: x.x, ChartsEngine, SpecificitiesNew

Task #710: RCP: x.x, Charts SWT components, Specificities, advanced ...New

Feature #697: RCP: x.x, ChartsEngine, CANew

Feature #702: RCP: x.x, ChartsEngine, CA, basic implementationsClosedSebastien Jacquot

Feature #703: RCP: x.x, Charts SWT components, CA, advanced implementationNew

Feature #993: CA chart, highlight some factorial map points from the SW...ClosedSebastien Jacquot

Feature #698: RCP: x.x, ChartsEngine, LexicalTable and Index computed w...New

Feature #699: RCP: x.x, ChartsEngine, Partition dimensionsNew

Task #706: RCP: x.x, ChartsEngine, Partition dimensions, basic impl...ClosedSebastien Jacquot

Task #711: RCP: x.x, Charts SWT components, Partition dimensions, ad...New

Feature #700: RCP: x.x, ChartsEngine, Lexicon and Index computed with c...New

Feature #708: RCP: x.x, ChartsEngine, ProgressionNewSebastien Jacquot

Task #712: RCP: x.x, Charts SWT components, Progression/Repartition,...Rejected

Task #714: RCP: x.x, ChartsEngine, CAHNew

Task #713: RCP: x.x, ChartsEngine, CAH, basic implementationsIn Progress

Feature #701: RCP: x.x, ChartsEngine, CooccurrencesNew

History

#1 Updated by Sebastien Jacquot about 10 years ago

  • Subject changed from Graphics generation, rendering and interaction to Graphics generation, rendering and interaction, features list
  • Description updated (diff)

#2 Updated by Benedicte Pincemin about 10 years ago

  • Description updated (diff)

#3 Updated by Benedicte Pincemin about 10 years ago

  • Description updated (diff)

#4 Updated by Benedicte Pincemin about 10 years ago

  • Description updated (diff)

#5 Updated by Benedicte Pincemin about 10 years ago

  • Description updated (diff)

#6 Updated by Sebastien Jacquot almost 10 years ago

  • Description updated (diff)

#7 Updated by Sebastien Jacquot almost 10 years ago

  • Description updated (diff)

#8 Updated by Matthieu Decorde over 9 years ago

  • Target version changed from TXM X.X to TXM 0.7.6

#9 Updated by Matthieu Decorde over 9 years ago

  • Tracker changed from Task to Feature

#10 Updated by Matthieu Decorde over 9 years ago

  • Target version changed from TXM 0.7.6 to TXM 0.7.7

#11 Updated by Sebastien Jacquot about 9 years ago

  • Category changed from UI / Interaction to Charts

#12 Updated by Sebastien Jacquot about 9 years ago

  • Target version changed from TXM 0.7.7 to TXM X.X

#13 Updated by Sebastien Jacquot over 6 years ago

  • Target version changed from TXM X.X to TXM 0.8.0a (split/restructuration)

#14 Updated by Sebastien Jacquot over 5 years ago

  • Target version changed from TXM 0.8.0a (split/restructuration) to TXM 0.8.0

#15 Updated by Sebastien Jacquot over 4 years ago

  • Status changed from New to Closed

Also available in: Atom PDF