Feature #269

Graphics generation, rendering and interaction, features list

Ajouté par Sebastien Jacquot il y a plus de 4 ans. Mis à jour il y a 7 mois.

Statut:New Début:21/03/2014
Priorité:High Echéance:
Assigné à:- % réalisé:

33%

Catégorie:Charts Temps passé: -
Version cible:TXM 0.7.9

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


Sous-tâches

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

Task #707: RCP: x.x, ChartsEngine, Specificities, basic implementationsIn ProgressSebastien Jacquot

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 implementationsIn ProgressSebastien 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, Progression/RepartitionNewSebastien Jacquot

Task #709: RCP: x.x, ChartsEngine, Progression, basic implementationsNewSebastien Jacquot

Feature #821: TBX: x.x, modify the returned value of the "progression" ...New

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

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

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

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

Historique

#1 Mis à jour par Sebastien Jacquot il y a plus de 4 ans

  • Sujet changé de Graphics generation, rendering and interaction à Graphics generation, rendering and interaction, features list
  • Description mis à jour (diff)

#2 Mis à jour par Benedicte Pincemin il y a environ 4 ans

  • Description mis à jour (diff)

#3 Mis à jour par Benedicte Pincemin il y a environ 4 ans

  • Description mis à jour (diff)

#4 Mis à jour par Benedicte Pincemin il y a environ 4 ans

  • Description mis à jour (diff)

#5 Mis à jour par Benedicte Pincemin il y a environ 4 ans

  • Description mis à jour (diff)

#6 Mis à jour par Sebastien Jacquot il y a presque 4 ans

  • Description mis à jour (diff)

#7 Mis à jour par Sebastien Jacquot il y a presque 4 ans

  • Description mis à jour (diff)

#8 Mis à jour par Matthieu Decorde il y a plus de 3 ans

  • Version cible changé de TXM X.X à TXM 0.7.6

#9 Mis à jour par Matthieu Decorde il y a plus de 3 ans

  • Tracker changé de Task à Feature

#10 Mis à jour par Matthieu Decorde il y a plus de 3 ans

  • Version cible changé de TXM 0.7.6 à TXM 0.7.7

#11 Mis à jour par Sebastien Jacquot il y a environ 3 ans

  • Catégorie changé de UI / Interaction à Charts

#12 Mis à jour par Sebastien Jacquot il y a environ 3 ans

  • Version cible changé de TXM 0.7.7 à TXM X.X

#13 Mis à jour par Sebastien Jacquot il y a 7 mois

  • Version cible changé de TXM X.X à TXM 0.7.9

Formats disponibles : Atom PDF