Difference between revisions of "OtfSolutionExplorer"

From emotive
Jump to navigation Jump to search
 
(114 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:Open Test Framework - Solution Explorer (Solution Management)}}[[Category:OTF]]
+
{{DISPLAYTITLE:Open Test Framework - Solution Explorer (Solution Manager)}}[[Category:OTF]]
{{NoToc}}
 
  
{{FontColor|red||EDITING ...}}
+
==Overview==
 +
{|
 +
| style="vertical-align:top;"|
 +
The '''Solution Explorer''' presents the whole OTX solution in a clear tree structure. All the elements are displayed as nodes in the tree-view starting from the "'''root node'''" to the ActionRealisations hierarchically. With the display of tree structure and with various commands to modify and handle elements, the Solution Explorer does help users to manage all parts and elements of a solution easily at design-time. It also supports with commands to execute a sequence (a procedure) directly, or to check for errors before execution, or even to build DLLs or executable files etc.
  
{{ImageStyle2|OTFSolutionExplorer.png|300px|The Solution Explorer shows the structure of an OTX solution}}
+
The Solution Explorer is a tool window, so it can be docked, floating, opened, closed, resized or set to auto hide. When starting the OTF the first time, the Solution Explorer is already opened and docked on the right of the [[OtfWorkflowDesigner|Workflow Designer]]. You can open or close it via the "'''Solution Explore'''" button ("[[File:SolutionExplorer.png]]") in the [[OtfMenuBar|Ribbon]]. Besides, it has a menu bar with some commands to help users customize the presentation of the solution tree-view. Below are the short descriptions and guidelines for this menu bar:
The Solution Explorer presents the whole OTX solution in a clear tree form. All the elements are displayed as nodes in the tree starting from the root node to the ActionRealisation hierarchically.
 
  
All the elements of an OTX solution are listed below with the description of the important aspects, features and commands:
+
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 +
|-{{TableRow2}}
 +
|'''Tooltip switch''' || Turns the tooltips in Solution Explorer ON/OFF.
 +
|-{{TableRow1}}
 +
|'''Display main elements''' || Displays the main elements only (Projects, Pachages, Documents and Procedures).
 +
|-{{TableRow2}}
 +
|'''Display Flow element''' || Turns the display of the flow element of a procedure ON/OFF.
 +
|-{{TableRow1}}
 +
|'''Display only global library elements''' || Hides all the elements in all referenced Ptx libraries that do not have the [[Core.Visibilities|Visibility]]:Public (default:ON).
 +
|-{{TableRow2}}
 +
|'''Expand All'''{{TooltipIcon2|(Note: The unloaded documents will not be expanded)}} || Displays all-level elements in the solution.
 +
|-{{TableRow1}}
 +
|'''Collapse All''' || Hides all elements in all projects, only displays the solution node and project nodes.
 +
|-{{TableRow2}}
 +
|'''Up''' || Moves the element up one level within a scope (e.g. moves a variable up one level in the [[#LD|local Declarations]] scope).
 +
|-{{TableRow1}}
 +
|'''Down''' || Moves the element down one level within a scope.
 +
|-{{TableRow2}}
 +
|'''Sort Items A-Z''' || Arranges elements within a scope in ascending order.
 +
|-{{TableRow1}}
 +
|'''Sort Items Z-A''' || Arranges elements within a scope in descending order.
 +
|}
  
* [[#SL|Solution (root node)]]
 
* [[#Prj|Projects]]
 
* [[#Ref|References]]
 
* [[#Pck|Packages]]
 
* [[#Doc|Documents]]
 
* [[#Adm|AdminData]]
 
* [[#Imp|Imports]]
 
* [[#Val|Validities]]
 
* [[#Sig|Signatures]]
 
* [[#GD|Global Declarations]]
 
* [[#Prc|Procedures]]
 
* [[#Com|Comments]]
 
* [[#Prm|Parameters]]
 
* [[#Thr|Throws]]
 
* [[#LD|Local Declarations]]
 
* [[#Flw|Flow]]
 
  
 +
All the elements of an OTX solution are listed in the following sections with the description of the important aspects, features and commands.
 +
| style="width:10px;" |
 +
| style="vertical-align:top;"| {{ImageStyleCenter| OTFSolutionExplorer.png||The Solution Explorer shows the structure of an OTX solution }}
 +
|}
  
 +
=={{Anchor|SL|}}[[File:SolutionNode.png|32px]] Solution (root node)==
 +
An OTX solution is a standard folder in the file system and it is displayed as the "'''root node'''" in the Solution Explorer. The OTX solution folder contains a solution file ('''*.otfSln''') with solution management information (see [[OtfSolutionSettings|Solution Settings]]), and another file ('''*.otfSuo''') to record debug breakpoints, [[OtfWatchWindow|watched variable]] and information of auto reloading procedures. An OTX solution can have one or many OTX projects but it is not mandatory to have projects in the solution. These OTX projects are displayed as project nodes below the root node and only the project nodes are allowed here. The OTX projects may be located inside or outside the solution folder, the solution references to these projects with relative paths or absolute paths.
  
 +
To load or to create a solution, you can use the [[OtfStartPage#OS|related functions]] in the [[OtfStartPage|Start Page]] or the "New Solution" command in the menu File of the [[OtfMenuBar|Ribbon]]. The name of a solution can be arbitrary but it must comply with the restrictions of the operating system.
  
 
+
{{Anchor|SlnContext|}}
 
+
Right-click on the '''solution''' node, there will be a context menu with the following entries:
=={{Anchor|SL|}}[[File:SolutionNode.png]] Solution (root node)==
 
 
 
An OTX solution is a standard folder in the file system and it is displayed as the "root node" in the Solution Explorer. The OTX solution contains a solution file ('''*.otfSln''') with solution management information (see also [[OtfSolutionSetting|Solution Setting]] section), and another file ('''*.otfSuo''') to record debugging and display information. An OTX solution can have one or many OTX projects but it is not mandatory to have projects in the solution. These OTX projects are displayed as project nodes '''below the root node''' and only the project nodes are allowed here. The OTX projects may be located inside or outside the solution folder, the solution file references to these projects with relative paths or absolute paths.
 
 
 
To load or to create a solution, you can use the [[OtfStartPage#OS|related functions]] in the [[OtfStartPage|Start Page]] or in the menu File of the [[OtfMenuBar|Ribbon menu bar]]. The name of a solution can be arbitrary but it must comply with the restrictions of the operating system.
 
 
 
{{Anchor|SlnContext|}}The solution node has a context menu, right-click on the solution node to show this context menu. The functions of each entry of the context menu are described below:
 
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Overview''' || Opens the Overview window to display the whole designer content of the current solution.
 +
|-{{TableRow2}}
 +
|'''Validate''' || Checks all the documents within the solution for any warnings or errors.
 +
|-{{TableRow1}}
 +
|'''Build Solution''' || Builds the DLL/JAR files of all the projects in the solution.
 +
|-{{TableRow2}}
 +
|'''Rebuild Solution''' || Cleans the solution and builds the DLL/JAR files of all the projects in the solution.
 +
|-{{TableRow1}}
 +
|'''Clean Solution''' || Deletes all the files in the output folder of the Dotnet and Java runtime of all the projects in the solution.
 +
|-{{TableRow2}}
 +
|'''Change all paths to URI''' || Searches all the paths used in all the documents of the solution and converts them to URI <br/>(limits on some activities that use paths).
 +
|-{{TableRow1}}
 +
|'''Export...> Export As PTX...''' || Exports all the projects in the current solution to the PTX library.
 +
|-{{TableRow2}}
 +
|'''Export...> Export As ZIP archive...''' || Exports the current solution to the ZIP archive.
 +
|-{{TableRow1}}
 +
|'''Add > New Project...''' || Adds a new project to the current solution.
 +
|-{{TableRow2}}
 +
|'''Add > New Player Project...''' || Adds a new player project to the current solution.
 +
|-{{TableRow1}}
 +
|'''Add > Existing Project...''' || Adds an existing project to the current solution.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Validate''' || Checks all the documents in the solution for any warnings or errors
+
|'''Add > Import project from PTX library...''' || Adds a new project from a PTX library to the current solution.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Build Solution''' || Builds the dll files (also the executable files or setup files i) of all the projects in the solution
+
|'''Add > Import project from PPX library...''' || Adds a new player project from a PPX library to the current solution.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Change all paths to URI''' || Searches all the paths used in all the documents of the solution and changes them to URI
+
| '''Add > New Project / Player from an existing template''' || Adds a new project/player project to the current solution from an existing template.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> New Project''' || Adds a new project to the current solution
+
|'''Rename''' || Renames the current solution.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Existing Project''' || Adds an existing project to the current solution
+
|'''Add Solution to Subversion''' || Add the current solution to Subversion.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Import project from Ptx library''' || Adds a new project to the current solution from a Ptx library
+
|'''Version Control (Subversion) > Help...''' || Opens the user manual of the TortoiseSVN.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
| '''Subversion Category''' || Handles Subversion tasks on the solution scope (See [[Subversion]] section for more information)
+
|'''Version Control (Subversion) > Setting...''' || Opens the "Settings - TortoiseSVN" dialog box.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Open Folder in Windows Explorer''' || Opens the solution folder in a new window with Windows Explorer
+
|'''Version Control (Subversion) > About...''' || Opens the version information dialog box.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Properties''' || Opens the [[OtfOSetting|solution setting]] dialog
+
|'''Open Folder in Windows Explorer''' || Opens the solution folder in a new window with Windows Explorer.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Properties''' || Opens the [[OtfSolutionSettings|Solution Settings]] dialog box.
 
|}
 
|}
  
 +
=={{Anchor|Prj|}}[[File:Project32.png|32px]] Projects==
  
=={{Anchor|Prj|}}Projects==
+
Similar to the OTX solution, an OTX project is a standard folder in the file system. It contains a project file ('''*.otfPrj''') with project management information, and the necessary configuration files, also the resources for the OTX extensions etc. (see [[OtfProjectSettings|Project Settings]] for more information). An OTX project can have one or many OTX packages but it is not mandatory to have packages in the project. The OTX packages are displayed as package nodes below the project node and only the packages nodes are allowed here.
 
 
Like the OTX solution, an OTX project is a standard folder in the file system. It contains a project file ('''*.otfPrj''') with project management information, and the configuration files {{Question|for the OTX extension libraries used in the project}} ect. (see [[OtfProjectSetting|Project Setting]] section for more information). An OTX project can have one or many OTX packages but it is not mandatory to have packages in the project. The OTX packages in a project are displayed as package nodes '''below the project node''' and only the packages nodes are allowed here.
 
  
[[File:Exclamation.png]] Important: The names of '''all the elements below a project node''' shall conform the [[OtxNamingConventions|OTX Naming conventions]]!
+
[[File:Exclamation.png]] Important: The names of '''all the elements below a project node''' shall conform the [[General.NamingConventions|OTX Naming conventions]]!
  
You can add a new project or add an existing project by using the [[#SlnContext|context menu]] of the solution. Note that every new project added, a new package and a new document with the procedure "main" will be automatically created in the new project. The name of the new package will be derived from the name of the new project. Beside adding a project by the context menu of the solution, you can use the [[OtfStartPage#NS|related functions]] in the [[OtfStartPage|Start Page]] or in the menu File of the [[OtfMenuBar|Ribbon menu bar]]. The name of an OTX project should only contain letters, numbers, underscores and dashes, and the total length of the path to the project should be less than 128 characters (e.g. D:\Solution1\Project1\Project1.otfPrj < 128 characters).
+
You can add a new project or add an existing project by using the [[#SlnContext|context menu of the solution]]. Besides adding a project by the [[#SlnContext|context menu of the solution]], you can use the [[OtfStartPage#NS|related functions]] in the [[OtfStartPage|Start Page]] or the "New Project" command in the menu File of the [[OtfMenuBar|Ribbon]]. Note that every new project added, a new package and a new document with the "'''main'''" procedure will be automatically created in the new project. The name of the new package will be derived from the name of the new project. The name of an OTX project should only contain letters, numbers, underscores and dashes, and the total length of the path to the project should be less than 128 characters (e.g. D:\Solution1\Project1\Project1.otfPrj < 128 characters).
  
{{Anchor|PrjContext|}}The project node has a context menu, right-click on the project node to show this context menu. The functions of each entry of the context menu are described below:
+
{{Anchor|PrjContext|}}
 +
Right-click on the '''project''' node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Overview''' || Opens the Overview window to display the whole designer content of the solution and focuses on the selected project.
 +
|-{{TableRow2}}
 +
|'''Validate''' || Checks all the documents within the project for any warnings or errors.
 +
|-{{TableRow1}}
 +
|'''Display Instructions''' || Displays a page with the notes.
 +
|-{{TableRow2}}
 +
|'''Build Project''' || Builds the DLL/JAR file of the project.
 +
|-{{TableRow1}}
 +
|'''Build Lua Project{{TooltipIcon2|This menu only works when the DiagComRaw extension is opened.}}''' || Builds project in Lua code.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Validate''' || Checks all the documents in the project for any warnings or errors
+
|'''Rebuild Project''' || Cleans the project and builds the DLL/JAR files of the projects.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Build''' || Builds the dll files (also the executable files or setup files i) of the project
+
|'''Clean Project''' || Deletes all the files in the output folder of the Dotnet and Java runtime of the projects.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Ptx Export...''' || Export the project to a Ptx library
+
|'''Export...> Export As PTX...''' || Exports the project to a PTX library.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> New Package''' || Adds a new package to the project
+
|'''Export...> Export As Template...''' || Exports the project to a PTXT library.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Existing Package''' || Adds an existing package to the project
+
|'''Add > New Package...''' || Adds a new package to the project.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Add PTX library reference''' || Adds a reference to a Ptx library
+
|'''Add > Existing Package...''' || Adds an existing package to the project.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Paste''' || Pastes a copied or cut package to the project
+
|'''Add&nbsp;>&nbsp;Add&nbsp;PTX&nbsp;library&nbsp;reference...''' || Adds a reference to a PTX library.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Delete''' || Deletes the reference of the solution to the project
+
|'''Add > [ProjectName]{{TooltipIcon2|This menu entry only appears if there is another project which has not been referred by this project.}}''' || Adds a reference to the project [ProjectName].
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Rename''' || Renames the project
+
|'''Paste''' || Pastes a package to the project.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Set as Startup Project''' || Sets the project as the Startup Project of the solution
+
|'''Delete''' || Deletes the reference from the solution to the project.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
| '''Subversion Category''' || Handles Subversion tasks on the project scope (See [[Subversion]] section for more information)
+
|'''Rename''' || Renames the project.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Open Folder in Windows Explorer''' || Opens the project folder in a new window with Windows Explorer
+
|'''Set as Startup Project''' || Sets the project as the startup project of the solution.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Properties''' || Opens the [[OtfProjectSetting|project setting]] dialog
+
|'''Add Selected Project to Subversion''' || Adds the selected project to Subversion.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
| '''Version Control (Subversion) > Add...{{TooltipIcon2|This menu only works when the solution is under SVN control.}}''' || Adds the current project to source control of SVN which needs to be committed to SVN later..
 +
|-{{TableRow2}}
 +
| '''Version Control (Subversion) > Add to ignore list...{{TooltipIcon2|This menu only works when the solution is under SVN control.}}''' || Adds the current project to the ignore list so that it will not be added back into Subversion again by mistake.
 +
|-{{TableRow1}}
 +
|'''Version Control (Subversion) > Help...''' || Opens the user manual of the TortoiseSVN.
 +
|-{{TableRow2}}
 +
|'''Version Control (Subversion) > Setting...''' || Opens the "Settings - TortoiseSVN" dialog box.
 +
|-{{TableRow1}}
 +
|'''Version Control (Subversion) > About...''' || Opens the version information dialog box.
 +
|-{{TableRow2}}
 +
|'''Open&nbsp;Folder&nbsp;in&nbsp;Windows&nbsp;Explorer''' || Opens the project folder in a new window with Windows Explorer.
 +
|-{{TableRow1}}
 +
|'''Properties''' || Opens the [[OtfProjectSettings|Project Settings]] dialog box.
 
|}
 
|}
  
 +
{{Note|In the Solution Explorer, you can use keyboard shortcuts with almost all element nodes in the project node (Ctrl+C:Copy, Ctrl+X:Cut, Ctrl+V:Paste). This will be mentioned in some of the following sections where keyboard shortcuts are allowed.}}
  
=={{Anchor|Ref|}}References==
+
==={{Anchor|Ref|}}[[File:PtxReference32.png|32px]] References===
  
When a project references to one or many Ptx libraries with relative paths or absolute path, these Ptx libraries will be displayed as Ptx nodes below the '''"References" node''' of the project. To add a reference to a Ptx library for a project, you can use the [[#PrjContext|context menu]] of the project. To manage the references to the Ptx libraries such as adding, deleting, including into project folder or converting references path, you can open the library manager in the tab "Libraries (PDX References)" of the [[OtfProjectSetting|project setting]], or using the command on the tab "Test Step Libraries" in the [[OtfToolbox|Toolbox]].
+
When a project references to one or many Ptx libraries/projects with relative path or absolute path, these Ptx libraries/projects will be displayed as Ptx nodes below the "'''References'''" node of the project. You can add a reference from a project to a Ptx library/projects by using the [[#PrjContext|context menu of the project]]. To manage the references to the Ptx libraries/projects such as adding, deleting, including Ptx library into project folder or converting references path, you can open "Library Manager" in the "'''[[OtfProjectSettings#"Libraries (PDX References)" settings page|Libraries (PDX References)]]'''" tab of the [[OtfProjectSettings|Project Settings]], or using the "Library View" command ("[[File:LibraryViewAddLib16.png]]") on the "'''Test Step Libraries'''" tab in the [[OtfToolbox|Toolbox]].
  
Right-click on the reference node, there will be a context menu with the following entries:
+
Right-click on the "'''References'''" node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Add > Add PTX library reference...''' || Adds a reference from the project to a PTX library.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Add PDX library reference''' || Adds a reference to a Ptx library in the project
+
|'''Add > [ProjectName]{{TooltipIcon2|This menu entry only appears if there is another project which has not been referred by this project.}}''' || Adds a reference to the project [ProjectName].
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Manage PDX references''' || Open the library manager in the tab Libraries (PDX References) of the [[OtfProjectSetting|project setting]]
+
|'''Manage references...''' || Open the "References" in the "'''[[OtfProjectSettings#"Libraries (PDX References)" settings page|References]]'''" tab of the [[OtfProjectSettings|Project Settings]].
 
|}
 
|}
  
Right-click on the Ptx node in the reference node, there will be a context menu with the following entries:
+
Right-click on the '''PTX/Project''' node in the reference node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete''' || Deletes the reference to the Ptx library in the project
+
|'''Delete''' || Deletes the reference from the project to the PTX library/Project.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Open Folder in Windows Explorer''' || Opens the folder containing the Ptx in a new window with Windows Explorer
+
|'''Open Folder in Windows Explorer'''{{TooltipIcon2|This menu only appears when right-clicking on the PTX node.}} || Opens the folder containing the PTX in a new window with Windows Explorer.
 
|}
 
|}
  
 +
==={{Anchor|Pck|}}[[File:Package32.png|32px]] Packages===
  
=={{Anchor|Pck|}}Packages==
+
For the structural storage of OTX documents in the file system, the OTX packages are used. A package is simply a folder in the file system whose name corresponds to the [[General.NamingConventions|OTX Naming conventions]]. The packages are displayed as package nodes below the project node. Each package can contain other packages (at any depth) or documents, it can also be empty. You can add a new package or an existing package, or paste a package either to a project by using the [[#PrjContext|context menu of the project]], or to a package by using the context menu of that package (see below). You can also use the context menu of a package to copy, cut or modify it. Keyboard shortcuts{{TooltipIcon|(Ctrl+C:Copy, Ctrl+X:Cut, Ctrl+V:Paste)}} are allowed.
 
 
For the structural storage of OTX documents in the file system, the OTX packages are used. A package is simply a folder in the file system whose name corresponds to the [[OTXNamingConventions|OTX Naming conventions]]. The packages are displayed as package nodes below the project node. Each package can contain other packages (at any depth) or documents, it can also be empty. You can add a new package or an existing package, or paste a copied or cut package to a project by using the context menu of the project. You can also do the same tasks on a package by using the [[#PckContext|context menu]] of that package.
 
  
{{Anchor|PckContext|}}The package node has a context menu, right-click on the package node to show this context menu. The functions of each entry of the context menu are described below:
+
{{Anchor|PckContext|}}
 +
Right-click on the '''package''' node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Validate''' || Checks all the documents in the package for any warnings or errors
+
|'''Overview''' || Opens the Overview window to display the whole designer content of the solution and focuses on the selected package.
 +
|-{{TableRow1}}
 +
|'''Validate''' || Checks all the documents within the package for any warnings or errors.
 +
|-{{TableRow2}}
 +
|'''Add > New Document...''' || Adds a new document to the package.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> New Document''' || Adds a new document to the package
+
|'''Add > Existing Document...''' || Adds an existing document to the package.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Existing Document''' || Adds an existing document to the package
+
|'''Add > New Document from an existing template''' || Adds a new document to the current package from an existing template.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Unallocated Document''' || Adds a document from the [[#UnallocatedFiles|Unallocated Files section]] to the package
+
|'''Add > Unallocated Document...''' || Adds a document from the [[#Unallocated|"Unallocated Files"]] section to the package.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> All unallocated Documents''' || Adds all documents from the [[#UnallocatedFiles|Unallocated Files section]] to the package
+
|'''Add > All unallocated Documents...''' || Adds all documents from the [[#Unallocated|"Unallocated Files"]] section to the package.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> New Package''' || Adds a new document to the package
+
|'''Add > New Package...''' || Adds a new package inside the current package.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Existing Package''' || Adds an existing document to the package
+
|'''Add > Existing Package...''' || Adds an existing package inside the current package.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Cut''' || Cuts the package
+
|'''Cut''' || Cuts the package.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Copy''' || Copies the package
+
|'''Copy''' || Copies the package.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Paste''' || Pastes a package or a document to the package
+
|'''Copy complete name''' || Copies the complete OTX name of the package.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete''' || Deletes the package
+
|'''Paste''' || Pastes a package or a document to the package.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Rename''' || Renames the package
+
|'''Delete''' || Deletes the package.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Open Folder in Windows Explorer''' || Opens the package folder in a new window with Windows Explorer
+
|'''Rename''' || Renames the package.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Open Folder in Windows Explorer''' || Opens the package folder in a new window with Windows Explorer.
 
|}
 
|}
  
 +
==={{Anchor|Doc|}}[[File:Document32.png|32px]] Documents===
  
=={{Anchor|Doc|}}Documents==
+
An OTX document is an XML file that describes all the data required for a sequence. An OTX document can reference to other OTX documents; see [[Core.Imports|Imports]] section for detail. All the documents in a package will be displayed as document nodes below the package node. The content of documents are not automatically loaded when loading the solution (except that if a procedure in a document is automatically loaded). To load the content of a document, double-click on the document or use the "'''Open/View'''" menu entry in the context menu of the document (see below). You can add a new document or an existing document, or paste a copied or cut document to a package by using the [[#PckContext|context menu of the package]]. To copy, cut or modify a document, you can use the context menu of that document. Keyboard shortcuts{{TooltipIcon|(Ctrl+C:Copy, Ctrl+X:Cut, Ctrl+V:Paste)}} are allowed.
  
An OTX document is an XML file that describes all the data required for a sequence. An OTX document can refer to other OTX documents, see [[#Imp|Imports]]. The content of the documents are not automatically loaded with the solution (except that if a procedure in a document is automatically loaded). To load the content of a document, double click on the document or use menu Open/View in the context menu of the document. You can add a new document or an existing document, or paste a copied or cut document to a package by using the [[#PckContext|context menu]] of the package.
+
{{Anchor|DocContext|}}
 
+
Right-click on the '''document''' node, there will be a context menu with the following entries:
{{Anchor|DocContext|}}The document node has a context menu, right-click on the package node to show this context menu. The functions of each entry of the context menu are described below:
 
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Overview''' || Opens the Overview window to display the whole designer content of the solution and focuses on the selected document.
 +
|-{{TableRow2}}
 +
|'''Open/View''' || Loads and expands the content of the document.
 +
|-{{TableRow1}}
 +
|'''View Code (OTL)''' || Opens the OTL editor window of the document.
 +
|-{{TableRow2}}
 +
|'''Validate''' || Checks for any warnings or errors in the document.
 +
|-{{TableRow1}}
 +
|'''Display Instructions''' || Displays a page with the notes.
 +
|-{{TableRow2}}
 +
|'''Meta-Data''' ||  Opens the [[OtfMetaDataWindow|Meta Data View]] tool window.
 +
|-{{TableRow1}}
 +
|'''Save''' || Saves all the changes in the document.
 +
|-{{TableRow2}}
 +
|'''Export...> Export as Single Document...''' || Exports the document to a OTX file.
 +
|-{{TableRow1}}
 +
|'''Add > Import/Reference...''' || Adds a reference from the current document to itself or to another document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Open/View''' || Loads the content of the document
+
|'''Add > Global Declaration > New Global Constant...''' || Adds a new global constant to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Validate''' || Checks for any warnings or errors in the document
+
|'''Add > Global Declaration > New Global Variable...''' || Adds a new global variable (document variable) to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Debug''' || Executes the procedure main of the document in debug mode
+
|'''Add > Global Declaration > New Context Variable...''' || Adds a new context variable to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Save''' || Saves all the changes in the document
+
|'''Add > Global Declaration > New State Variable...''' || Adds a new state variable to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Import/Reference''' || Adds a reference to a document
+
|'''Add > AdminData''' || Adds administration data (versioning data) to the document (see [[#Adm|AdminData]]).
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Global Declaration >> New Global Constant''' || Adds a new global constant to the document
+
|'''Add > Validity...''' || Adds a new validity to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Global Declaration >> New Context Variable''' || Adds a new context variable to the document
+
|'''Add > Signatures > New Procedure Signature...''' || Adds a new procedure signature to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Global Declaration >> New Global Variable''' || Adds a new global variable (document variable) to the document
+
|'''Add > Signatures > New Screen Signature...''' || Adds a new screen signature to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> AdminData''' || Adds administration data (versioning data) to the document
+
|'''Add > Signatures > New Device Signature...''' || Adds a new device signature to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Validity''' || Adds a new validity to the document
+
|'''Add > Signatures > New Device Signature...''' || Adds a new device signature to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Signtures >> New Procedure Signature''' || Adds a new procedure signature to the document
+
|'''Add > Signatures > New Structure Signature...''' || Adds a new structure signature to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Signtures >> New Screen Signature''' || Adds a new screen signature to the document
+
|'''Add > Signatures > New Enumeration Signature...''' || Adds a new enumeration signature to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Signtures >> New Device Signature''' || Adds a new device signature to the document
+
|'''Add > Signatures > New SingleEcuJob Signature...''' || Adds a new procedure signature with some supported parameters to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Signtures >> New SingleEcuJob Signature''' || Adds a new procedure signature with some supported parameters to the document
+
|'''Add > Signatures > New FlashJob Signature...''' || Adds a new procedure signature with some supported parameters to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Signtures >> New FlashJob Signature''' || Adds a new procedure signature with some supported parameters to the document
+
|'''Add > Signatures > New SecurityAccessJob Signature...''' || Adds a new procedure signature with some supported parameters to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Signtures >> New SecurityAccessJob Signature''' || Adds a new procedure signature with some supported parameters to the document
+
|'''Cut''' || Cuts the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Cut''' || Cuts the document
+
|'''Copy''' || Copies the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Copy''' || Copies the document
+
|'''Copy complete name''' || Copies the complete OTX name of the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Paste''' || Pastes a global element (valiadity, global declataion, signature) to the document
+
|'''Paste''' || Pastes a global element (a validity, a global declataion, or a signature) to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Delete''' || Deletes the document
+
|'''Delete''' || Deletes the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Rename''' || Renames the document
+
|'''Rename''' || Renames the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Set as Startup Document''' || Sets the document as the Startup Document of the project
+
|'''Set as Startup Document''' || Sets the document as the Startup Document of the project.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Open Folder in Windows Explorer''' || Opens the package folder containing the document in a new window with Windows Explorer
+
|'''Open Folder in Windows Explorer''' || Opens the package folder containing the document in a new window with Windows Explorer.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Properties''' || Opens the properties dialog of the document
+
|'''Properties''' || Opens the properties dialog box of the document.
 
|}
 
|}
  
 +
==={{Anchor|Adm|}}[[File:AdminData.png|32px]] Admin Data===
 +
Some OTX documents have a very long lifetime. They may be used or modified by many people, or even they may be exchanged between the process partners. Therefore, the documents should store the information about the change history, the person who responsible for the changes etc. This kind of data is called "'''Admin-Data'''". This data can be stored within the document or in a seperate file ('''*.adminData'''). The storage method may be set by the "'''File\Option'''" menu in the [[OtfMenuBar|Ribbon]]. The "'''Admin-Data'''" is displayed as the admin-data node below the document node. You can use the [[#DocContext|context menu of a document]] to add the "'''Admin-Data'''" to that document. To modify the "'''Admin-Data'''" of the document, use the context menu of the admin-data node.
  
=={{Anchor|Adm|}}[[File:AdminData.png|40px]]Admin Data==
+
Right-click on the '''admin-data''' node, there will be a context menu with the following entries:
Some OTX documents have a very long lifetime. They may be used or modified by many people, or even they may be exchanged between the process partners. Therefore, the document should store the information about the change history, the person who responsible for the changes ect. This kind of data is called "Admin-Data". This data can be stored within the document or in a seperate file (*.adminData). The storage method may be set by the menu "File\Option" in the [[Menubar|Ribbon menu bar]]. The "Admin-Data" is displayed as the AdminData node below the document node. You can use the [[#DocContext|context menu]] of a document to add the "Admin-Data" to that document.
 
 
 
Right-click on the AdminData node, there will be a context menu with the following entries:
 
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete''' || Deletes the "Admin-Data"
+
|'''Delete''' || Deletes the "'''Admin-Data'''".
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Properties''' || Open the {{Question|AdminData editor dialog}}
+
|'''Properties'''{{TooltipIcon|(Alternative option: double-click on the admin-data node)}} || Opens the admin-data editor dialog box.
 
|}
 
|}
  
 +
==={{Anchor|Imp|}}[[File:Imports32.png|38px]] Imports===
  
=={{Anchor|Imp|}}Imports==
+
With the import element of a document, references can be made ​​to other documents. The references are displayed as import elements (or import nodes) below the "'''Imports'''" node of the document. When a document refers to another document, it imports the global names defined in the referred document (imported document) and it can use these imported global names. However, not all the global names in the imported document are accessible because their [[Core.Visibilities|Visibility]] attributes may not be sufficient to the document which imports the other one.
  
With the import element, references can be made ​​to other documents. The references are displayed as import elements (or import nodes) below the Imports node of the document. When a document references to another document, it imports the global names defined in the referenced document and it can use these global names. However, not all the imported global names are accessible because their visibility attributes are not sufficient to the document which references to the other one.
+
You can add a reference to a document by using the [[#DocContext|menu context]] of the current document or the context menu of the "'''Imports'''" node of the current document (see below). When you click on the corresponding menu entry, the "'''Add new reference (Import)'''" dialog box will appear. Here you can enter the prefix for the reference, note that the prefix must conform to the [[General.NamingConventions|OTX Naming conventions]]. The format of an imported global name is "'''Prefix:ElementName'''". Through the import prefix, a global name of the imported document can be accessed and can be distinguished from the global names of the other imported documents (e.g. Variable1 = '''ImportPrefix1''':GlobalConstant1 + '''ImportPrefix2''':GlobalConstant1). Besides entering the prefix, you have to select the document you want to add reference to. You can select the document in the list of the available documents displayed in the dialog box, which are all the documents in the current project, in the referenced projects and in the referenced Ptx libraries. Below each project or each Ptx library in the list of available documents, the documents will be displayed by the containing package names and the document names (e.g. "'''Package1.Package12.Package121:NewDocument1'''"). Note that you can use a document to import itself. After you have entered a prefix and selected a document to import, click "'''OK'''" button to finish the process and then you can access all the global names with sufficient [[Core.Visibilities|Visibility]] in the current document. To modify a reference, use the context menu of the import node of the reference (see below).
  
You can add a reference to another document by using the [[#DocContext|menu context]] of the current document or the context menu of the Imports node of the current document (see below). When you click on the corresponding menu entry, a dialog of adding reference will occur. Here you can enter the prefix for the reference, note that the prefix must conform to the [[OtxNamingConventions|OTX Naming conventions]]. The format of an imported global name is "Prefix:ElementName". Through the import prefix, a global name of the imported document can be accessed and can be distinguished from the global names of the other imported documents (e.g. Variable1 = ImportPrefix'''1''':GlobalConstant'''1''' + ImportPrefix'''2''':GlobalConstant'''1'''). You also have to select the document you want to reference to. The list of the available documents will be displayed in the dialog according to the current project and all the referenced projects or Ptx libraries. In each project or Ptx libraries, the documents will be displayed by the containing package names and the document names (e.g. "Package1.Package12.Package121:NewDocument1"). Note that you can use a document to import itself. After you enter a prefix and select a document to reference, click "OK" button to finish the process and then you can access all the global names with sufficient visibility in the referencing document.
+
Right-click on the "'''Imports'''" node, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Add Item''' || Adds a reference from the current document to itself or to another document.
 +
|}
  
Right-click on the Imports node, there will be a context menu with the following entries:
+
Right-click on an '''import''' node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add Item''' || Adds a new reference to a document
+
|'''Delete''' || Deletes the reference.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Properties'''{{TooltipIcon|(Alternative option: double-click on the import node)}} || Opens a dialog box to modidfy the reference.
 
|}
 
|}
  
Right-click on an import node, there will be a context menu with the following entries:
+
==={{Anchor|Val|}}[[File:Validity32.png|32px]] Validities===
 +
 
 +
Validities allow for configuring test sequences for different runtime contexts. A Validity is any logical expression which usually consists of contextual variables or global constants. All the validities in a document are displayed as validity nodes below the "'''Validities'''" node. To add or to paste a validity to a document, you can use the [[#DocContext|context menu of the document]] or the context menu of the Validities node (see below). You can also copy, cut or modify a validity by using the context menu of that validity. Keyboard shortcuts{{TooltipIcon|(Ctrl+C:Copy, Ctrl+X:Cut, Ctrl+V:Paste)}} are allowed.
 +
 
 +
Right-click on the "'''Validities'''" node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete''' || Deletes the reference
+
|'''Add Item''' || Adds a new validity to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Properties''' || Opens a dialog to modidfy the reference
+
|'''Paste''' || Pastes a validity to the document.
 
|}
 
|}
  
=={{Anchor|Val|}}Validities==
+
Right-click on a '''validity''' node, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 +
|-{{TableRow2}}
 +
|'''Cut''' || Cuts the validity.
 +
|-{{TableRow1}}
 +
|'''Copy''' || Copies the validity.
 +
|-{{TableRow2}}
 +
|'''Copy complete name''' || Copies the complete OTX name of the validity.
 +
|-{{TableRow1}}
 +
|'''Delete''' || Deletes the validity.
 +
|-{{TableRow2}}
 +
|'''Rename''' || Renames the validity.
 +
|-{{TableRow1}}
 +
|'''Properties'''{{TooltipIcon|(Alternative option: double-click on the validity node)}} || Opens the properties dialog box of the validity.
 +
|}
  
Validities allow for configuring test sequences for different runtime contexts. A Validity is any logical expression which usually consists of contextual variables or global constants. All the validities in a document are displayed as validity nodes below the Validities node. To add a new validity to a document, you can use the [[DocContext|context menu]] of the document or the context menu of the Validities node (see below). You can also copy or cut a validity by using the context menu of that validity node or using shortcuts in the keyboard (Ctrl+C:Copy and Ctrl+X:Cut). To paste a validity to a document, use the context menu of the document or the context menu of the Validities node of the document, or use the shortcut in the keyboard (Ctrl+V:Paste).
+
==={{Anchor|Sig|}}[[File:Signature32.png|32px]] Signatures===
  
 +
A signature describes the interface for a procedure, a screen or an external diagnostic application. All the signatures in a document are displayed as signature nodes below the "'''Signatures'''" node. To add or to paste a signature, you can use the [[#DocContext|context menu of the document]] or the context menu of the "'''Signatures'''" node (see below). To copy, cut or modify a signature, use the context menu of that signature. Keyboard shortcuts{{TooltipIcon|(Ctrl+C:Copy, Ctrl+X:Cut, Ctrl+V:Paste)}} are allowed.
  
Right-click on the Validities node, there will be a context menu with the following entries:
+
Right-click on the "'''Signatures'''" node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Add Item > New Procedure Signature...''' || Adds a new procedure signature to the document.
 +
|-{{TableRow2}}
 +
|'''Add Item > New Screen Signature...''' || Adds a new screen signature to the document.
 +
|-{{TableRow1}}
 +
|'''Add Item > New Device Signature...''' || Adds a new device signature to the document.
 +
|-{{TableRow2}}
 +
|'''Add Item > New Structure Signature...''' || Adds a new structure signature to the document.
 +
|-{{TableRow1}}
 +
|'''Add Item > New Enumeration Signature...''' || Adds a new enumeration signature to the document.
 +
|-{{TableRow2}}
 +
|'''Add Item > New SingleEcuJob Signature...''' || Adds a new procedure signature with some supported parameters to the document.
 +
|-{{TableRow1}}
 +
|'''Add Item > New FlashJob Signature...''' || Adds a new procedure signature with some supported parameters to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add Item''' || Adds a new validity to the document
+
|'''Add Item > New SecurityAccessJob Signature...''' || Adds a new procedure signature with some supported parameters to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Paste''' || Pastes a validity to the document
+
|'''Paste''' || Pastes a signature to the document.
 
|}
 
|}
  
Right-click on a validity node, there will be a context menu with the following entries:
+
Right-click on a '''signature''' node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Implement new Procedure{{TooltipIcon2|(Note: This entry is only enabled for procedure signature)}}''' || Creates a new procedure and uses the procedure to implement the current procedure signature.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Cut''' || Cuts the validity
+
|'''Cut''' || Cuts the signature.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Copy''' || Copies the validity
+
|'''Copy''' || Copies the signature.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete''' || Deletes the validity
+
|'''Copy complete name''' || Copies the complete OTX name of the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Rename''' || Renames the validity
+
|'''Delete''' || Deletes the signature.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Properties''' || Opens the properties dialog of the validity
+
|'''Rename''' || Renames the signature.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Add new realisation'''{{TooltipIcon2|(Note: This entry is only enabled when the signature has no realisation)}} || Adds a new realisation to the signature.
 +
|-{{TableRow2}}
 +
|'''Delete realisation'''{{TooltipIcon2|(Note: This entry is only enabled when the signature has a realisation)}} || Deletes the realisation of the signature.
 +
|-{{TableRow1}}
 +
|'''Properties'''{{TooltipIcon|(Alternative option: double-click on the signature node)}} || Opens the properties dialog box of the signature.
 
|}
 
|}
  
 +
==={{Anchor|GD|}}[[File:AddVariable32.png|32px]] Global Declarations===
  
=={{Anchor|Sig|}}Signatures==
+
Global declarations contains all the global constants and variables (context variables, state variables and document variables) which are visible in the whole document. These global constants and variables can also be imported and used in external documents according to their [[Core.Visibilities|Visibility]] attribute. All the global declarations in a document are displayed as global declaration nodes below the "'''Declarations'''" node of the document (note that a procedure also has a [[#LD|"Declarations"]] node). To add or to paste a global declaration, you can use the [[#DocContext|context menu of the document]] or the context menu of the "'''Declarations'''" node of the document (see below). Note the special case that you can paste a global constant or a document variable to the [[#LD|local "'''Declarations"]] node (the copy of a global constant will be a local constant, and the copy of a document variable will be a local variable, context variables and state variables are not allowed). To copy, cut or modify a global declaration, use the context menu of that global declaration. Keyboard shortcuts{{TooltipIcon|(Ctrl+C:Copy, Ctrl+X:Cut, Ctrl+V:Paste)}} are allowed.
  
A signature describes the interface for a procedure, a screen or an external application ect. All the signatures in a document are displayed as signature nodes below the Signatures node. To add a new signature, you can use the [[DocContext|context menu]] of the document or the context menu of the Signatures node (see below). To copy or cut a signature, use the context menu of that signature or use shortcuts on that signature. To paste a signture, use the context menu of the document or of the Signatures node or use the shortcut.
+
Right-click on the "'''Declarations'''" node of the document, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 +
|-{{TableRow2}}
 +
|'''Add > New Global Constant...''' || Adds a new global constant to the document.
 +
|-{{TableRow1}}
 +
|'''Add > New Context Variable...''' || Adds a new context variable to the document.
 +
|-{{TableRow2}}
 +
|'''Add > New Global Variable...''' || Adds a new global variable (document variable) to the document.
 +
|-{{TableRow1}}
 +
|'''Add > New State Variable...''' ||Adds a new state variable to the document.  
 +
|-{{TableRow2}}
 +
|'''Paste''' || Pastes a global declaration to the document.
 +
|-{{TableRow1}}
 +
|'''Delete not used declarations''' || Deletes all the unused global declarations.
 +
|}
  
Right-click on the Signatures node, there will be a context menu with the following entries:
+
Right-click on a '''global declaration''' node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Add to Watch window''' || Adds the global declaration to the [[OtfWatchWindow|Watch]] tool window.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add Item >> New Procedure Signature''' || Adds a new procedure signature to the document
+
|'''Cut''' || Cuts the global declaration.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add Item >> New Screen Signature''' || Adds a new screen signature to the document
+
|'''Copy''' || Copies the global declaration.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add Item >> New Device Signature''' || Adds a new device signature to the document
+
|'''Copy complete name''' || Copies the complete OTX name of the global declaration.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add Item >> New SingleEcuJob Signature''' || Adds a new procedure signature with some supported parameters to the document
+
|'''Delete''' || Deletes the global declaration.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add Item >> New FlashJob Signature''' || Adds a new procedure signature with some supported parameters to the document
+
|'''Rename''' || Renames the global declaration.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add Item >> New SecurityAccessJob Signature''' || Adds a new procedure signature with some supported parameters to the document
+
|'''Properties'''{{TooltipIcon|(Alternative option: double-click on the global declaration node)}} || Opens the properties dialog box of the global declaration.
 +
|}
 +
 
 +
==={{Anchor|Prc|}}[[File:Procedure32.png|40px]] Procedures===
 +
 
 +
A procedure is an executable part of an OTX document. It describes the actual sequences. A procedure (usually the procedure with the name "'''main'''") can be used as the entry point of a test sequence to be executed, or it can be called by a ProcedureCall activity from another OTX procedure. All the procedures in a document are displayed as procedure nodes below the "'''Procedures'''" node of the document. To add a new procedure or paste a procedure, you can use the context menu of the "'''Procedures'''" node (see below). To copy, cut or modify a procedure, use the context menu of the procedure node. Keyboard shortcuts{{TooltipIcon|(Ctrl+C:Copy, Ctrl+X:Cut, Ctrl+V:Paste)}} are allowed.
 +
 
 +
Right-click on the "'''Procedures'''" node, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Add Item... > New Procedure...''' || Adds a new procedure to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Paste''' || Pastes a signature to the document
+
|'''Add Item... > New Procedure from an existing template''' || Adds a new procedure to the document from an existing template.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Paste''' || Pastes a procedure to the document.
 
|}
 
|}
  
Right-click on a signature node, there will be a context menu with the following entries:
+
{{Anchor|PrcContext|}}
 +
Right-click on a '''procedure''' node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Implement new Procedure (only active for procedure signature)''' || Creates a new procedure to implement the current procedure signature
+
|'''Overview''' || style="width:600px;" | Opens the Overview window to display the whole designer content of the solution and focuses on the selected procedure.
 +
|-{{TableRow1}}
 +
|'''Open/View''' || style="width:600px;" | Opens the procedure in the [[OtfWorkflowDesigner|Workflow Designer]].
 +
|-{{TableRow2}}
 +
|'''View Code (OTL)''' || Opens the OTL editor window of the document and focuses on the selected procedure.
 +
|-{{TableRow1}}
 +
|'''Validate''' || style="width:600px;" | Checks the procedure for any errors and warnings.
 +
|-{{TableRow2}}
 +
|'''Display Instructions''' || style="width:600px;" | Displays a page with the notes.
 +
|-{{TableRow1}}
 +
|'''Meta-Data''' || style="width:600px;" | Opens the [[OtfMetaDataWindow|Meta Data View]] tool window.
 +
|-{{TableRow2}}
 +
|'''Execute Workflow''' || style="width:600px;" | Executes the procedure.
 +
|-{{TableRow1}}
 +
|'''Stop Procedure'''{{TooltipIcon2|This entry is only enabled when the current procedure is being executed.}} || style="width:600px;" | Stop the execution of the procedure.
 +
|-{{TableRow2}}
 +
|'''Update Parameters'''{{TooltipIcon2|This entry is only enabled when the current procedure implements a procedure signature.}} || style="width:600px;" | Updates the parameters and the exception declarations (see [[#Thr|Throws]]) according to the implemented procedure signature.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Device Mapping (only active for device signature)''' || Opens the tab Device Mapping of the [[PrjSetting|project setting]]
+
|'''Create ProcedureSignature from Procedure''' || style="width:600px;" | Creates a new procedure signature in the current document and uses the current procedure to implement the procedure signature (the parameters and exceptions of the signature are based on the current procedure).
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Cut''' || Cuts the signature
+
|'''Cut''' || style="width:600px;" | Cuts the procedure.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Copy''' || Copies the signature
+
|'''Copy''' || style="width:600px;" | Copies the procedure.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete''' || Deletes the signature
+
|'''Copy complete name''' || Copies the complete OTX name of the procedure.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Rename''' || Renames the signature
+
|'''Paste''' || style="width:600px;" | Pastes a local element (a comment, a parameter, an exception or a declaration) to the procedure.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add new realisation (only active when the signature has no realisation)''' || Adds a new realisation to the signature (procedure signature realisation ect.)
+
|'''Delete''' || style="width:600px;" | Deletes the procedure.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Delete realisation (only active when the signature has a realisation)''' || Deletes the realisation of the signature
+
|'''Rename''' || style="width:600px;" | Renames the procedure.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Properties''' || Opens the properties dialog of the signature
+
|'''Add > Comment...''' || style="width:600px;" | Adds a comment to the procedure.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Add > Parameter > New Procedure In-Parameter...''' || style="width:600px;" | Adds an in parameter to the procedure.
 +
|-{{TableRow2}}
 +
|'''Add > Parameter > New Procedure out-Parameter...''' || style="width:600px;" | Adds an out parameter to the procedure.
 +
|-{{TableRow1}}
 +
|'''Add > Parameter > New Procedure In/Out-Parameter...''' || style="width:600px;" | Adds an in/out parameter to the procedure.
 +
|-{{TableRow2}}
 +
|'''Add > Throw...''' || style="width:600px;" | Adds an exception declaration to the procedure.
 +
|-{{TableRow1}}
 +
|'''Add > Local declaration > New Local Constant...''' || style="width:600px;" | Adds a new local constant to the procedure.
 +
|-{{TableRow2}}
 +
|'''Add > Local declaration > New Local Variable...''' || style="width:600px;" | Adds a new local variable to the procedure.
 +
|-{{TableRow1}}
 +
|'''Add new realization'''{{TooltipIcon2|This entry is only enabled when the procedure has no realisation}} || style="width:600px;" | Adds new realisation to the procedure.
 +
|-{{TableRow2}}
 +
|'''Delete Realization'''{{TooltipIcon2|This entry is only enabled when the procedure has a realisation}} || style="width:600px;" | Delete the realisation of the procedure.
 +
|-{{TableRow1}}
 +
|'''Properties''' || style="width:600px;" | Opens the properties dialog box of the procedure.
 
|}
 
|}
  
 +
==={{Anchor|Com|}}[[File:Comments32.png|32px]] Comments===
  
=={{Anchor|GD|}}Global Declarations==
+
A comment contains a human readable information and a list of links pointing to the activities that are related to the comment. Comments are used for additional descriptions besides specification of activities. All the comments in a procedure are displayed as comment nodes below the "'''Comments'''" node of the procedure. To add a new comment or paste a comment, you can use the [[#PrcContext|context menu of the current procedure]] or the context menu of the "'''Comments'''" node (see below). You can also add a new comment directly to an activity in the [[OtfWorkflowDesigner|Workflow Designer]] by using the context menu of that activity. You can also add a link between an existing comment and an activity by dragging the comment node from the [[OtfSolutionExplorer|Solution Explorer]] and dropping it on the activity in the [[OtfWorkflowDesigner|Workflow Designer]]. To copy, cut or modify a comment, use the context menu of that comment (see below). Keyboard shortcuts{{TooltipIcon|(Ctrl+C:Copy, Ctrl+X:Cut, Ctrl+V:Paste)}} are allowed.
  
Global declarations contains all the global constants and variables (context variables and document variables) which are visible in the whole document. These global constants and variables can also be imported and used in external documents according to their visibility. All the global declarations in a document are displayed as global declaration nodes below the Declarations node of the document (note that a procedure also has a Declarations node). To add a new global declaration, you can use the [[DocContext|context menu]] of the document or the context menu of the Declarations node of the document (see below). To copy or cut a global declaration, use the context menu of that global declaration or use shortcuts on that global declaration. To paste a global declaration, use the context menu of the document or of the Declarations node of the document or use the shortcut.
+
Right-click on the "'''Comments'''" node, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 +
|-{{TableRow2}}
 +
|'''Add Item...''' || Adds a new comment to the procedure.
 +
|-{{TableRow1}}
 +
|'''Paste''' || Pastes a comment to the procedure.
 +
|}
  
Right-click on the Declarations node of the document, there will be a context menu with the following entries:
+
Right-click on a '''comment''' node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> New Global Constant''' || Adds a new global constant to the document
+
|'''Cut''' || Cuts the comment.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> New Context Variable''' || Adds a new context variable to the document
+
|'''Copy''' || Copies the comment.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> New Global Variable''' || Adds a new global variable (document variable) to the document
+
|'''Delete''' || Deletes the comment.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Paste''' || Pastes a global declaration to the document
+
|'''Properties'''{{TooltipIcon|(Alternative option: double-click on the comment node)}} || Opens the editor dialog box of the comment.
 +
|}
 +
 
 +
==={{Anchor|Prm|}}[[File:Parameters32.png|32px]] Parameters===
 +
 
 +
The parameter declaration block may contain In-, Out- or InOut- parameters of procedures or signatures (Note that the "'''Term-Parameter'''" declaration is only for screen signature). The parameters will be displayed as parameter nodes below the "'''Parameters'''" node (this is the parameter declaration block). To add or to paste a parameter, use the context menu of the "'''Parameters'''" node of the procedure or the signature (see below), you can also use the [[#PrcContext|context menu of the procedure]]. To copy, cut or modify a parameter, use the context menu of that parameter (see below). Note that you can paste a copied or cut parameter from a '''procedure signature''' to a procedure and vice versa, but no other signature types are allowed. Besides, it is only allowed to paste a parameter from a signature to another signature '''with the same realisation''' (e.g. screen signature to screen signature). Keyboard shortcuts{{TooltipIcon|(Ctrl+C:Copy, Ctrl+X:Cut, Ctrl+V:Paste)}} are allowed in '''legal cases'''.
 +
 
 +
Right-click on the "'''Parameters'''" node, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Update Parameters{{TooltipIcon2|(Note: This entry is only for the &quot;Parameters&quot; node of a procedure and only enabled when the procedure implements a procedure signature)}}''' || Updates the parameters and the exception declarations (see [[#Thr|Throws]]) of the procedure according to the implemented procedure signature.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete not used declarations''' || Deletes all the unused global declarations
+
|'''Add > New Procedure In-Parameter...''' || style="width:600px;" | Adds an in parameter to the procedure.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Add > New Procedure out-Parameter...''' || style="width:600px;" | Adds an out parameter to the procedure.
 +
|-{{TableRow2}}
 +
|'''Add > New Procedure In/Out-Parameter...''' || style="width:600px;" | Adds an in/out parameter to the procedure.
 +
|-{{TableRow1}}
 +
|'''Paste''' || Pastes a parameter to the procedure or signature.
 
|}
 
|}
  
Right-click on a global declaration node, there will be a context menu with the following entries:
+
Right-click on a '''parameter''' node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Add to Watch window''' || Adds the parameter to the [[OtfWatchWindow|Watch]] tool window.
 +
|-{{TableRow2}}
 +
|'''Cut''' || Cuts the parameter.
 +
|-{{TableRow1}}
 +
|'''Copy''' || Copies the parameter.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Cut''' || Cuts the global declaration
+
|'''Copy complete name''' || Copies the complete OTX name of the parameter.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Copy''' || Copies the global declaration
+
|'''Delete''' || Deletes the parameter.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete''' || Deletes the global declaration
+
|'''Rename''' || Renames the parameter.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Rename''' || Renames the global declaration
+
|'''Properties'''{{TooltipIcon|(Alternative option: double-click on the parameter node)}} || Opens the properties dialog box of the parameter.
 +
|}
 +
 
 +
==={{Anchor|Thr|}}[[File:Throws32.png|32px]] Throws (exceptions)===
 +
 
 +
The author of the OTX document can predict the exceptions that may potentially be thrown during execution. These exceptions shall be declared in the "'''Throws'''" (exceptions) nodes of the procedure signatures, the device service signatures and the procedures. The exception declarations can inform other persons who re-use the sequence the potential exceptions in order to handle them. Note that ('''1''') the implemented procedure signature of the current procedure, or ('''2''') the procedure calling to the current procedure (or to the implemented procedure signature) should also declare the same exceptions in their "'''Throws'''" nodes. Each declared exception is displayed as an exception node in the "'''Throws'''" node. To add or to paste an exception, use the [[#PrcContext|context menu of the procedure]] or the context menu of the "'''Throws'''" node (of the procedure, the procedure signature or the device service signature, see below). To copy or cut an exception, use the context menu of that exception. Keyboard shortcuts{{Toolti]]pIcon|(Ctrl+C:Copy, Ctrl+X:Cut, Ctrl+V:Paste)}} are allowed.
 +
 
 +
Right-click on the "'''Throws'''" node, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Properties''' || Opens the properties dialog of the global declaration
+
|'''Add Item...''' || Adds a new exception to the "'''Throws'''" node.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Paste''' || Pastes an exception to the "'''Throws'''" node.
 
|}
 
|}
  
 +
Right-click on a '''exception''' node, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Cut''' || Cuts the exception.
 +
|-{{TableRow2}}
 +
|'''Copy''' || Copies the exception.
 +
|-{{TableRow1}}
 +
|'''Delete''' || Deletes the exception.
 +
|}
  
=={{Anchor|Prc|}}[[File:Procedure32.png]] Procedures==
+
==={{Anchor|LD|}}[[File:LocalDeclarations32.png|32px]] Local Declarations===
  
A procedure is the executable part of an OTX document. It describes the actual procedures/sequences. A procedure (usually the procedure with the name "main") can be used as the entry point of a test sequence to be executed, or it can be called by a ProcedureCall from another OTX procedure. All the procedures in a document are displayed as procedure nodes below the Procedures node of the document. To add a new procedure or paste a procedure, you can use the context menu of the Procedures node (see below). To copy, cut or modify a procedure, use the context menu of that procedure.
+
Local declaration block is used to declare all the local constants and local variables which are only valid in their respective procedure. These constants and variables can not be accessed or used outside of the procedure. These local declarations are displayed as local declaration node below the local "'''Declarations'''" node of the procedure (this node is different from the [[#GD|global "'''Declarations"]] node of the document). To add or to paste a local declaration, use the [[#PrcContext|context menu of the procedure]] or the context menu of the local "'''Declarations'''" node (see below). To copy, cut or modify a local declaration, use the context menu of that local declaration (see below). Note the special case in which you can paste a local constant or a local variable to the [[#GD|global "'''Declarations"]] node (the copy of a local constant will be a global constant, and the copy of a local variable will be a document variable). Keyboard shortcuts{{TooltipIcon|(Ctrl+C:Copy, Ctrl+X:Cut, Ctrl+V:Paste)}} are allowed.
  
Right-click on the Procedures node, there will be a context menu with the following entries:
+
Right-click on the local "'''Declarations'''" node of the procedure, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add Item''' || Adds a new procedure to the document
+
|'''Add > New Local Variable...''' || Adds a new local variable to the procedure.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Paste''' || Pastes a procedure to the document
+
|'''Add > New Local Constant...''' || Adds a new local constant to the procedure.
 +
|-{{TableRow2}}
 +
|'''Paste''' || Pastes a local declaration to the procedure.
 +
|-{{TableRow1}}
 +
|'''Delete not used declarations...''' || Deletes all the unused local declarations.
 
|}
 
|}
  
{{Anchor|PrcContext|}}Right-click on a procedure node, there will be a context menu with the following entries:
+
Right-click on a '''local declaration''' node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Add to Watch window''' || Adds the local declaration to the [[OtfWatchWindow|Watch]] tool window.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Open/View''' || Opens a new {{Question|workflow tab}} of the procedure in the [[OtfWorkflowDesigner|Workflow Designer]]
+
|'''Cut''' || Cuts the local declaration.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Validate''' || Checks the procedure for any errors and warnings
+
|'''Copy''' || Copies the local declaration.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Execute Workflow''' || Executes the procedure
+
|'''Copy complete name''' || Copies the complete OTX name of the local declaration.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Stop Procedure''' || Stop the execution of the procedure
+
|'''Delete''' || Deletes the local declaration.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Update Parameters (only active when the procedure implements a procedure signature)''' || Updates the parameters and the exception declarations (in Throws node) according to the implemented procedure signature
+
|'''Rename''' || Renames the local declaration.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Create ProcedureSignature from Procedure''' || Creates a new procedure signature for the current procedure to implement (the parameters and exceptions basing on the current procedure)
+
|'''Properties'''{{TooltipIcon|(Alternative option: double-click on the local declaration node)}} || Opens the properties dialog box of the local declaration.
 +
|}
 +
 
 +
==={{Anchor|Flw|}}[[File:Flow32.png|32px]] Flow===
 +
 
 +
Under the flow node, the actual sequence of activities is presented. Each activity consists of a name and one or more realisations. An activity is displayed as activity node below the flow node, inside an activity node there may be a realisation node or another activity node (the case of compound nodes). The flow node has no context menu but the activity node or the realisation node has a context menu with some limited functions. To edit the activity, please use the [[OtfWorkflowDesigner|Workflow Designer]].
 +
 
 +
Right-click on an '''activity''' node or a '''realisation''' node, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Open/View'''{{TooltipIcon2|(Note: This entry is not displayed with realisation nodes)}} || Opens (or sets on top) the procedure tab of the activity.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Cut''' || Cuts the procedure
+
|'''Delete''' || Deletes the activity (or the deletable flow of a compound node).
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Copy''' || Copies the procedure
+
|'''Add new realization'''{{TooltipIcon2|(Note: This entry is only for the &quot;Handler&quot; and the &quot;Catch&quot; flow of the handler activity)}} || Adds new realisation to the "'''Catch'''" flow of the handler activity.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Paste''' || Pastes a local element (comment, parameter, exception or declaration) to the procedure
+
|'''Delete Realization{{TooltipIcon2|(Note: This entry is only for the &quot;Handler&quot; and the &quot;Catch&quot; flow of the handler activity}}''' || Deletes the realisation of the "'''Catch'''" flow of the handler activity.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Delete''' || Deletes the procedure
+
|'''Add Catch-branch'''{{TooltipIcon2|(Note: This entry is only for the Handler node)}} || Adds a new "'''Catch'''" flow to the handler activity.
 +
|-{{TableRow2}}
 +
|'''Add Finally-branch'''{{TooltipIcon2|(Note: This entry is only for the Handler node)}} || Adds a new "'''Finally'''" flow to the handler activity.
 +
|-{{TableRow1}}
 +
|'''Properties''' || Opens the properties dialog box of the element which has the adjustable properties.
 +
|}
 +
 
 +
=={{Anchor|Prj|}}[[File:ProjectPlayer32.png]] Player Projects==
 +
 
 +
Similar to the OTX projects, a Player project is a standard folder in the file system. It contains a Project file (*.playPrj), a PlayList file (*.playLst) and a PlayerLayout file (*.playLay)
 +
 
 +
[[File:Exclamation.png]] Important: The names of '''all the elements below a player project node''' shall conform the [[General.NamingConventions|OTX Naming conventions]]!
 +
 
 +
You can add a new player project or import from a PPX library by using the [[#SlnContext|context menu of the solution]]. Besides adding a player project by the [[#SlnContext|context menu of the solution]], you can use the [[OtfStartPage#NS|related functions]] in the [[OtfStartPage|Start Page]] or the "New Player Project" command in the menu File of the [[OtfMenuBar|Ribbon]].
 +
 
 +
{{Anchor|PrjContext|}}
 +
Right-click on the '''player project''' node, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Rename''' || Renames the procedure
+
|'''Overview''' || Opens the Overview window to display the whole designer content of the solution and focuses on the selected player project.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Comment''' || Adds a comment to the procedure
+
|'''Validate''' || Checks all the referred PTX/project within the player project for any warnings or errors.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Parameter''' || Adds a parameter to the procedure
+
|'''Display Instructions''' || Displays a page with the notes.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Throw''' || Adds an exception declaration to the procedure
+
|'''Export...> Export As PPX...''' || Exports the player project to a PPX library.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Local declaration >> New Local Constant''' || Adds a new local constant to the procedure
+
|'''Export...> Export As Template...''' || Exports the player project to a PTXT library.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Local declaration >> New Local Variable''' || Adds a new local variable to the procedure
+
|'''Add&nbsp;>&nbsp;Add&nbsp;PTX&nbsp;library&nbsp;reference...''' || Adds a reference to a PTX library.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add new realization (only active when the procedure has no realisation)''' || Adds new realisation to the procedure
+
|'''Add > Import Player Layout...''' || Imports a file layout (*.playLay) from another player project.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Delete Realization''' || Delete the realization of the procedure.
+
|'''Add > [ProjectName]{{TooltipIcon2|This menu entry only appears if there is another project which has not been referred by this player project.}}''' || Adds a reference to the project [ProjectName].
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Properties''' || Opens the properties dialog of the procedure
+
|'''Delete''' || Deletes the reference from the solution to the player project.
||-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Rename''' || Renames the player project.
 +
|-{{TableRow2}}
 +
|'''Add Selected Project to Subversion''' || Adds the selected player project to Subversion.
 +
|-{{TableRow1}}
 +
| '''Version Control (Subversion) > Add...{{TooltipIcon2|This menu only works when the solution is under SVN control.}}''' || Adds the current player project to source control of SVN which needs to be committed to SVN later..
 +
|-{{TableRow2}}
 +
| '''Version Control (Subversion) > Add to ignore list...{{TooltipIcon2|This menu only works when the solution is under SVN control.}}''' || Adds the current player project to the ignore list so that it will not be added back into Subversion again by mistake.
 +
|-{{TableRow1}}
 +
|'''Version Control (Subversion) > Help...''' || Opens the user manual of the TortoiseSVN.
 +
|-{{TableRow2}}
 +
|'''Version Control (Subversion) > Setting...''' || Opens the "Settings - TortoiseSVN" dialog box.
 +
|-{{TableRow1}}
 +
|'''Version Control (Subversion) > About...''' || Opens the version information dialog box.
 +
|-{{TableRow2}}
 +
|'''Open&nbsp;Folder&nbsp;in&nbsp;Windows&nbsp;Explorer''' || Opens the player project folder in a new window with Windows Explorer.
 +
|-{{TableRow1}}
 +
|'''Properties''' || Opens the [[OtfProjectSettings|Project Settings]] dialog box.
 
|}
 
|}
  
 +
==={{Anchor|Ref|}}[[File:PtxReference32.png|32px]] References===
  
=={{Anchor|Com|}}Comments==
+
Similar to the [[#References|References]] of the OTX projects
  
A comment contains a human readable information and a list of links pointing to the elements in the procedure that are related to the comment. Comments are used for additional descriptions beside specification. All the comments in a procedure are displayed as comment nodes below the Comments node of the procedure. To add a new comment or paste a comment, you can use the [[#PrcContext|context menu]] of the current procedure or the context menu of the Comments node (see below). You can also add a new comment directly to an activity in the [[OtfWorkflowDesigner|Workflow Designer]] by using the context menu of that activity. Besides, you can add a link between an existing comment and an activity by dragging the comment node from the [[OtfSolutionExplorer|Solution Explorer]] and dropping it on the activity. To copy, cut or modify a comment, use the context menu of that comment (see below).
+
==={{Anchor|Monitors|}}[[File:Monitors.png|32px]] Monitors===
  
Right-click on the Comments node, there will be a context menu with the following entries:
+
The monitor consits of an adjustable table layout with different panels which contain the controls or commands. The "'''Monitors'''" are displayed as monitors node below the player project node. Each "'''Monitors'''" can contain one or more the monitor and it can also be empty. To add or to paste a monitor, you can use the context menu of the "'''Monitors'''" node (see below) or you can add the existing monitors of other player project by using the context menu of the player project (Add > Import Player Layout...). To copy or cut a monitor, use the context menu of that monitor. Keyboard shortcuts{{TooltipIcon|(Ctrl+C:Copy, Ctrl+X:Cut, Ctrl+V:Paste)}} are allowed.
 +
 
 +
Right-click on the "'''Monitors'''" node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Add > New Monitor...''' || Adds a new monitor to the "Monitors" node.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add Item''' || Adds a new comment to the procedure
+
|'''Paste''' || Pastes a monitor to the "Monitors" node.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Paste''' || Pastes a comment to the procedure
+
|'''Open&nbsp;Folder&nbsp;in&nbsp;Windows&nbsp;Explorer''' || Opens the player project folder in a new window with Windows Explorer.
|-
 
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
 
 
|}
 
|}
  
Right-click on a comment node, there will be a context menu with the following entries:
+
Right-click on a '''monitor''' node, there will be a context menu with the following entries:
 +
 
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Cut''' || Cuts the global declaration
+
|'''Open/View''' || Opens the monitor in the [[OtfWorkflowDesigner|Workflow Designer]].
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Copy''' || Copies the global declaration
+
|'''Cut''' || Cuts the monitor.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete''' || Deletes the global declaration
+
|'''Copy''' || Copies the monitor.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Properties''' || Opens the editor dialog of the comment
+
|'''Delete''' || Deletes the monitor.
|-
 
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
 
 
|}
 
|}
  
 +
Right-click on a "'''Comlumns/Rows'''" node, there will be a context menu with the following entries:
  
=={{Anchor|Prm|}}Parameters==
+
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Properties''' || Opens the properties dialog box of the Column/Row.
 +
|}
  
The parameter declaration block may contain In-, Out- or InOut- parameters for procedures and signatures (TermParameter is only for ScreenSignature) . It will be displayed as the Parameters node in a procedure or a signature, the parameter will be displayed as parameter nodes in the Parameters node. To add or to paste a parameter, use the context menu of the Parameters node of the procedure or the signature (see below), you can also use the [[#PrcContext|context menu]] of the procedure. To copy, cut or modify a comment, use the context menu of that paramter (see below). Note that you can only paste a copied or cut parameter from a '''procedure signature''' to a procedure and vice versa.
+
Right-click on a '''panel''' node (e.g ControlPanels, CommandPanels and HmiScreenPanels), there will be a context menu with the following entries:
  
Right-click on the Parameters node, there will be a context menu with the following entries:
 
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Update Parameters''' (only displayed with Parameters node of the procedure implementing a procedure signature) || Updates the parameters and the exception declarations (in Throws node) according to the implemented procedure signature
+
|'''Add Item...''' || Opens dialog to add new panel to the ControlPanels or CommandPanels or HmiScreenPanels.
|-{{TableRow2}}
 
|'''Add Item''' || Adds a parameter to the procedure or signature
 
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Paste''' || Pastes a parameter to the procedure or signature
+
|'''Paste''' || Pastes a panel to the ControlPanels or CommandPanels or HmiScreenPanels.
|-
 
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
 
 
|}
 
|}
  
Right-click on a parameter node, there will be a context menu with the following entries:
+
Right-click on a "'''PanelControl'''" node (or "'''PanelCommand'''" or "'''PanelHmi'''"), there will be a context menu with the following entries:
 +
 
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Add Item...{{TooltipIcon2|(Note: This entry is only for the panelHmi}}''' || Opens dialog to add new element to the panelHmi.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Cut''' || Cuts the global declaration
+
|'''Cut''' || Cuts the panelControl or panelCommand or panelHmi.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Copy''' || Copies the global declaration
+
|'''Copy''' || Copies the panelControl or panelCommand or panelHmi.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete''' || Deletes the global declaration
+
|'''Paste{{TooltipIcon2|(Note: This entry is only for the panelControl}}''' || Pastes a control to the panelControl.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Properties''' || Opens the editor dialog of the comment
+
|'''Delete''' || Deletes the panelControl or panelCommand or panelHmi.
|-
 
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
 
 
|}
 
|}
  
 +
Right-click on a '''control''' node (or '''Command''' or '''Hmi element'''), there will be a context menu with the following entries:
  
=={{Anchor|Thr|}}Throws (exceptions)==
+
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Cut{{TooltipIcon2|(Note: This entry is only for the Control}}''' || Cuts the control.
 +
|-{{TableRow2}}
 +
|'''Copy{{TooltipIcon2|(Note: This entry is only for the Control}}''' || Copies the control.
 +
|-{{TableRow1}}
 +
|'''Delete''' || Deletes the control or command or Hmi element.
 +
|}
  
Here the caller can be displayed, which potential exceptions a procedure  can trigger.
+
==={{Anchor|Playlists|}}[[File:PlayLists.png|32px]] Playlists===
  
Adding an exception:
+
Right-click on the "'''Playlist'''" node, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 +
|-{{TableRow2}}
 +
|'''Add > New Playlist''' || Adds a new playlist to the "Playlist" node.
 +
|-{{TableRow1}}
 +
|'''Paste''' || Pastes a playlist to the "Playlist" node.
 +
|}
  
Click with the right mouse button ( context menu ) on the node Throws
+
Right-click on the '''playlist element''' node, there will be a context menu with the following entries:
"Menu Add Item ... ", it opens a dialog box.
+
{|{{TableHeader}}
Select the data type of the off-nah-me
+
{{TableRowContextMenuHeader}}
Confirm your entry with  "OK" button .
+
|-{{TableRow2}}
Edit the self-sheep-th :
+
|'''Open/View''' || Opens the playlist in the [[OtfWorkflowDesigner|Workflow Designer]].
 +
|-{{TableRow1}}
 +
|'''Cut''' || Cuts the playlist element.
 +
|-{{TableRow2}}
 +
|'''Paste''' || Pastes the playlist element.
 +
|-{{TableRow1}}
 +
|'''Delete''' || Deletes the playlist element.
 +
|}
  
Click with the right mouse button ( context menu ) to the element
+
==={{Anchor|GlbBehaviors|}}[[File:GlobalBehaviors.png|32px]] Global Behaviours===
Menu " Properties ... Select ", it opens a dialog box
 
Edit the properties, see above, and confirm your entry by pressing the  "Ok" button .
 
Dialog for adding / editing exceptions
 
Dialog for adding / editing exceptions
 
  
 +
Right-click on the "'''Global Behaviours'''" node, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 +
|-{{TableRow2}}
 +
|'''Add Item...''' || Open the "Behaviour - settings" dialog to add a new global behaviour element.
 +
|-{{TableRow1}}
 +
|'''Paste''' || Pastes a global behaviour element to the "global behaviours" node.
 +
|}
  
=={{Anchor|LD|}}Local Declarations==
+
Right-click on the '''global behaviour element''' node, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 +
|-{{TableRow2}}
 +
|'''Cut''' || Cuts the global behaviour element.
 +
|-{{TableRow1}}
 +
|'''Copy''' || Copies the global behaviour element.
 +
|-{{TableRow2}}
 +
|'''Delete''' || Deletes the global behaviour element.
 +
|-{{TableRow1}}
 +
|'''Properties''' || Open the "Behaviour - settings" dialog.
 +
|}
  
Local declarations for constants and variables are only valid in the respective procedur. You can not be used outside.
+
==={{Anchor|InitValues|}}[[File:InitialValues.png|42px]] Initial Values===
  
Adding a local Dekalartion:
+
Right-click on the "'''Initial Values'''" node, there will be a context menu with the following entries:
 
+
{|{{TableHeader}}
Click with the right mouse button ( context menu ) on the Declarations
+
{{TableRowContextMenuHeader}}
"Menu Add ... "and then the type of declaration select:
+
|-{{TableRow2}}
Local variables or
+
|'''Open/View''' || Open the "Behaviour - settings" dialog to add a new global behaviour element.
Local constant
+
|-{{TableRow1}}
This opens a dialog box.
+
|'''Open&nbsp;Folder&nbsp;in&nbsp;Windows&nbsp;Explorer''' || Opens the player project folder in a new window with Windows Explorer.
Enter a  meaningful name  in the Name field
+
|}
Select the data type of the Decla-ra-tion
 
Optionally, enter a Ini ti-al value of
 
Optionally, you can under description a specification specify
 
Confirm your entry with  "OK" button .
 
Edit the self-sheep-th :
 
 
 
Click with the right mouse button ( context menu ) to the element
 
Menu " Properties ... Select ", it opens a dialog box
 
Edit the properties, see above, and confirm your entry by pressing the  "Ok" button .
 
Dialog for adding / editing of local declarations
 
Dialog for adding / editing of local declarations
 
 
 
 
 
=={{Anchor|Flw|}}Flow==
 
  
Under the flow node, the actual sequence of operations is presented. Each activity consists of a name and one or more implementations. Realizations are indented opposite the name of the activity to the right. To edit the activity, please use the workflow designer .
+
=={{Anchor|Unallocated|}}[[File:UnallocatedFiles16.png|38px]] Unallocated Files==
 +
The OTF allows you to load an OTX document directly in the Solution Explorer. To load an OTX document, you should set the OTX document format (*.otx) to be opened with the OTF (right-click on a document and select menu "Open With", and set the OTF to open this file format). After that, double-click on any document to load it in the explorer. If a solution is already loaded in the explorer and the document belongs to the current solution, the document will be focused and opened; otherwise, the document will be loaded as an unallocated document in the explorer. An unallocated document will be displayed as an allocated document node below the "'''Unallocated Files'''" node. All unallocated documents is read-only but you can copy the unallocated document or all the elements inside the unallocated document by using the context menu of the corresponding element node, you can also open the properties dialog box of those element by using the context menu. To edit an unallocated document, you can add that document to a package in the solution. To add one or all of the allocated document to a package, please use the [[#Pck|context menu of the corresponding package node]]. When you reload the solution or load another solution, the "Unallocated Files" will be cleared.

Latest revision as of 06:56, 8 October 2018


Overview

The Solution Explorer presents the whole OTX solution in a clear tree structure. All the elements are displayed as nodes in the tree-view starting from the "root node" to the ActionRealisations hierarchically. With the display of tree structure and with various commands to modify and handle elements, the Solution Explorer does help users to manage all parts and elements of a solution easily at design-time. It also supports with commands to execute a sequence (a procedure) directly, or to check for errors before execution, or even to build DLLs or executable files etc.

The Solution Explorer is a tool window, so it can be docked, floating, opened, closed, resized or set to auto hide. When starting the OTF the first time, the Solution Explorer is already opened and docked on the right of the Workflow Designer. You can open or close it via the "Solution Explore" button ("SolutionExplorer.png") in the Ribbon. Besides, it has a menu bar with some commands to help users customize the presentation of the solution tree-view. Below are the short descriptions and guidelines for this menu bar:

Menu entry Description
Tooltip switch Turns the tooltips in Solution Explorer ON/OFF.
Display main elements Displays the main elements only (Projects, Pachages, Documents and Procedures).
Display Flow element Turns the display of the flow element of a procedure ON/OFF.
Display only global library elements Hides all the elements in all referenced Ptx libraries that do not have the Visibility:Public (default:ON).
Expand AllExclamation.png Displays all-level elements in the solution.
Collapse All Hides all elements in all projects, only displays the solution node and project nodes.
Up Moves the element up one level within a scope (e.g. moves a variable up one level in the local Declarations scope).
Down Moves the element down one level within a scope.
Sort Items A-Z Arranges elements within a scope in ascending order.
Sort Items Z-A Arranges elements within a scope in descending order.


All the elements of an OTX solution are listed in the following sections with the description of the important aspects, features and commands.

px
The Solution Explorer shows the structure of an OTX solution

SolutionNode.png Solution (root node)

An OTX solution is a standard folder in the file system and it is displayed as the "root node" in the Solution Explorer. The OTX solution folder contains a solution file (*.otfSln) with solution management information (see Solution Settings), and another file (*.otfSuo) to record debug breakpoints, watched variable and information of auto reloading procedures. An OTX solution can have one or many OTX projects but it is not mandatory to have projects in the solution. These OTX projects are displayed as project nodes below the root node and only the project nodes are allowed here. The OTX projects may be located inside or outside the solution folder, the solution references to these projects with relative paths or absolute paths.

To load or to create a solution, you can use the related functions in the Start Page or the "New Solution" command in the menu File of the Ribbon. The name of a solution can be arbitrary but it must comply with the restrictions of the operating system.

Right-click on the solution node, there will be a context menu with the following entries:

Menu entry Description
Overview Opens the Overview window to display the whole designer content of the current solution.
Validate Checks all the documents within the solution for any warnings or errors.
Build Solution Builds the DLL/JAR files of all the projects in the solution.
Rebuild Solution Cleans the solution and builds the DLL/JAR files of all the projects in the solution.
Clean Solution Deletes all the files in the output folder of the Dotnet and Java runtime of all the projects in the solution.
Change all paths to URI Searches all the paths used in all the documents of the solution and converts them to URI
(limits on some activities that use paths).
Export...> Export As PTX... Exports all the projects in the current solution to the PTX library.
Export...> Export As ZIP archive... Exports the current solution to the ZIP archive.
Add > New Project... Adds a new project to the current solution.
Add > New Player Project... Adds a new player project to the current solution.
Add > Existing Project... Adds an existing project to the current solution.
Add > Import project from PTX library... Adds a new project from a PTX library to the current solution.
Add > Import project from PPX library... Adds a new player project from a PPX library to the current solution.
Add > New Project / Player from an existing template Adds a new project/player project to the current solution from an existing template.
Rename Renames the current solution.
Add Solution to Subversion Add the current solution to Subversion.
Version Control (Subversion) > Help... Opens the user manual of the TortoiseSVN.
Version Control (Subversion) > Setting... Opens the "Settings - TortoiseSVN" dialog box.
Version Control (Subversion) > About... Opens the version information dialog box.
Open Folder in Windows Explorer Opens the solution folder in a new window with Windows Explorer.
Properties Opens the Solution Settings dialog box.

Project32.png Projects

Similar to the OTX solution, an OTX project is a standard folder in the file system. It contains a project file (*.otfPrj) with project management information, and the necessary configuration files, also the resources for the OTX extensions etc. (see Project Settings for more information). An OTX project can have one or many OTX packages but it is not mandatory to have packages in the project. The OTX packages are displayed as package nodes below the project node and only the packages nodes are allowed here.

Exclamation.png Important: The names of all the elements below a project node shall conform the OTX Naming conventions!

You can add a new project or add an existing project by using the context menu of the solution. Besides adding a project by the context menu of the solution, you can use the related functions in the Start Page or the "New Project" command in the menu File of the Ribbon. Note that every new project added, a new package and a new document with the "main" procedure will be automatically created in the new project. The name of the new package will be derived from the name of the new project. The name of an OTX project should only contain letters, numbers, underscores and dashes, and the total length of the path to the project should be less than 128 characters (e.g. D:\Solution1\Project1\Project1.otfPrj < 128 characters).

Right-click on the project node, there will be a context menu with the following entries:

Menu entry Description
Overview Opens the Overview window to display the whole designer content of the solution and focuses on the selected project.
Validate Checks all the documents within the project for any warnings or errors.
Display Instructions Displays a page with the notes.
Build Project Builds the DLL/JAR file of the project.
Build Lua ProjectExclamation.png Builds project in Lua code.
Rebuild Project Cleans the project and builds the DLL/JAR files of the projects.
Clean Project Deletes all the files in the output folder of the Dotnet and Java runtime of the projects.
Export...> Export As PTX... Exports the project to a PTX library.
Export...> Export As Template... Exports the project to a PTXT library.
Add > New Package... Adds a new package to the project.
Add > Existing Package... Adds an existing package to the project.
Add > Add PTX library reference... Adds a reference to a PTX library.
Add > [ProjectName]Exclamation.png Adds a reference to the project [ProjectName].
Paste Pastes a package to the project.
Delete Deletes the reference from the solution to the project.
Rename Renames the project.
Set as Startup Project Sets the project as the startup project of the solution.
Add Selected Project to Subversion Adds the selected project to Subversion.
Version Control (Subversion) > Add...Exclamation.png Adds the current project to source control of SVN which needs to be committed to SVN later..
Version Control (Subversion) > Add to ignore list...Exclamation.png Adds the current project to the ignore list so that it will not be added back into Subversion again by mistake.
Version Control (Subversion) > Help... Opens the user manual of the TortoiseSVN.
Version Control (Subversion) > Setting... Opens the "Settings - TortoiseSVN" dialog box.
Version Control (Subversion) > About... Opens the version information dialog box.
Open Folder in Windows Explorer Opens the project folder in a new window with Windows Explorer.
Properties Opens the Project Settings dialog box.
Icons Note.png In the Solution Explorer, you can use keyboard shortcuts with almost all element nodes in the project node (Ctrl+C:Copy, Ctrl+X:Cut, Ctrl+V:Paste). This will be mentioned in some of the following sections where keyboard shortcuts are allowed.

PtxReference32.png References

When a project references to one or many Ptx libraries/projects with relative path or absolute path, these Ptx libraries/projects will be displayed as Ptx nodes below the "References" node of the project. You can add a reference from a project to a Ptx library/projects by using the context menu of the project. To manage the references to the Ptx libraries/projects such as adding, deleting, including Ptx library into project folder or converting references path, you can open "Library Manager" in the "Libraries (PDX References)" tab of the Project Settings, or using the "Library View" command ("LibraryViewAddLib16.png") on the "Test Step Libraries" tab in the Toolbox.

Right-click on the "References" node, there will be a context menu with the following entries:

Menu entry Description
Add > Add PTX library reference... Adds a reference from the project to a PTX library.
Add > [ProjectName]Exclamation.png Adds a reference to the project [ProjectName].
Manage references... Open the "References" in the "References" tab of the Project Settings.

Right-click on the PTX/Project node in the reference node, there will be a context menu with the following entries:

Menu entry Description
Delete Deletes the reference from the project to the PTX library/Project.
Open Folder in Windows ExplorerExclamation.png Opens the folder containing the PTX in a new window with Windows Explorer.

Package32.png Packages

For the structural storage of OTX documents in the file system, the OTX packages are used. A package is simply a folder in the file system whose name corresponds to the OTX Naming conventions. The packages are displayed as package nodes below the project node. Each package can contain other packages (at any depth) or documents, it can also be empty. You can add a new package or an existing package, or paste a package either to a project by using the context menu of the project, or to a package by using the context menu of that package (see below). You can also use the context menu of a package to copy, cut or modify it. Keyboard shortcutsTooltip.png are allowed.

Right-click on the package node, there will be a context menu with the following entries:

Menu entry Description
Overview Opens the Overview window to display the whole designer content of the solution and focuses on the selected package.
Validate Checks all the documents within the package for any warnings or errors.
Add > New Document... Adds a new document to the package.
Add > Existing Document... Adds an existing document to the package.
Add > New Document from an existing template Adds a new document to the current package from an existing template.
Add > Unallocated Document... Adds a document from the "Unallocated Files" section to the package.
Add > All unallocated Documents... Adds all documents from the "Unallocated Files" section to the package.
Add > New Package... Adds a new package inside the current package.
Add > Existing Package... Adds an existing package inside the current package.
Cut Cuts the package.
Copy Copies the package.
Copy complete name Copies the complete OTX name of the package.
Paste Pastes a package or a document to the package.
Delete Deletes the package.
Rename Renames the package.
Open Folder in Windows Explorer Opens the package folder in a new window with Windows Explorer.

Document32.png Documents

An OTX document is an XML file that describes all the data required for a sequence. An OTX document can reference to other OTX documents; see Imports section for detail. All the documents in a package will be displayed as document nodes below the package node. The content of documents are not automatically loaded when loading the solution (except that if a procedure in a document is automatically loaded). To load the content of a document, double-click on the document or use the "Open/View" menu entry in the context menu of the document (see below). You can add a new document or an existing document, or paste a copied or cut document to a package by using the context menu of the package. To copy, cut or modify a document, you can use the context menu of that document. Keyboard shortcutsTooltip.png are allowed.

Right-click on the document node, there will be a context menu with the following entries:

Menu entry Description
Overview Opens the Overview window to display the whole designer content of the solution and focuses on the selected document.
Open/View Loads and expands the content of the document.
View Code (OTL) Opens the OTL editor window of the document.
Validate Checks for any warnings or errors in the document.
Display Instructions Displays a page with the notes.
Meta-Data Opens the Meta Data View tool window.
Save Saves all the changes in the document.
Export...> Export as Single Document... Exports the document to a OTX file.
Add > Import/Reference... Adds a reference from the current document to itself or to another document.
Add > Global Declaration > New Global Constant... Adds a new global constant to the document.
Add > Global Declaration > New Global Variable... Adds a new global variable (document variable) to the document.
Add > Global Declaration > New Context Variable... Adds a new context variable to the document.
Add > Global Declaration > New State Variable... Adds a new state variable to the document.
Add > AdminData Adds administration data (versioning data) to the document (see AdminData).
Add > Validity... Adds a new validity to the document.
Add > Signatures > New Procedure Signature... Adds a new procedure signature to the document.
Add > Signatures > New Screen Signature... Adds a new screen signature to the document.
Add > Signatures > New Device Signature... Adds a new device signature to the document.
Add > Signatures > New Device Signature... Adds a new device signature to the document.
Add > Signatures > New Structure Signature... Adds a new structure signature to the document.
Add > Signatures > New Enumeration Signature... Adds a new enumeration signature to the document.
Add > Signatures > New SingleEcuJob Signature... Adds a new procedure signature with some supported parameters to the document.
Add > Signatures > New FlashJob Signature... Adds a new procedure signature with some supported parameters to the document.
Add > Signatures > New SecurityAccessJob Signature... Adds a new procedure signature with some supported parameters to the document.
Cut Cuts the document.
Copy Copies the document.
Copy complete name Copies the complete OTX name of the document.
Paste Pastes a global element (a validity, a global declataion, or a signature) to the document.
Delete Deletes the document.
Rename Renames the document.
Set as Startup Document Sets the document as the Startup Document of the project.
Open Folder in Windows Explorer Opens the package folder containing the document in a new window with Windows Explorer.
Properties Opens the properties dialog box of the document.

AdminData.png Admin Data

Some OTX documents have a very long lifetime. They may be used or modified by many people, or even they may be exchanged between the process partners. Therefore, the documents should store the information about the change history, the person who responsible for the changes etc. This kind of data is called "Admin-Data". This data can be stored within the document or in a seperate file (*.adminData). The storage method may be set by the "File\Option" menu in the Ribbon. The "Admin-Data" is displayed as the admin-data node below the document node. You can use the context menu of a document to add the "Admin-Data" to that document. To modify the "Admin-Data" of the document, use the context menu of the admin-data node.

Right-click on the admin-data node, there will be a context menu with the following entries:

Menu entry Description
Delete Deletes the "Admin-Data".
PropertiesTooltip.png Opens the admin-data editor dialog box.

Imports32.png Imports

With the import element of a document, references can be made ​​to other documents. The references are displayed as import elements (or import nodes) below the "Imports" node of the document. When a document refers to another document, it imports the global names defined in the referred document (imported document) and it can use these imported global names. However, not all the global names in the imported document are accessible because their Visibility attributes may not be sufficient to the document which imports the other one.

You can add a reference to a document by using the menu context of the current document or the context menu of the "Imports" node of the current document (see below). When you click on the corresponding menu entry, the "Add new reference (Import)" dialog box will appear. Here you can enter the prefix for the reference, note that the prefix must conform to the OTX Naming conventions. The format of an imported global name is "Prefix:ElementName". Through the import prefix, a global name of the imported document can be accessed and can be distinguished from the global names of the other imported documents (e.g. Variable1 = ImportPrefix1:GlobalConstant1 + ImportPrefix2:GlobalConstant1). Besides entering the prefix, you have to select the document you want to add reference to. You can select the document in the list of the available documents displayed in the dialog box, which are all the documents in the current project, in the referenced projects and in the referenced Ptx libraries. Below each project or each Ptx library in the list of available documents, the documents will be displayed by the containing package names and the document names (e.g. "Package1.Package12.Package121:NewDocument1"). Note that you can use a document to import itself. After you have entered a prefix and selected a document to import, click "OK" button to finish the process and then you can access all the global names with sufficient Visibility in the current document. To modify a reference, use the context menu of the import node of the reference (see below).

Right-click on the "Imports" node, there will be a context menu with the following entries:

Menu entry Description
Add Item Adds a reference from the current document to itself or to another document.

Right-click on an import node, there will be a context menu with the following entries:

Menu entry Description
Delete Deletes the reference.
PropertiesTooltip.png Opens a dialog box to modidfy the reference.

Validity32.png Validities

Validities allow for configuring test sequences for different runtime contexts. A Validity is any logical expression which usually consists of contextual variables or global constants. All the validities in a document are displayed as validity nodes below the "Validities" node. To add or to paste a validity to a document, you can use the context menu of the document or the context menu of the Validities node (see below). You can also copy, cut or modify a validity by using the context menu of that validity. Keyboard shortcutsTooltip.png are allowed.

Right-click on the "Validities" node, there will be a context menu with the following entries:

Menu entry Description
Add Item Adds a new validity to the document.
Paste Pastes a validity to the document.

Right-click on a validity node, there will be a context menu with the following entries:

Menu entry Description
Cut Cuts the validity.
Copy Copies the validity.
Copy complete name Copies the complete OTX name of the validity.
Delete Deletes the validity.
Rename Renames the validity.
PropertiesTooltip.png Opens the properties dialog box of the validity.

Signature32.png Signatures

A signature describes the interface for a procedure, a screen or an external diagnostic application. All the signatures in a document are displayed as signature nodes below the "Signatures" node. To add or to paste a signature, you can use the context menu of the document or the context menu of the "Signatures" node (see below). To copy, cut or modify a signature, use the context menu of that signature. Keyboard shortcutsTooltip.png are allowed.

Right-click on the "Signatures" node, there will be a context menu with the following entries:

Menu entry Description
Add Item > New Procedure Signature... Adds a new procedure signature to the document.
Add Item > New Screen Signature... Adds a new screen signature to the document.
Add Item > New Device Signature... Adds a new device signature to the document.
Add Item > New Structure Signature... Adds a new structure signature to the document.
Add Item > New Enumeration Signature... Adds a new enumeration signature to the document.
Add Item > New SingleEcuJob Signature... Adds a new procedure signature with some supported parameters to the document.
Add Item > New FlashJob Signature... Adds a new procedure signature with some supported parameters to the document.
Add Item > New SecurityAccessJob Signature... Adds a new procedure signature with some supported parameters to the document.
Paste Pastes a signature to the document.

Right-click on a signature node, there will be a context menu with the following entries:

Menu entry Description
Implement new ProcedureExclamation.png Creates a new procedure and uses the procedure to implement the current procedure signature.
Cut Cuts the signature.
Copy Copies the signature.
Copy complete name Copies the complete OTX name of the document.
Delete Deletes the signature.
Rename Renames the signature.
Add new realisationExclamation.png Adds a new realisation to the signature.
Delete realisationExclamation.png Deletes the realisation of the signature.
PropertiesTooltip.png Opens the properties dialog box of the signature.

AddVariable32.png Global Declarations

Global declarations contains all the global constants and variables (context variables, state variables and document variables) which are visible in the whole document. These global constants and variables can also be imported and used in external documents according to their Visibility attribute. All the global declarations in a document are displayed as global declaration nodes below the "Declarations" node of the document (note that a procedure also has a "Declarations" node). To add or to paste a global declaration, you can use the context menu of the document or the context menu of the "Declarations" node of the document (see below). Note the special case that you can paste a global constant or a document variable to the local "Declarations" node (the copy of a global constant will be a local constant, and the copy of a document variable will be a local variable, context variables and state variables are not allowed). To copy, cut or modify a global declaration, use the context menu of that global declaration. Keyboard shortcutsTooltip.png are allowed.

Right-click on the "Declarations" node of the document, there will be a context menu with the following entries:

Menu entry Description
Add > New Global Constant... Adds a new global constant to the document.
Add > New Context Variable... Adds a new context variable to the document.
Add > New Global Variable... Adds a new global variable (document variable) to the document.
Add > New State Variable... Adds a new state variable to the document.
Paste Pastes a global declaration to the document.
Delete not used declarations Deletes all the unused global declarations.

Right-click on a global declaration node, there will be a context menu with the following entries:

Menu entry Description
Add to Watch window Adds the global declaration to the Watch tool window.
Cut Cuts the global declaration.
Copy Copies the global declaration.
Copy complete name Copies the complete OTX name of the global declaration.
Delete Deletes the global declaration.
Rename Renames the global declaration.
PropertiesTooltip.png Opens the properties dialog box of the global declaration.

Procedure32.png Procedures

A procedure is an executable part of an OTX document. It describes the actual sequences. A procedure (usually the procedure with the name "main") can be used as the entry point of a test sequence to be executed, or it can be called by a ProcedureCall activity from another OTX procedure. All the procedures in a document are displayed as procedure nodes below the "Procedures" node of the document. To add a new procedure or paste a procedure, you can use the context menu of the "Procedures" node (see below). To copy, cut or modify a procedure, use the context menu of the procedure node. Keyboard shortcutsTooltip.png are allowed.

Right-click on the "Procedures" node, there will be a context menu with the following entries:

Menu entry Description
Add Item... > New Procedure... Adds a new procedure to the document.
Add Item... > New Procedure from an existing template Adds a new procedure to the document from an existing template.
Paste Pastes a procedure to the document.

Right-click on a procedure node, there will be a context menu with the following entries:

Menu entry Description
Overview Opens the Overview window to display the whole designer content of the solution and focuses on the selected procedure.
Open/View Opens the procedure in the Workflow Designer.
View Code (OTL) Opens the OTL editor window of the document and focuses on the selected procedure.
Validate Checks the procedure for any errors and warnings.
Display Instructions Displays a page with the notes.
Meta-Data Opens the Meta Data View tool window.
Execute Workflow Executes the procedure.
Stop ProcedureExclamation.png Stop the execution of the procedure.
Update ParametersExclamation.png Updates the parameters and the exception declarations (see Throws) according to the implemented procedure signature.
Create ProcedureSignature from Procedure Creates a new procedure signature in the current document and uses the current procedure to implement the procedure signature (the parameters and exceptions of the signature are based on the current procedure).
Cut Cuts the procedure.
Copy Copies the procedure.
Copy complete name Copies the complete OTX name of the procedure.
Paste Pastes a local element (a comment, a parameter, an exception or a declaration) to the procedure.
Delete Deletes the procedure.
Rename Renames the procedure.
Add > Comment... Adds a comment to the procedure.
Add > Parameter > New Procedure In-Parameter... Adds an in parameter to the procedure.
Add > Parameter > New Procedure out-Parameter... Adds an out parameter to the procedure.
Add > Parameter > New Procedure In/Out-Parameter... Adds an in/out parameter to the procedure.
Add > Throw... Adds an exception declaration to the procedure.
Add > Local declaration > New Local Constant... Adds a new local constant to the procedure.
Add > Local declaration > New Local Variable... Adds a new local variable to the procedure.
Add new realizationExclamation.png Adds new realisation to the procedure.
Delete RealizationExclamation.png Delete the realisation of the procedure.
Properties Opens the properties dialog box of the procedure.

Comments32.png Comments

A comment contains a human readable information and a list of links pointing to the activities that are related to the comment. Comments are used for additional descriptions besides specification of activities. All the comments in a procedure are displayed as comment nodes below the "Comments" node of the procedure. To add a new comment or paste a comment, you can use the context menu of the current procedure or the context menu of the "Comments" node (see below). You can also add a new comment directly to an activity in the Workflow Designer by using the context menu of that activity. You can also add a link between an existing comment and an activity by dragging the comment node from the Solution Explorer and dropping it on the activity in the Workflow Designer. To copy, cut or modify a comment, use the context menu of that comment (see below). Keyboard shortcutsTooltip.png are allowed.

Right-click on the "Comments" node, there will be a context menu with the following entries:

Menu entry Description
Add Item... Adds a new comment to the procedure.
Paste Pastes a comment to the procedure.

Right-click on a comment node, there will be a context menu with the following entries:

Menu entry Description
Cut Cuts the comment.
Copy Copies the comment.
Delete Deletes the comment.
PropertiesTooltip.png Opens the editor dialog box of the comment.

Parameters32.png Parameters

The parameter declaration block may contain In-, Out- or InOut- parameters of procedures or signatures (Note that the "Term-Parameter" declaration is only for screen signature). The parameters will be displayed as parameter nodes below the "Parameters" node (this is the parameter declaration block). To add or to paste a parameter, use the context menu of the "Parameters" node of the procedure or the signature (see below), you can also use the context menu of the procedure. To copy, cut or modify a parameter, use the context menu of that parameter (see below). Note that you can paste a copied or cut parameter from a procedure signature to a procedure and vice versa, but no other signature types are allowed. Besides, it is only allowed to paste a parameter from a signature to another signature with the same realisation (e.g. screen signature to screen signature). Keyboard shortcutsTooltip.png are allowed in legal cases.

Right-click on the "Parameters" node, there will be a context menu with the following entries:

Menu entry Description
Update ParametersExclamation.png Updates the parameters and the exception declarations (see Throws) of the procedure according to the implemented procedure signature.
Add > New Procedure In-Parameter... Adds an in parameter to the procedure.
Add > New Procedure out-Parameter... Adds an out parameter to the procedure.
Add > New Procedure In/Out-Parameter... Adds an in/out parameter to the procedure.
Paste Pastes a parameter to the procedure or signature.

Right-click on a parameter node, there will be a context menu with the following entries:

Menu entry Description
Add to Watch window Adds the parameter to the Watch tool window.
Cut Cuts the parameter.
Copy Copies the parameter.
Copy complete name Copies the complete OTX name of the parameter.
Delete Deletes the parameter.
Rename Renames the parameter.
PropertiesTooltip.png Opens the properties dialog box of the parameter.

Throws32.png Throws (exceptions)

The author of the OTX document can predict the exceptions that may potentially be thrown during execution. These exceptions shall be declared in the "Throws" (exceptions) nodes of the procedure signatures, the device service signatures and the procedures. The exception declarations can inform other persons who re-use the sequence the potential exceptions in order to handle them. Note that (1) the implemented procedure signature of the current procedure, or (2) the procedure calling to the current procedure (or to the implemented procedure signature) should also declare the same exceptions in their "Throws" nodes. Each declared exception is displayed as an exception node in the "Throws" node. To add or to paste an exception, use the context menu of the procedure or the context menu of the "Throws" node (of the procedure, the procedure signature or the device service signature, see below). To copy or cut an exception, use the context menu of that exception. Keyboard shortcuts{{Toolti]]pIcon|(Ctrl+C:Copy, Ctrl+X:Cut, Ctrl+V:Paste)}} are allowed.

Right-click on the "Throws" node, there will be a context menu with the following entries:

Menu entry Description
Add Item... Adds a new exception to the "Throws" node.
Paste Pastes an exception to the "Throws" node.

Right-click on a exception node, there will be a context menu with the following entries:

Menu entry Description
Cut Cuts the exception.
Copy Copies the exception.
Delete Deletes the exception.

LocalDeclarations32.png Local Declarations

Local declaration block is used to declare all the local constants and local variables which are only valid in their respective procedure. These constants and variables can not be accessed or used outside of the procedure. These local declarations are displayed as local declaration node below the local "Declarations" node of the procedure (this node is different from the global "Declarations" node of the document). To add or to paste a local declaration, use the context menu of the procedure or the context menu of the local "Declarations" node (see below). To copy, cut or modify a local declaration, use the context menu of that local declaration (see below). Note the special case in which you can paste a local constant or a local variable to the global "Declarations" node (the copy of a local constant will be a global constant, and the copy of a local variable will be a document variable). Keyboard shortcutsTooltip.png are allowed.

Right-click on the local "Declarations" node of the procedure, there will be a context menu with the following entries:

Menu entry Description
Add > New Local Variable... Adds a new local variable to the procedure.
Add > New Local Constant... Adds a new local constant to the procedure.
Paste Pastes a local declaration to the procedure.
Delete not used declarations... Deletes all the unused local declarations.

Right-click on a local declaration node, there will be a context menu with the following entries:

Menu entry Description
Add to Watch window Adds the local declaration to the Watch tool window.
Cut Cuts the local declaration.
Copy Copies the local declaration.
Copy complete name Copies the complete OTX name of the local declaration.
Delete Deletes the local declaration.
Rename Renames the local declaration.
PropertiesTooltip.png Opens the properties dialog box of the local declaration.

Flow32.png Flow

Under the flow node, the actual sequence of activities is presented. Each activity consists of a name and one or more realisations. An activity is displayed as activity node below the flow node, inside an activity node there may be a realisation node or another activity node (the case of compound nodes). The flow node has no context menu but the activity node or the realisation node has a context menu with some limited functions. To edit the activity, please use the Workflow Designer.

Right-click on an activity node or a realisation node, there will be a context menu with the following entries:

Menu entry Description
Open/ViewExclamation.png Opens (or sets on top) the procedure tab of the activity.
Delete Deletes the activity (or the deletable flow of a compound node).
Add new realizationExclamation.png Adds new realisation to the "Catch" flow of the handler activity.
Delete RealizationExclamation.png Deletes the realisation of the "Catch" flow of the handler activity.
Add Catch-branchExclamation.png Adds a new "Catch" flow to the handler activity.
Add Finally-branchExclamation.png Adds a new "Finally" flow to the handler activity.
Properties Opens the properties dialog box of the element which has the adjustable properties.

ProjectPlayer32.png Player Projects

Similar to the OTX projects, a Player project is a standard folder in the file system. It contains a Project file (*.playPrj), a PlayList file (*.playLst) and a PlayerLayout file (*.playLay)

Exclamation.png Important: The names of all the elements below a player project node shall conform the OTX Naming conventions!

You can add a new player project or import from a PPX library by using the context menu of the solution. Besides adding a player project by the context menu of the solution, you can use the related functions in the Start Page or the "New Player Project" command in the menu File of the Ribbon.

Right-click on the player project node, there will be a context menu with the following entries:

Menu entry Description
Overview Opens the Overview window to display the whole designer content of the solution and focuses on the selected player project.
Validate Checks all the referred PTX/project within the player project for any warnings or errors.
Display Instructions Displays a page with the notes.
Export...> Export As PPX... Exports the player project to a PPX library.
Export...> Export As Template... Exports the player project to a PTXT library.
Add > Add PTX library reference... Adds a reference to a PTX library.
Add > Import Player Layout... Imports a file layout (*.playLay) from another player project.
Add > [ProjectName]Exclamation.png Adds a reference to the project [ProjectName].
Delete Deletes the reference from the solution to the player project.
Rename Renames the player project.
Add Selected Project to Subversion Adds the selected player project to Subversion.
Version Control (Subversion) > Add...Exclamation.png Adds the current player project to source control of SVN which needs to be committed to SVN later..
Version Control (Subversion) > Add to ignore list...Exclamation.png Adds the current player project to the ignore list so that it will not be added back into Subversion again by mistake.
Version Control (Subversion) > Help... Opens the user manual of the TortoiseSVN.
Version Control (Subversion) > Setting... Opens the "Settings - TortoiseSVN" dialog box.
Version Control (Subversion) > About... Opens the version information dialog box.
Open Folder in Windows Explorer Opens the player project folder in a new window with Windows Explorer.
Properties Opens the Project Settings dialog box.

PtxReference32.png References

Similar to the References of the OTX projects

Monitors.png Monitors

The monitor consits of an adjustable table layout with different panels which contain the controls or commands. The "Monitors" are displayed as monitors node below the player project node. Each "Monitors" can contain one or more the monitor and it can also be empty. To add or to paste a monitor, you can use the context menu of the "Monitors" node (see below) or you can add the existing monitors of other player project by using the context menu of the player project (Add > Import Player Layout...). To copy or cut a monitor, use the context menu of that monitor. Keyboard shortcutsTooltip.png are allowed.

Right-click on the "Monitors" node, there will be a context menu with the following entries:

Menu entry Description
Add > New Monitor... Adds a new monitor to the "Monitors" node.
Paste Pastes a monitor to the "Monitors" node.
Open Folder in Windows Explorer Opens the player project folder in a new window with Windows Explorer.

Right-click on a monitor node, there will be a context menu with the following entries:

Menu entry Description
Open/View Opens the monitor in the Workflow Designer.
Cut Cuts the monitor.
Copy Copies the monitor.
Delete Deletes the monitor.

Right-click on a "Comlumns/Rows" node, there will be a context menu with the following entries:

Menu entry Description
Properties Opens the properties dialog box of the Column/Row.

Right-click on a panel node (e.g ControlPanels, CommandPanels and HmiScreenPanels), there will be a context menu with the following entries:

Menu entry Description
Add Item... Opens dialog to add new panel to the ControlPanels or CommandPanels or HmiScreenPanels.
Paste Pastes a panel to the ControlPanels or CommandPanels or HmiScreenPanels.

Right-click on a "PanelControl" node (or "PanelCommand" or "PanelHmi"), there will be a context menu with the following entries:

Menu entry Description
Add Item...Exclamation.png Opens dialog to add new element to the panelHmi.
Cut Cuts the panelControl or panelCommand or panelHmi.
Copy Copies the panelControl or panelCommand or panelHmi.
PasteExclamation.png Pastes a control to the panelControl.
Delete Deletes the panelControl or panelCommand or panelHmi.

Right-click on a control node (or Command or Hmi element), there will be a context menu with the following entries:

Menu entry Description
CutExclamation.png Cuts the control.
CopyExclamation.png Copies the control.
Delete Deletes the control or command or Hmi element.

PlayLists.png Playlists

Right-click on the "Playlist" node, there will be a context menu with the following entries:

Menu entry Description
Add > New Playlist Adds a new playlist to the "Playlist" node.
Paste Pastes a playlist to the "Playlist" node.

Right-click on the playlist element node, there will be a context menu with the following entries:

Menu entry Description
Open/View Opens the playlist in the Workflow Designer.
Cut Cuts the playlist element.
Paste Pastes the playlist element.
Delete Deletes the playlist element.

GlobalBehaviors.png Global Behaviours

Right-click on the "Global Behaviours" node, there will be a context menu with the following entries:

Menu entry Description
Add Item... Open the "Behaviour - settings" dialog to add a new global behaviour element.
Paste Pastes a global behaviour element to the "global behaviours" node.

Right-click on the global behaviour element node, there will be a context menu with the following entries:

Menu entry Description
Cut Cuts the global behaviour element.
Copy Copies the global behaviour element.
Delete Deletes the global behaviour element.
Properties Open the "Behaviour - settings" dialog.

InitialValues.png Initial Values

Right-click on the "Initial Values" node, there will be a context menu with the following entries:

Menu entry Description
Open/View Open the "Behaviour - settings" dialog to add a new global behaviour element.
Open Folder in Windows Explorer Opens the player project folder in a new window with Windows Explorer.

UnallocatedFiles16.png Unallocated Files

The OTF allows you to load an OTX document directly in the Solution Explorer. To load an OTX document, you should set the OTX document format (*.otx) to be opened with the OTF (right-click on a document and select menu "Open With", and set the OTF to open this file format). After that, double-click on any document to load it in the explorer. If a solution is already loaded in the explorer and the document belongs to the current solution, the document will be focused and opened; otherwise, the document will be loaded as an unallocated document in the explorer. An unallocated document will be displayed as an allocated document node below the "Unallocated Files" node. All unallocated documents is read-only but you can copy the unallocated document or all the elements inside the unallocated document by using the context menu of the corresponding element node, you can also open the properties dialog box of those element by using the context menu. To edit an unallocated document, you can add that document to a package in the solution. To add one or all of the allocated document to a package, please use the context menu of the corresponding package node. When you reload the solution or load another solution, the "Unallocated Files" will be cleared.