Using the Navigation Controller

To use this controller with all its behavior, you must build the panels shown on the Desktop with the provided visual beans (see Visual beans). You can then define the contents of the events and fire them to the Navigation Controller using any visual bean component (such as an spButton, or spComboBox).

For example, imagine you are creating a mortgage query that uses navigation among three panels, two for data entry and one for viewing results. The first step would be to design, create, and define the three panels using visual beans. The first and second panels could have entry fields for entering the mortgage data and SpButtons for navigation, as shown in the following images:

Example of the Navigation Controller used to create a mortgage query

To configure the buttons for navigation, you would set the properties of the buttons. For example, you would set the DSE_type property to Cancel to create a Cancel button.

In the DSE_navigationParameters view, you would define the next view to show the kind of navigation (peer), and where the context is linked (these fields and their behavior are already defined).

In the case of the Back button, you do not need to specify the previous view, because the Navigation Controller will already have a registry with the navigation information.

The following table contains a brief description of the events that may be received by a Navigation Controller and the subsequent behavior of the controller:

Table 1. Navigation Controller behavior
Type Event received by the Navigation Controller Navigation Controller behavior
Navigation OpenView Opens the new view defined by the event. The view will be modal for the rest of the navigation flow if the fixed position (X,Y) and size (W,H) has been defined in the NavigationParameter editor. See Setting parameters for OpenView and NextView.
Navigation PreviousView Closes the current view and displays the previous view.
Navigation NextView Creates and opens the new view defined by the event if the current view does not have a "next" view defined in the registry. Otherwise, the Navigation Controller displays the "next" view. Note that the "next" view already exists. The view will be modal if the fixed position (X,Y) and size (W,H) has been defined in the NavigationParameter editor. See Setting parameters for OpenView and NextView.
Navigation Undo Returns all the values of the peer views of the current view and their children back to the values they had before the last operation commit. To do this, the Navigation Controller initiates an ordered rollback sequence. This calls the rollback methods of all the peer and children views of the active view to undo the changes made since the last commit.
Navigation Close_Navigation Closes all the views of a navigation and commits the values. See Setting parameters for Close Navigation.
Navigation Cancel Returns all the values of the peer views of the current view and their children to the values they had for the last commit (see the Undo event above) and closes the views.
Navigation View_Visible Fires this event to inform the task about which view is the currently visible view.
Navigation View_not_Visible Fires this event to inform the task about which views are not currently visible.
Navigation ViewOpened Fires an action event to inform the flow processor when a view opens.
Action None Fires an action event to the flow processor. See the Flows documentation for more information.
Action OperationReply Fires an action event to inform the flow processor that the operation has been executed.
Navigation ViewClosed Fires an action event to inform the flow processor (if it exists) when a view closes.
Navigation OpenTask Opens the new task defined by the event in a panel with a fixed position (X,Y) and size (W,H).