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 or in the Vortex Launcher, the system relies on the Qt module. When you set up the Console extension, or the Vortex Launcher main window 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.
Property | Description |
---|---|
Page Name | The name of the page (as it will appear on tabs in the category you select) |
Page Category | Deprecated in the new Vortex Launcher workflow (but still use in the old console). For the new workflow, use Instead the property SimulatorProperties - category. Specify 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 Resource | N/A (Reserved for internal use) |
Specific Style Sheet File | Specify the CSS styling file for the page. |
UI File | Specify 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 Code | N/A (Reserved for internal use) |
Qt Script Discovered Widgets | Reserved for internal use |
Receiving Window Titles | Specify 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. |
Simulator Properties - category | This property is used for the new Vortex Launcher workflow. It replaces the old deprecated PageCategory.
Categories tabs in Vortex Launcher Multiple page tabs in each category can be enabled or disabled with the simulator property “Multiple Page Enabled”, in the setup document (see https://cm-labs.atlassian.net/wiki/spaces/VSD2402/pages/497677380/How+to+add+UI+pages+to+a+simulator#Simulator-Window-Extensions ) |
Simulator properties - Sort Priority | Used to sort UI pages within a category in descending order (the page with the highest priority is displayed leftmost). If multiple pages have the same priority, they are added one after the other in the order they are found in the vortex document. |
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:
Property | Description |
---|---|
Window Title | A 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 Pages | Specify whether the window receives and shows all available pages. |
Palette File | Reserved for internal use. |
Specific Style Sheet Qt Resource | Reserved for internal use. |
Resizing parameters | Identify 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:
Property | Description |
---|---|
Hide single tab | Specify if the tab bar is hidden when there is only one tab present. |