Task #1471

RCP: improve the editors linkage system and the views/editors synchronization

Ajouté par Sebastien Jacquot il y a plus de 3 ans. Mis à jour il y a 8 jours.

Statut:New Début:30/09/2015
Priorité:Normal Echéance:
Assigné à:- % réalisé:

57%

Catégorie:Development Temps passé: -
Version cible:TXM 0.8.1

Description

The current Concordance/Edition and other editor communications is hard coded which makes it not really easy to add links.

This ticket is a proposal to implement a global interfaces system for editors communications and updating data/state of an editor from another one.

First ideas:
- define an interface ILinkableEditor
- store a list of linked editors in the source editors (e.g.: getLinkedEditor(int i), setLinkedEditor(ILinkableEditor linkedEditor))
- define and implement a method as doSomething(Object param) which specifies something to do and use it on some events.
- define and implement a method as updateLinkedEditorsFromEvent(Object event) which loops through all the linked editors and call doSomething(Event event) or other parameter type
- when closing an editor, remove this editor from all the linked editors lists

e.g. for linking Progression and Concordance editors:

- on double-click on a Progression point, test if there is already a linked editor with result object of type "Concordance" (see getSource() of TXM CustomizableEditor class). If no, create a Concordance editor and add the Progression editor as linked editor to it. Also add the Concordance editor as linked editor to the Progression editor.
Loop through all the linked editors and call doSomething()
- on double-click on a Concordance row, call in the event listener all the doSomething(Object param) methods of all the linked editors

This system should permit, for a same kind of editor, an easy use of this editor without links, with one link and with multiple links

NOTES:
- the method setLinkedEditor(ILinkableEditor linkedEditor)) may be have one more parameter to pass and store some custom data, e.g.: setLinkedEditor(ILinkableEditor linkedEditor), Object param)


Sous-tâches

Feature #996: Link Progression chart with other command editors (synchr...New

Feature #1538: Progression chart, send selection to index (hyperlink / a...Closed

Feature #1539: Progression, send selection to concordance (hyperlink / a...In Progress

Feature #1540: Progression, send selection to cooccurrence (hyperlink / ...Feedback

Feature #1670: Progression chart, link selection with concordance (synch...Feedback

Bug #1671: Progression chart, link selection with edition (synchrono...In Progress

Task #1677: Concordance, link selection with progression chart (synch...New

Historique

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

  • Sujet changé de RCP: improve the editors linkage system à RCP: improve the editors linkage system and the views/editors synchronization

#2 Mis à jour par Sebastien Jacquot il y a plus de 3 ans

  • Description mis à jour (diff)

#3 Mis à jour par Serge Heiden il y a plus de 3 ans

  • Description mis à jour (diff)

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

  • Description mis à jour (diff)

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

  • Version cible changé de TXM 0.7.8 à TXM 0.8.0a (split/restructuration)

#6 Mis à jour par Sebastien Jacquot il y a plus de 3 ans

[SH note]

Hypertext Infrastructure

For a general hypertext infrastructure, we must link to related portal and desktop tickets:
  • Portal: Feature #667 (Resolved): GWT: x.x, HTML pages, hyperlinks (external, internal, command)
    • and his descendants
  • Desktop: Bug #229 (In Progress): RCP: 0.7.2, improve Index to Concordance link
  • etc.

Link Transitivity

If a command result may link to several commands, a particular link may also herit some command parameters from the link it come from: for example a double-clic on a concordance line can have a different behavior depending on the link we come from to build the concordance.

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

  • Version cible changé de TXM 0.8.0a (split/restructuration) à TXM 0.8.0

#8 Mis à jour par Sebastien Jacquot il y a 8 jours

  • Version cible changé de TXM 0.8.0 à TXM 0.8.1

Formats disponibles : Atom PDF