Skip to Content
Main ClassesUser Interface

User Interface

The User Interface class is a subclass of the Panel class. As the class name suggests, this class — and its subclasses — are responsible for organizing the program window. This interface is where the completed modules will be loaded.

Main Functions

User Interface-type classes work with subpanels located in the Actor Core, which must be referenced by name. The following operations can be performed on these subpanels:

Load Module SUBPANEL

Load a module into a subpanel by name

Clear Subpanel SUBPANEL

Clear the contents of a subpanel

Refresh Subpanel SUBPANEL

Refresh the contents of a subpanel

Module Windows

You can also open any Panel-type module in a separate window:

Open Panel in New Window WINDOW

Opens a Panel in a separate window

Window Closed WINDOW

Closes a specific window

Close All Windows WINDOW

Closes all open windows at once

Load Default Panels

The Load Default Panels function lets you specify which modules appear by default on each subpanel for different user levels after login. This list can be configured within the Main VI.

Operator USER LEVEL

Default modules for standard end-users running tests

Technical USER LEVEL

Default modules for technicians with extended access

Administrator USER LEVEL

Default modules for administrators managing the system

Developer USER LEVEL

Default modules including debug and development tools

Default Panels

Interlock Messages

The User Interface class has a module table variable called Interlock Messages, which stores messages defined by individual modules. A unique key is generated for each message, and the variable stores a map of these message–key pairs.

Set Shutdown Interlock REGISTER

Adds a message to the Interlock Messages map. Returns a unique key for later removal

Reset Shutdown Interlock REMOVE

Removes a previously recorded message using its unique key

The primary use of this function is to prevent the program from shutting down, implemented in the System User Interface class via Create Closing PopUp.vi.

Module Interlock Feature

Module Interlock is a feature recommended for modules that, while running, may reach a state where the developer wants to prevent the user from closing the framework. The System User Interface Module is responsible for storing interlock messages and managing the process.

Configuring Interlock

To configure interlock for a specific module, call the Set Module Interlock.vi. The function’s input is the message to be displayed; the System User Interface assigns a uniquely generated identifier (Message Index) to each received message and returns it to the calling module. Message-ID pairs are stored within the System User Interface using a Map data structure.

Set Module Interlock

Deleting Interlocks

Individual interlock messages can be deleted using the Reset Module Interlock.vi. The function’s only input is the Message Index previously returned by the System User Interface class.

Reset Module Interlock

Differences Between User Levels

When interlocking is active, a single-button pop-up window appears for the user, preventing them from closing the framework. The pop-up window displays, at the list level, the name of the module that is preventing the framework from shutting down, as well as the corresponding interlock message.

Reset Module Interlock

For developer-level users, the list discussed earlier also appears, with the exception that in this case, the developer has the option to close the framework.

Reset Module Interlock
Last updated on