Task #1471

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

Added by Sebastien Jacquot about 4 years ago. Updated 9 months ago.

Status:New Start date:09/30/2015
Priority:Normal Due date:
Assignee:- % Done:

57%

Category:Development Spent time: -
Target version: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)


Subtasks

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

History

#1 Updated by Sebastien Jacquot about 4 years ago

  • Subject changed from RCP: improve the editors linkage system to RCP: improve the editors linkage system and the views/editors synchronization

#2 Updated by Sebastien Jacquot about 4 years ago

  • Description updated (diff)

#3 Updated by Serge Heiden about 4 years ago

  • Description updated (diff)

#4 Updated by Sebastien Jacquot about 4 years ago

  • Description updated (diff)

#5 Updated by Matthieu Decorde about 4 years ago

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

#6 Updated by Sebastien Jacquot about 4 years ago

[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 Updated by Sebastien Jacquot about 1 year ago

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

#8 Updated by Sebastien Jacquot 9 months ago

  • Target version changed from TXM 0.8.0 to TXM 0.8.1

Also available in: Atom PDF