The Menu Configuration view in the Visualization activity allows you to define hierarchical menu items that can be used at runtime to provide navigational assistance to an operator.
The way a menu is implemented is determined by the Starter Project upon which a project was based. For example, in a project based on the StruxureWare Starter Project, the menu is incorporated as a common feature across every page. In a project based on the Situational Awareness Starter Project, the menu you configure determines the layout of the Navigation Zone on the operator dashboard.
For an appropriate description of the Menu Configuration Properties, select the Starter Project that was used to create your project.
If your project is created from a Situational Awareness Starter Project, the menu configuration is used to build the following:
A Menu Configuration has the following properties:
Property |
Description |
---|---|
Page |
The Page property is used to give a name to the menu that will include the item. In a Situational Awareness project, the system expects the following menu names:
A project based on the Situational Awareness Starter Project will include a set of default entries for the InformationZone and Headerbar menus. There are no default entries for the Navigation menu, as you will need to manually configure these to reflect the pages included in your project. See Prepare Navigation Menus. |
Level 1-6 |
In a Situational Awareness project, the Level 1-6 properties are used in the following ways, based on the three expected menus:
In each case, the arrangement of menu entries is determined by the Order property. |
Menu Command |
The Cicode expression to be executed when the menu item is selected. String of up to 254 characters. For Situational Awareness projects, use the "Navigation_ShowTargetPage" command to call a page. If you have the same page in HD1080 and UHD4K resolutions (to support a range of client screens), the variation of the page that displays at runtime will be determined by the context of the current workspace. This means you do not need to add the resolution suffix ("_HD1080" or "_UHD4K") to the end of the page name specified in the Target Page field. |
Target Page |
The page that is displayed when the menu item is executed. See the Menu Command property. |
Comment |
An optional comment (of up to 128 characters) about the menu entry. |
Order |
Defines the position of a menu entry in relation to the other menu entries in the same hierarchy level. The Order property functions in the following ways, based on the three expected menus:
If this field is left blank, it will take the default value of zero (0). If more than one entry of the same order exists, they are displayed in the same order as they are defined in the database. In the case of Navigation menu, the entry will fill the first available space in the layout of buttons. This property affects the order that the menu entries are returned through menu Cicode functions. |
Hidden when |
A Cicode expression that determines when the menu entry is hidden on the page. |
Disabled when |
A Cicode expression that determine when the menu entry is disabled on the page. |
Disabled style |
A number to indicate how the disabled entry is displayed in the menu. It is up to the user to decide what the numbers mean. Note: By default, this property is not used by a Situational Awareness project. |
Symbol |
If the menu entry is associated with a tab, this field allows you to display an icon on the tab. Enter the name of the graphic file you would like to display. You can use the Custom 2 property (see below) to hide the symbol if required. |
Privilege |
The user privilege (0–8) that is necessary to select the menu entry. |
Area |
The user area (0–255) that is necessary to select the menu entry. |
Checked |
If the menu entry is associated with a tab, this field allows you to specify if the tab is pinned by default. Leaving the field blank will mean the tab is not pinned by default. Any other value will mean the tab is pinned by default. This setting will only work if pinning is enabled for the tab bar. This is determined by the Can Tabs Be Pinned? parameter in the Tab Bar Genie. |
Width |
The width of the menu entry on the page. Note: By default, this property is not used by a Situational Awareness project. |
Property |
Description |
---|---|
Cluster |
The name of the cluster associated with the menu item. The specified cluster should be configured otherwise a compile will not be successful. |
Equipment |
Name of equipment associated with the menu item. Select a name from the drop down list, or type a name. String limit of 254 characters, including separating periods (.). |
Property |
Description |
---|---|
Custom 1 |
If the menu entry is associated with a tab, this property determines if the Close button will appear on the tab. If you leave this field blank, the Close button will appear. Any other value will hide the Close button. |
Custom 2 |
If the menu entry is associated with a tab, this property determines if the icon identified in the Symbol field will appear on the tab. If you leave this field blank, the icon will appear. Any other value will hide the icon. . |
Custom 3 |
If the menu entry is associated with a tab, this property determines if a label will appear on the tab. If you leave this field blank, the label will appear. Any other value will hide the label. |
Custom 4-8 |
These custom properties are reserved for system use. |
Property |
Description |
---|---|
Project |
The project in which the menu will be created. |
If your project is created from a StruxureWare starter project, some common menu items are already pre-configured in the menu configuration database (as part of the starter project). They will be displayed on the page automatically at runtime. To view additional pages in your project at runtime you will need to manually configure the menu items.
assign individual menu items to a particular page, or make them available to every page. Menu items configured in included projects will be merged with the ones configured in the main project, into a single menu tree structure when you compile your main project. This allows extra menu items to be automatically added to your project depending on what projects are included.
Menu Configuration has the following properties:
Property |
Description |
---|---|
Page |
The page on which this entry will exist. If blank, the entry exists on every page. |
Level 1-6 |
Creates the menu hierarchy path of the entry. String length can be up to 64 characters. Up to 6 levels of menu hierarchy are supported. Menu entries that have the same upper levels are considered to be under the same hierarchical branch. Note: Menu entries are not case sensitive. |
Menu Command |
The Cicode expression to be executed when the menu item is selected. String of up to 254 characters. |
Comment |
A comment about the menu entry. String of up to 128 characters. |
Order |
The position of a menu entry in relation to the other menu entries in the same hierarchy level. This property affects the order that the menu entries are returned through the menu Cicode functions. If this field is left blank, it will take the default value of zero (0). The relevant menu entries will be returned at the start as a result. If more than one entry of the same order exists, they are displayed in the same order as they are defined in the database. |
Symbol |
The symbol to associate with the menu entry. The string length can be up to 128 characters. A symbol needs to be already defined in the project / included project, and specified in the format of <library name>.<symbol name>. |
Hidden when |
Cicode expression to determine when the menu entry is hidden on the page. String of up to 254 characters. |
Disabled when |
Cicode expression to determine when the menu entry is disabled on the page. String of up to 254 characters. |
Disabled style |
A number to indicate how the disabled entry is displayed in the menu. It is up to the user to decide what the numbers mean. |
Width |
The width of the menu entry on the page. It is up to the user to decide what units to be used. |
Checked |
Determines if the menu entry is initialized with a checked status. |
Privilege |
The user privilege of (0-8) necessary to select the menu entry. |
Area |
The user area (0-255) necessary to select the menu entry. Note: At runtime, you can use the Menu family of Cicode functions to access the information entered in the Menu Configuration dialog. |
Property |
Description |
---|---|
Cluster |
The name of the cluster associated with the menu item. The specified cluster should be configured otherwise a compile will not be successful. |
Equipment |
Name of equipment associated with the menu item. Select a name from the drop down list, or type a name. String limit of 254 characters, including separating periods (.). |
Property |
Description |
---|---|
Custom 1-8 |
User-defined strings that can be accessed by Cicode Functions MenuNodeGetProperty and MenuNodeSetProperty. Max length is 254 characters. |
Property |
Description |
---|---|
Project |
The project in which the menu will be created. |
To configure menus for StruxureWare templates, see Creating Custom Menus for StruxureWare Templates.
A set of page templates known as Tab Style Templates is provided with the product. These templates already contain a tabbed menu system.
If your pages are based on these templates, the menu items configured in the menu configuration database will be displayed on the page automatically at runtime. If no menu is defined in the project, a default menu will be created at runtime to provide access to pages in the project. The default menu functionality can be changed using [Page]AddDefaultMenu parameter.
Menu Configuration has the following properties:
Property |
Description |
---|---|
Page |
The page on which this entry will exist. If blank, the entry exists every page. The page name of "Template" is a keyword used in the Tab Style templates for defining custom pop-up menus. |
Level 1-6 |
Creates the menu hierarchy path of the entry. String length can be up to 64 characters. Up to 6 levels of menu hierarchy are supported. Menu entries that have the same upper levels are considered to be under the same hierarchical branch. Note: Menu entries are not case sensitive. In a Tab Style Project:
|
Menu Command |
The Cicode expression to be executed when the menu item is selected. String of up to 254 characters. |
Comment |
A comment about the menu entry. String of up to 128 characters. |
Order |
The relative display position of the tabs/buttons or menu items among themselves. For the tabs and buttons, it determines the display order from left to right. For the drop-down menu items, it determines the display order from the top to the bottom. If this field is left blank, it will take the default value of 0. The relevant entries will be displayed at the start as a result. If more than one entry of the same order exists, they are displayed in the same order as they are defined in the database. |
Symbol |
The symbol to associate with the menu entry. The string length can be up to 128 characters. The format to use is <library name>.<symbol name>. The template expects the symbol to be a certain size when it is configured against different menu types.
Some common symbols can be found in the symbol libraries "icons_16x16" and "icons_32x32". The field is not applicable for menu and sub-menu items. |
Hidden when |
The tab menu bar on the template does not support visibility. When the expression defined in this field is true, the relevant menu entry is disabled instead. |
Disabled when |
Cicode expression to determine when the menu entry is disabled on the page. String of up to 254 characters. |
Disabled style |
This field is not used by the tab menu bar on the template. |
Width |
The width (measured in pixels) of the item on the page. If this is not specified, the item is automatically sized to show the most content. This field only applies to the tabs and buttons. The objects used in the template are subjected to minimum widths:
|
Checked |
Determines if the menu entry is initialized with a checked status. This field only applies to the menu items and sub-menu items. |
Privilege |
The user privilege of (0-8) necessary to select the menu entry. |
Area |
The user area (0-255) necessary to select the menu entry. Note: At runtime, you can use the Menu family of Cicode functions to access the information entered in the Menu Configuration dialog. |
Property |
Description |
---|---|
Cluster |
The name of the cluster associated with the menu item. The specified cluster should be configured otherwise a compile will not be successful. |
Equipment |
Name of equipment associated with the menu item. Select a name from the drop down list, or type a name. String limit of 254 characters, including separating periods (.). |
Property |
Description |
---|---|
Custom 1-8 |
User-defined strings that can be accessed by Cicode Functions MenuNodeGetProperty and MenuNodeSetProperty. Max length is 254 characters. |
Property |
Description |
---|---|
Project |
The project in which the menu will be created. |
To configure menus for Tab Style templates, see Create Custom Tab Style Menus.
Through the combination of Cicode and graphical objects, you can create a custom menu system that suits your project.
At runtime, three types of menu trees are created.
Note: For existing users of the CSV_Include project, the menu was defined in a file called Menu.dbf in your project folder. You can migrate the menu definition in this file to the built-in menu configuration database using the Migration Tool. This step is useful if you plan to migrate your project from the CSV_Include project to a newer set of templates.
See Also
Published June 2018