Menus / Toolbars / User Interface elements

Application UI Configuration Documentation

The configuration of various UI elements such as menus, toolbars, context menus, and keyboard shortcuts in the application is defined in the application.xml file. This document provides a comprehensive guide to understanding the structure and elements of the application.xml.

Structure of application.xml

The application.xml file follows a structured format using XML. It comprises several key sections:

  1. UI Configuration: Contains the configuration for different UI elements.

  2. Definitions: Defines the actual actions associated with UI elements.

UI Configuration

Menus

  • Menus section defines the structure of menus in the application.

  • Each menu item is defined with attributes such as definition_ref, type, UID, and name.

Toolbars

  • Navigation_toolbars section specifies the configuration of toolbars.

  • Toolbars can be customized with various buttons and actions.

Context Menus

  • Context_menus section defines different types of context menus based on user interactions.

  • Each context menu is defined with attributes like definition_ref, type, UID, and name.

Shortcut Keys

  • Shortcut_keys section lists keyboard shortcuts used within the application.

  • Each shortcut is defined with attributes such as definition_ref, UID, accelerator, and name.

Mouse Shift Clicks

  • Mouse_shift_clicks section specifies actions triggered by mouse clicks combined with a shift key.

  • Actions like opening specific menus are defined here.

Double Click Actions

  • Double_click_actions section, though not yet implemented, would define actions triggered by double-click events.

Definitions

Actions

  • Definitions section defines the actual actions associated with UI elements.

  • Each action is defined with attributes like smallIconName, description, command, id, and name.

 

The application.xml has this structure:

<?xml version="1.0" encoding="UTF-8"?> <ui> <partial_file_list/> <group id="Id_XenonMainGroup" name="MAIN"> <menus> <menu definition_ref="" type="1" UID="ID_MnFile" name="File"> <aliases> <alias Alias="POP0"/> <alias Alias="File"/> </aliases> <menu definition_ref="ID_DOWNLOAD_DWG" UID="PMI_1000" name="Download as DWG"/> <menu definition_ref="ID_DOWNLOAD_DXF" UID="PMI_1001" name="Download as DXF"/> <menu definition_ref="ID_DOWNLOAD_PDF" UID="PMI_1011" name="Download as PDF"/> ... </menu> <menu definition_ref="" type="1" UID="ID_MnView" name="View"> <aliases> <alias Alias="POP3"/> <alias Alias="VIEW"/> </aliases> <menu definition_ref="ID_REBUILD" UID="PMI_REBUILD" name="Rebuild"/> <menu definition_ref="ID_ZOOMS" UID="PMI_ZOOMS" name="Zoom"> <menu definition_ref="ID_ZOOM_FIT" UID="PMI_ZOOM_FIT" name="Zoom Fit"/> <menu definition_ref="ID_ZOOM_WIN" UID="PMI_ZOOM_W" name="Zoom Window"/> </menu> ... </menu> ... </menus> <toolbars/> <navigation_toolbars> <toolbar on_by_default="true" UID="ID_NavBarDefault"> <toolbar definition_ref="ID_DISPLAYMENU" UID="NTB_DISPLAYMENU" name="Menu"/> <toolbar definition_ref="ID_U" UID="NTB_U" name="Undo"/> <toolbar definition_ref="ID_REDO" UID="NTB_REDO" name="Redo"/> <toolbar definition_ref="ID_PAN" UID="NTB_PAN_TLBAR" name="Pan"/> <toolbar definition_ref="ID_ZOOM" UID="NTB_ZOOM" name="Zoom"> <toolbar definition_ref="ID_ZOOM_FIT" UID="NTB_ZOOM_FIT" name="Zoom Fit"/> <toolbar definition_ref="ID_ZOOM_WIN" UID="NTB_ZOOM_W" name="Zoom Window"/> </toolbar> ... </toolbar> <toolbar UID="ID_NavBarViewOnly"> <toolbar definition_ref="ID_PAN" UID="NTB_PAN_VO" name="Pan"/> <toolbar definition_ref="ID_ZOOM" UID="NTB_ZOOM" name="Zoom"> <toolbar definition_ref="ID_ZOOM_FIT" UID="NTB_ZOOM_FIT" name="Zoom Fit"/> <toolbar definition_ref="ID_ZOOM_WIN" UID="NTB_ZOOM_W" name="Zoom Window"/> </toolbar> ... </toolbar> </navigation_toolbars> <context_menus> <menu definition_ref="" type="2" UID="PM_0006" name="Default Menu"> <aliases> <alias Alias="POP501"/> <alias Alias="CMDEFAULT"/> </aliases> <menu definition_ref="ID_REPEAT" UID="PMI_385" name="Repeat"/> <menu definition_ref="" name=""/> ... </menu> <menu definition_ref="" type="3" UID="PM_0007" name="Edit Menu"> <aliases> <alias Alias="POP502"/> <alias Alias="CMEDIT"/> </aliases> <menu definition_ref="ID_REPEAT" UID="PMI_397" name="Repeat %s"/> <menu definition_ref="" name=""/> ... </menu> <menu definition_ref="" type="4" UID="PM_0009" name="Command Menu"> <aliases> <alias Alias="POP503"/> <alias Alias="CMCOMMAND"/> </aliases> <menu definition_ref="ID_ENTER" UID="PMI_414" name="Enter"/> <menu definition_ref="ID_CANCEL" UID="PMI_415" name="Cancel"/> </menu> <menu definition_ref="" type="5" UID="PM_0026" name="Relate Dimension"> <aliases> <alias Alias="OBJECT_DIMENSION"/> </aliases> <menu definition_ref="ID_DIMREASSOCIATE" UID="PMI_248" name="Relate Dimension"/> </menu> </context_menus> <double_click_actions /> <shortcut_keys> <shortcut definition_ref="ID_REDO" uid="MA_13" accelerator="Ctrl+Y" name="Redo"/> <shortcut definition_ref="ID_REDO" uid="MA_28" accelerator="Meta+Y" name="Redo"/> <shortcut definition_ref="ID_REDO" uid="MA_29" accelerator="Meta+Shift+Z" name="Redo"/> <shortcut definition_ref="ID_U" uid="MA_14" accelerator="Ctrl+Z" name="Undo"/> <shortcut definition_ref="ID_U" uid="MA_27" accelerator="Meta+Z" name="Undo"/> <shortcut definition_ref="ID_DELETE" uid="MA_15" accelerator="Del" name="Delete"/> ... </shortcut_keys> <mouse_shift_clicks> <click button_num="2" definition_ref="ID_SNAP_MENU" name="ESnap Menu" UID="MB_10"/> <click button_num="3" definition_ref="ID_ROLLVIEW" name="Transparent Orbit" UID="MB_11"/> </mouse_shift_clicks> <definitions> <definition smallIconName="" description="Aligns entities with other entities in 2D and 3D space: ALIGN" iconName="" command="^C^C_ALIGN" iconRecource="" id="ID_ALIGN" name="Align"/> <definition smallIconName=":/images/small_icons/dimensions/angular.svg" description="Creates an angular dimension: ANGLEDIMENSION" iconName=":/images/icons/dimensions/angular.png" command="^C^C_ANGLEDIMENSION" iconRecource="" id="ID_ANGLEDIMENSION" name="Dimension, Angular"/> ... </definitions> </group> </ui>

 

Related content