Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Papyrus/Neon Work Description/Improvements/Navigation

< Papyrus‎ | Neon Work Description
Revision as of 10:52, 26 March 2015 by Shuai.li.cea.fr (Talk | contribs) (Overview)

Overview

Papyrus has a navigation system where the user can navigate to different diagrams, and Model Explorer semantic elements, when some notation elements are clicked. The navigation system also offers the possibility to add hyperlinks to notation elements. Some noticeable characteristics of the current navigation system are the following:

  • Hyperlinks appear in diagram assistant
  • Hyperlinks management button appears in diagram assistant
  • Double Click on a notation element goes to its default hyperlink(s), if there are any
  • Hyperlinks management menu lets the user create hyperlinks, assign default hyperlinks, and assign heuristics to "try" to "go somewhere" (?) when a notation element without default hyperlinks is double clicked. (Note that the heuristic functionality is broken and not clearly defined currently.)
  • Alt+Click on a notation element goes to its navigable element (e.g. return type for an Operation)

The following section describes the planned changes to this navigation system.

Planned Changes

The navigation system is integrated through three menus, arbitrarily named "Alt Menu", "Right Click Menu", and "Double Click Menu". There are also some UI enhancements.

Alt Menu

(This work is done.)

The Alt Menu is a popup menu. It is shown when the user Alt+Hovers over a notation element in a diagram, and it is contextual. Navigation and hyperlink systems are integrated into this menu, instead of the diagram assistant. The figure below shows the three kinds of items in the Alt Menu:

Papyrus Navigation Alt Menu

Here Operation "op1" of "MyClass" is Alt+Hovered over. The menu shows an item to go to the navigable element of "op1" (i.e. its return type), a hyperlink created for "op1" (points to an ActivityDiagram), and default item to create hyperlinks for "op1".

When the first item is clicked, the following sub-menu appears:

Papyrus Navigation Alt Sub-Menu

The sub-menu shows two kinds of item: a default item to show the navigable element in the Model Explorer, and 1-* items that show opened diagrams where the navigable item appears. Here the sub-menu shows two items. The first item shows the return type of "op1" in the Model Explorer. The second item shows the return type of "op1", named "MyEnumeration", which appears in "ClassDiagram2".

Right Click Menu

The Right Click Menu should show a "Go to" item. This "Go to" item has a sub-menu with the following items:

  • Children: children of the semantic element corresponding to the notation element
  • Parents: parents of the semantic element corresponding to the notation element
  • Typed by: UML elements typed by the semantic element corresponding to the notation element
  • Diagrams: Diagrams showing the semantic element corresponding to the notation element

All of these items have sub-menus themselves. These sub-menus are populated dynamically. "Children", "Parents", and "Typed by" show semantic elements. When they are clicked on, they are shown in the Model Explorer. "Diagrams" shows diagrams. When they are clicked on, they open.

Double Click Menu

Currently the user can double click on a notation element to go to its default hyperlink(s). If there aren't any default hyperlink(s), a menu should appear. This menu should propose the user to add default hyperlink(s) to the notation element. The menu proposes existing hyperlinks (not defined as default), as well as other hyperlinks through a heuristic algorithm. There will be some default heuristic algorithms, along with those that the user can define in the existing heuristic menu of the hyperlinks management menu. This menu will be redone since it is currently broken.

UI Enhancements

Some UI enhancements that will be implemented are:

  • Arrows to navigate between Papyrus diagram tabs, according to the history of opened tabs. The arrows can be emulated by the keyboard. Ctrl+Tab should also go to the next diagram, Ctrl+Shift+Tab should go to the last diagram. This is the behavior in Firefox for example.
  • When navigating to a unopened diagram, the user can chose if he/she prefers to open the diagram in a new tab, or in the current tab. See modern web browser behavior for tabs
  • Alt+Click, in Property View, on a referenced field (e.g. OwnedParameters of Operation) to navigate
  • Several global Papyrus preferences to configure navigation behaviors

Bugzilla References

Back to the top