Adding UI Pages

To support UI pages with graphical controls, displays, and dialogs, Vortex Studio relies on Qt Designer. To show these pages in the console, the system relies on the Qt module. When you set up the Console extension, Vortex Studio lets you display show pages using the QtDesignerPage extension.

Vortex Studio is installed with several pre-configured pages that you can add to the Console user interface.

You can also add pages with content that you create for displaying controls which can be used to operate equipment functions, change objects in the scene, display important information about the state of the equipment in the simulation, and more.

As an example of UI pages, check on the Console pages that you can add, see Console Extension, Module, and Page Reference.

For information about creating pages to display custom content that you develop yourself, see Specialized Widgets for UI pages

Depending on the function of the page you want to add, you must add it to the mechanism, scene, or setup file. For example:

  • You add a page with simulated controls for operating equipment to a mechanism.
  • You add a page with simulated controls for changing ocean state or soil properties to a scene.
  • You add default system pages for managing user accounts and network monitoring to a setup file.

Vortex Qt Module

Important: To display content in the user interface, you must add the Qt Module to your setup file.

The VxQtModule mediates information between pages and windows in the user interface. It also instantiates and manages the thread that the QApplication executes. Every use of the UI extension virtual methods occurs in the Qt thread. A singleton object UserInterface Thread is created, and it then creates the QApplication.

Important: There must not be more than one VxQtModule for each node.

IQt Page Properties

For any page that you add, you must specify properties which determine how the page will be displayed in the user interface.

PropertyDescription
Page Name The name of the page (as it will appear on tabs in the category you select)
Page CategorySpecify the page category of the page where you want the widget to appear. The system uses page categories to associate pages with tabs on the side menu which appears to users when they launch a simulation. To place your Qt widgets on a page, you need to associate it with the page category for the page you want it to appear on. For example, specify Equipment_AccessoryTools.
Specific Style Sheet Qt ResourceN/A (Reserved for internal use)
Specific Style Sheet FileSpecify the CSS styling file for the page.
UI FileSpecify the Qt Designer form which the system will use as the UI for this page. The system uses the file to automatically populate the QtDesigner Page Property Browser with the Console widgets in the form. To see a preview of the file, you must save the document.
Qt Script CodeN/A (Reserved for internal use)
Qt Script Discovered WidgetsReserved for internal use
Receiving Window TitlesSpecify which windows will display this content. If your simulator is configured so that the system shows different content depending on which node a window is displayed for, then you must specify the receiving window for the new page in the properties. For example, in the sample Console.vxc file, you can specify that system displays the page on either the receiving window for the Console.Instructor node or the Console.Operator node. If you specify no receiving window (you type a value of 0 in the field for the property), the system does not display the page in the Console when you run the simulation.

IQt Window Properties

The IQt window extension is typically used as a page container. When you create a window extension, you define how the window controls each widget and organizes them. To create a functioning Console interface, you must use the Console Window extension. For a Vortex Player appearance, you can use the Player Window. To add the IQtWindow extension, you must specify the following properties:

PropertyDescription
Window TitleA unique identifier for the window. The system uses it together with IQtPage::ReceivingWindowTitles to specify whether a page is added to the window.
Receive All PagesSpecify whether the window receives and shows all available pages.
Palette FileReserved for internal use.
Specific Style Sheet Qt ResourceReserved for internal use.
Resizing parametersIdentify a screen location for the window.

QtTabWindow Property

For a simple tab window, you can use the Application QtTabWindow. This Application adds the following property:

PropertyDescription
Hide single tabSpecify if the tab bar is hidden when there is only one tab present.