UI Manager module primarily serves as a container for the actual UI of the actual project-specific modules. It abstracts away the reusable parts of a user interface, like menus, status bars and some management functionality, and allows for user-defined and project-specific UIs.
The following configuration parameters can be set:
[panels] ; list of subpanels in the layout_vi (which is defined above) ; and the corresponding DQMH modules to load into them SP_Navigation=Framework\Navigation.lvlib:Main.vi
The UI Manager's front panel consists of one large subpanel control that covers most of the screen estate. During startup, the UI Manager loads a layout VI into this subpanel.
The path to the layout VI is set in the configuration file (section The layout VI is stored in
layout_vi, path relative to <%APPLICATION%> directory).
/Project/Project.lvlib:PROJECT_Layout-VI.vi and is statically linked into UI Manager.
The layout VI itself consists of one or more subpanels that can be populated with DQMH modules. There are two minimum requirements:
SP_Content. This is the main subpanel that the UI Manager will use to display other modules when requested (see below).
The allocation between modules and subpanels is again defined in the configuration file (section
panels with the key names being the subpanel labels and the values being the fully qualified module names). During startup, the UI Manager will load the configured modules into the corresponding subpanels.
If the layout VI contains a string control labelled
STR_Title, the UI Manager updates this control through the “Update Title” request
If the layout VI contains a picture control labelled
PIC_Logo, the UI Manager populates this control with the image file defined in the UI Managers' configuration file (key
logo in section
global referencing a file location relative to the <%CONFIG%> directory).
The UI Manager loads the run-time menu from
/<%PROJECT%>/PROJECT_RunTimeMenu.rtm during startup. The default menu shows the following items by default:
File Login Settings* User Access* Localisation* --- Exit Modules (populated dynamically) Debug Event Manager Show Block Diagram (populated dynamically) Load API Tester (populated dynamically) Help About this application... About HSE... About LabVIEW...
The items marked as (populated dynamically) are filled during runtime, see below. The items marked with * are used for our hse-application-addons
Any module can insert itself into the runtime menu by sending the
Add to Run-Time Menu System Message broadcast and supplying its own location (path).
The UI Manager will parse the Module's name (
<%ModuleName%> as used in the examples below) from the path (*) and add it to the following locations:
|Menu Tag||Item Name||Item Tag|
(*) The folder which the module is stored in has to have the same name as the module lvlib itself.
The UI Manager forwards menu selections to registered modules. If manual creation of entries in the
PROJECT_RunTimeMenu.rtm is needed, they have to be handled project specifically. For this case, the UI Manager forwards unhandled menu selections to the
PROJECT_Evaluate Default Menu Selection.vi.
The actual UI of the application (the front panel of any given DQMH module) is loaded into the Layout VI's
Display another Module UI
Request UI Display
Request UI Displayrequest w/ reply
Display Scenario(managed, stand-alone)
System Messagebroadcast event
Source Type(module, application, network)
Source Name(needed for cloneables to identify the clone instance)