TroveOpenTask

OpalTask trove.open: open a Trove page, with the pages above it (trove-navigation §TNV-D-9).

Inherits OpalTask
Group libtrove

In the namespace octomy::trove::opal. Declared in src/libs/libtrove/trove/opal/TroveOpenTask.hpp.

Detailed description

The task opens one of the three levels of Trove. It opens the pages above the target too, so that back goes up one level from any page it opens:

  • No project: Trove home, octomy::trove::TroveProjectsActivity, with no arguments.
  • A project: Trove home, then the project page, octomy::trove::TroveProjectActivity, with the project id and the tab as its arguments, and the key after them when it is given.
  • A project and a lane: the two pages above, then the lane page, octomy::trove::TroveLaneActivity, with the project id and lane:N as its arguments.

project is a project id or a project name, in any case. tab is one of lanes, specs, files, activity and settings. When it is absent, it is lanes, as the page opens, or specs when a key is given. key is a spec, section or unit key, which the Specs tab selects. A lane, a tab or a key with no project fails. An unknown project fails with the list of the projects, a wrong tab names the five tabs, and a lane that the project does not have names its lanes.

Each page is a call of OpalUIDriver::requestPushActivity(). The driver queues the calls, so the pages reach the activity stack in this order (trove-navigation §TNV-K-4.7). With no driver, or a driver with no display, the task fails as navigation.goto fails.

The scope is the name of the task, trove.open, as the scope of navigation.goto is navigation.goto. The task changes no data, so it confirms no call, and it is idempotent.

See also TroveSupervisorService, OpalUIDriver.

In this section