62 | | * ON_MOUSE_MOVED - takes care of highlighting hovered text links and firing an MOUSE_ENTERED and MOUSE_EXITED events. This operation does not cover the case when there are some hovered links and the mouse leaves the frame. |
63 | | * ON_MOUSE_EXITED_FRAME - removes all text links highlights and if necessary fires MOUSE_EXITED events. |
64 | | * ON_MOUSE_PRESSED, ON_MOUSE_RELEASED and ON_MOUSE_DOUBLE_CLICKED take care to fire MOUSE_PRESSED, MOUSE_RELEASED and MOUSE_CLICKED events connected with text links. |
| 67 | * ON_MOUSE_MOVED - takes care of highlighting hovered text links and firing LINK_ACTION_TRIGGERED event if the MOUSE_ENTER or MOUSE_LEAVE triggers have been evoked. This operation does not cover the case when there are some hovered text links and the mouse leaves the frame. |
| 68 | * ON_MOUSE_EXITED_FRAME - removes the highlights for hovered links when the mouse leaves the frame and fires LINK_ACTION_TRIGGERED event if the MOUSE_LEAVE trigger has been evoked. |
| 69 | * ON_MOUSE_PRESSED, ON_MOUSE_RELEASED and ON_MOUSE_DOUBLE_CLICKED - fire LINK_ACTION_TRIGGERED event if the MOUSE_PRESSED trigger has been evoked. |
| 70 | * add a resource access as a second parameter to the {{{ LinkProcessorLogic.LinkEvent#LINK_ACTION_TRIGGERED }}} event. If the LinkAction has a resource as target (for example a frame to show), this access should be used to open an access to the target resource. |
| 71 | * Executing link actions should be done by already existing logics. |
| 72 | * they should be modified to use the resource access argument instead of the context resource view to open the target resources. |
66 | | * Executing links |
67 | | * {{{ LinkProcessorLogic }}} will take care to fire LINK_ACTION_TRIGGERED events if appropriately. The following operations should be added: |
68 | | * ON_TEXT_LINK_ENTERED |
69 | | * ON_TEXT_LINK_EXITED |
70 | | * ON_TEXT_LINK_PRESSED |
71 | | * ON_TEXT_LINK_RELEASED |
72 | | * ON_TEXT_LINK_DOUBLE_CLICKED |
73 | | * All of them have TextFrameView as source and TextLink as context. |
74 | | * Executing link actions should be done by already existing logics. |
75 | | * If a link contains a resource ref, it will be relative to the text frame. |
76 | | * Therefore, the ResourceView these logics use to open an access to the target will be TextFrameView. |
| 74 | * {{{ LinkHolder }}} - an interface that can be used by logics and huds to access and manipulate in the same way the links associated with different resources. In particular, it will be used in LinksHud to display and modify both frame and page links, and text link attachments. |
| 75 | * It has the following methods: |
| 76 | * Link getLink(); |
| 77 | * ResourceRefR4 getRef(); |
| 78 | * ResourceAccess getAccess(); |
| 79 | * List<LinkTrigger> getTriggers() - gets a list of all possible triggers for this holder's link. |
| 80 | * Add a nested class {{{ SimpleLinkHolder }}} exdending LinkHolder in {{{ ElementView }}}. |
| 81 | * add a new property in ElementView - public Prop<SimpleLinkHolder> linkHolder() |
| 82 | * Add a nested class {{{ TextLinkHolder }}} exdending LinkHolder in {{{ HeadTextFrameView }}}. |
| 83 | * it will need one additional method - public TextLink getTextLink(). |
| 84 | * add a new property in HeadTextFrameView - public Prop<TextLinkHolder> textLinkHolder() |
79 | | * The existing {{{ LinksHud }}} should be used for creating links for both elements (frames and pages) and for text attachments. |
80 | | * The holder property's type will be changed from ElementH to LinkHolder. |
81 | | * Create a new interface {{{ LinkHolder }}} in org.sophie2.main.app.commons.links with the following methods: |
82 | | * Link getLink() - gets the link model of this holder. |
83 | | * ResourceRefR4 getRef() - gets a reference to the owner of this holder. |
84 | | * List<LinkTrigger> getTriggers() - gets a list of all possible triggers for this holder's link. |
85 | | * A nested class {{{ SimpleLinkHolder }}} exdending LinkHolder will be added in {{{ ElementView }}}. |
86 | | * It will need one additional method - ResourceAccess getAccess(). |
87 | | * A new property will be added in ElementView - public Prop<SimpleLinkHolder> linkHolder() |
88 | | * A nested class {{{ TextLinkHolder }}} exdending LinkHolder will be added in {{{ HeadTextFrameView }}}. |
89 | | * It will need one additional method - public TextLink getTextLink(). |
90 | | * A new property will be added in HeadTextFrameView - public Prop<TextLinkHolder> textLinkHolder() |
| 87 | * The existing {{{ LinksHud }}} should be used for creating links for both element links and for text link attachments. |
| 88 | * The holder property's type will be changed from ElementH to LinkHolder. |