Difference between revisions of "OtfSolutionExplorer"

From emotive
Jump to navigation Jump to search
 
(103 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{DISPLAYTITLE:Open Test Framework - Solution Explorer (Solution Manager)}}[[Category:OTF]]
 
{{DISPLAYTITLE:Open Test Framework - Solution Explorer (Solution Manager)}}[[Category:OTF]]
 
{{FontColor|red||EDITING ...}}
 
  
 
==Overview==
 
==Overview==
The Solution Explorer {{Question|(SE)}} 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, especially at design-time. The Solution Explorer also supports runtime with functions to execute a sequence (a procedure) directly, or check for errors before execution, or even build DLLs or executable files ect.
+
{|
 
+
| 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.
{{ImageStyleCenter|OTFSolutionExplorer.png|800|The Solution Explorer shows the structure of an OTX solution}}
 
 
 
  
The Solution Explorer is a dockable window which can be moved and attached in many positions in the OTF. Users can also close and re-open it, or set it to auto-hide mode. 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 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:
  
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Expand''' || Displays all-level elements in the solution (note that the unloaded documents will not be expanded)
+
|'''Tooltip switch''' || Turns the tooltips in Solution Explorer ON/OFF.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Collapse''' || Hides all elements in all projects, only displays the solution and projects
+
|'''Display main elements''' || Displays the main elements only (Projects, Pachages, Documents and Procedures).
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Select current Procedure''' || Sets focus on the current procedure in the Solution Explorer (expands related elements if necessary)
+
|'''Display Flow element''' || Turns the display of the flow element of a procedure ON/OFF.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Show flow node''' || Shows/hides the flow nodes of all procedures (default:OFF)
+
|'''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}}
 
|-{{TableRow2}}
|'''Display only global library elements''' || Hides all the elements in all referenced Ptx libraries that do not have the visibility:public (default:ON)
+
|'''Expand All'''{{TooltipIcon2|(Note: The unloaded documents will not be expanded)}} || Displays all-level elements in the solution.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Up''' || Moves the element up one level in a scope (eg. moves a variable up one level in the [[#LD|local Declarations]] scope) 
+
|'''Collapse All''' || Hides all elements in all projects, only displays the solution node and project nodes.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Down''' || Moves the element down one level in a scope
+
|'''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}}
 
|-{{TableRow1}}
|'''Sort Items A-Z''' || Arranges elements of a scope in ascending order
+
|'''Down''' || Moves the element down one level within a scope.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Sort Items Z-A''' || Arranges elements of a scope in descending order
+
|'''Sort Items A-Z''' || Arranges elements within a scope in ascending order.
{{Comment||-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|}}
+
|'''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.
 
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]] Solution (root node)==
+
=={{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 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.  
+
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 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.
+
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|}}The solution node has a context menu, right-click on the solution node to show this menu. The functions of each entry of the menu are described below:
+
{{Anchor|SlnContext|}}
 +
Right-click on the '''solution''' 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 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 if users check menu to create those files) 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 converts them to URI (limits on some activities that use paths)
+
| '''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 from a Ptx library to the current solution
+
|'''Version Control (Subversion) > Help...''' || Opens the user manual of the TortoiseSVN.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
| '''Subversion Category''' || Handles Subversion tasks in 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}}
 +
|'''Properties''' || Opens the [[OtfSolutionSettings|Solution Settings]] dialog box.
 
|}
 
|}
  
=={{Anchor|Prj|}}[[File:Projects32.png]] Projects==
+
=={{Anchor|Prj|}}[[File:Project32.png|32px]] 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 {{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.
+
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.
  
[[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}}
 
|-{{TableRow2}}
|'''Validate''' || Checks all the documents in the project for any warnings or errors
+
|'''Build Project''' || Builds the DLL/JAR file of the project.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Build''' || Builds the dll files (also the executable files or setup files i) of the project
+
|'''Build Lua Project{{TooltipIcon2|This menu only works when the DiagComRaw extension is opened.}}''' || Builds project in Lua code.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Ptx Export...''' || Export the project to a Ptx library
+
|'''Rebuild Project''' || Cleans the project and builds the DLL/JAR files of the projects.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> New Package''' || Adds a new package to the project
+
|'''Clean Project''' || Deletes all the files in the output folder of the Dotnet and Java runtime of the projects.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Existing Package''' || Adds an existing package to the project
+
|'''Export...> Export As PTX...''' || Exports the project to a PTX library.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Add PTX library reference''' || Adds a reference to a Ptx library
+
|'''Export...> Export As Template...''' || Exports the project to a PTXT library.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Paste''' || Pastes a copied or cut package to the project
+
|'''Add > New Package...''' || Adds a new package to the project.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Delete''' || Deletes the reference of the solution to the project
+
|'''Add > Existing Package...''' || Adds an existing package to the project.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Rename''' || Renames the project
+
|'''Add&nbsp;>&nbsp;Add&nbsp;PTX&nbsp;library&nbsp;reference...''' || Adds a reference to a PTX library.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Set as Startup Project''' || Sets the project as the Startup Project of the solution
+
|'''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}}
| '''Subversion Category''' || Handles Subversion tasks on the project scope (See [[Subversion]] section for more information)
+
|'''Paste''' || Pastes a package to the project.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Open Folder in Windows Explorer''' || Opens the project folder in a new window with Windows Explorer
+
|'''Delete''' || Deletes the reference from the solution to the project.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Properties''' || Opens the [[OtfProjectSetting|project setting]] dialog
+
|'''Rename''' || Renames the project.
 +
|-{{TableRow1}}
 +
|'''Set as Startup Project''' || Sets the project as the startup project of the solution.
 +
|-{{TableRow2}}
 +
|'''Add Selected Project to Subversion''' || Adds the selected project to Subversion.
 +
|-{{TableRow1}}
 +
| '''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.
 
|}
 
|}
  
=={{Anchor|Ref|}}[[File:References32.png]] References==
+
{{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.}}
  
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]].
+
==={{Anchor|Ref|}}[[File:PtxReference32.png|32px]] References===
  
Right-click on the reference node, there will be a context menu with the following entries:
+
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 "'''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:Packages32.png]] Packages==
+
==={{Anchor|Pck|}}[[File:Package32.png|32px]] 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 [[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.
+
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.
  
{{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:Documents32.png]] Documents==
+
==={{Anchor|Doc|}}[[File:Document32.png|32px]] Documents===
  
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.  
+
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.
  
{{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:
+
{{Anchor|DocContext|}}
 +
Right-click on the '''document''' 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 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}}
 
|-{{TableRow2}}
|'''Open/View''' || Loads the content of the document
+
|'''Meta-Data''' || Opens the [[OtfMetaDataWindow|Meta Data View]] tool window.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Validate''' || Checks for any warnings or errors in the document
+
|'''Save''' || Saves all the changes in the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Debug''' || Executes the procedure main of the document in debug mode
+
|'''Export...> Export as Single Document...''' || Exports the document to a OTX file.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Save''' || Saves all the changes in the document
+
|'''Add > Import/Reference...''' || Adds a reference from the current document to itself or to another document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Import/Reference''' || Adds a reference to a document
+
|'''Add > Global Declaration > New Global Constant...''' || Adds a new global constant to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''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.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Global Declaration >> New Context Variable''' || Adds a new context variable to the document
+
|'''Add > Global Declaration > New Context Variable...''' || Adds a new context variable to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Global Declaration >> New Global Variable''' || Adds a new global variable (document variable) to the document
+
|'''Add > Global Declaration > New State Variable...''' || Adds a new state variable to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> AdminData''' || Adds administration data (versioning data) to the document
+
|'''Add > AdminData''' || Adds administration data (versioning data) to the document (see [[#Adm|AdminData]]).
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Validity''' || Adds a new validity to the document
+
|'''Add > Validity...''' || Adds a new validity to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Signtures >> New Procedure Signature''' || Adds a new procedure signature to the document
+
|'''Add > Signatures > New Procedure Signature...''' || Adds a new procedure signature to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Signtures >> New Screen Signature''' || Adds a new screen signature to the document
+
|'''Add > Signatures > New Screen Signature...''' || Adds a new screen signature to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Signtures >> New Device Signature''' || Adds a new device signature to the document
+
|'''Add > Signatures > New Device Signature...''' || Adds a new device signature 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 Device Signature...''' || Adds a new device signature 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 Structure Signature...''' || Adds a new structure signature to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Signtures >> New SecurityAccessJob Signature''' || Adds a new procedure signature with some supported parameters to the document
+
|'''Add > Signatures > New Enumeration Signature...''' || Adds a new enumeration signature to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Cut''' || Cuts the document
+
|'''Add > Signatures > New SingleEcuJob Signature...''' || Adds a new procedure signature with some supported parameters to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Copy''' || Copies the document
+
|'''Add > Signatures > New FlashJob Signature...''' || Adds a new procedure signature with some supported parameters to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Paste''' || Pastes a global element (valiadity, global declataion, signature) to the document
+
|'''Add > Signatures > New SecurityAccessJob Signature...''' || Adds a new procedure signature with some supported parameters to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Delete''' || Deletes the document
+
|'''Cut''' || Cuts the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Rename''' || Renames the document
+
|'''Copy''' || Copies the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Set as Startup Document''' || Sets the document as the Startup Document of the project
+
|'''Copy complete name''' || Copies the complete OTX name of the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Open Folder in Windows Explorer''' || Opens the package folder containing the document in a new window with Windows Explorer
+
|'''Paste''' || Pastes a global element (a validity, a global declataion, or a signature) to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Properties''' || Opens the properties dialog of the document
+
|'''Delete''' || Deletes the document.
 +
|-{{TableRow2}}
 +
|'''Rename''' || Renames the document.
 +
|-{{TableRow1}}
 +
|'''Set as Startup Document''' || Sets the document as the Startup Document of the project.
 +
|-{{TableRow2}}
 +
|'''Open Folder in Windows Explorer''' || Opens the package folder containing the document in a new window with Windows Explorer.
 +
|-{{TableRow1}}
 +
|'''Properties''' || Opens the properties dialog box of the document.
 
|}
 
|}
  
=={{Anchor|Adm|}}[[File:AdminData.png|40px]] Admin Data==
+
==={{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 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.
+
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.
  
Right-click on the AdminData node, there will be a context menu with the following entries:
+
Right-click on the '''admin-data''' 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]] Imports==
+
==={{Anchor|Imp|}}[[File:Imports32.png|38px]] Imports===
  
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.
+
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.
  
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.
+
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).
  
Right-click on the Imports node, there will be a context menu with the following entries:
+
Right-click on the "'''Imports'''" node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
|-{{TableRow2}}
+
|-{{TableRow1}}
|'''Add Item''' || Adds a new reference to a document
+
|'''Add Item''' || Adds a reference from the current document to itself or to another document.
|-
 
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
 
 
|}
 
|}
  
Right-click on an import 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}}
|'''Delete''' || Deletes the reference
+
|'''Delete''' || Deletes the reference.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Properties''' || Opens a dialog to modidfy the reference
+
|'''Properties'''{{TooltipIcon|(Alternative option: double-click on the import node)}} || Opens a dialog box to modidfy the reference.
 
|}
 
|}
  
=={{Anchor|Val|}}[[File:Validity32.png]] Validities==
+
==={{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 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).
+
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:
+
Right-click on the "'''Validities'''" node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add Item''' || Adds a new validity to the document
+
|'''Add Item''' || Adds a new validity to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Paste''' || Pastes a 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:
+
Right-click on a '''validity''' node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Cut''' || Cuts the validity
+
|'''Cut''' || Cuts the validity.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Copy''' || Copies the validity
+
|'''Copy''' || Copies the validity.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete''' || Deletes the validity
+
|'''Copy complete name''' || Copies the complete OTX name of the validity.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Rename''' || Renames the validity
+
|'''Delete''' || Deletes the validity.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Properties''' || Opens the properties dialog of the validity
+
|'''Rename''' || Renames the validity.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Properties'''{{TooltipIcon|(Alternative option: double-click on the validity node)}} || Opens the properties dialog box of the validity.
 
|}
 
|}
  
=={{Anchor|Sig|}}[[File:Signature32.png]] Signatures==
+
==={{Anchor|Sig|}}[[File:Signature32.png|32px]] Signatures===
  
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.
+
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 Signatures 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}}
 
|-{{TableRow2}}
|'''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.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''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.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''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.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add Item >> New SingleEcuJob Signature''' || Adds a new procedure signature with some supported parameters to the document
+
|'''Add Item > New Enumeration Signature...''' || Adds a new enumeration signature to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add Item >> New FlashJob Signature''' || Adds a new procedure signature with some supported parameters to the document
+
|'''Add Item > New SingleEcuJob Signature...''' || Adds a new procedure signature with some supported parameters to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add Item >> New SecurityAccessJob 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.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Paste''' || Pastes a signature to the document
+
|'''Add Item > New SecurityAccessJob Signature...''' || Adds a new procedure signature with some supported parameters to the document.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Paste''' || Pastes a signature to the document.
 
|}
 
|}
  
Right-click on a signature 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}}
|'''Implement new Procedure (only active for procedure signature)''' || Creates a new procedure to implement the current procedure signature
+
|'''Cut''' || Cuts the signature.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Device Mapping (only active for device signature)''' || Opens the tab Device Mapping of the [[PrjSetting|project setting]]
+
|'''Copy''' || Copies the signature.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Cut''' || Cuts the signature
+
|'''Copy complete name''' || Copies the complete OTX name of the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Copy''' || Copies the signature
+
|'''Delete''' || Deletes the signature.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete''' || Deletes the signature
+
|'''Rename''' || Renames the signature.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Rename''' || Renames the signature
+
|'''Add new realisation'''{{TooltipIcon2|(Note: This entry is only enabled when the signature has no realisation)}} || Adds a new realisation to the signature.
 
|-{{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 realisation'''{{TooltipIcon2|(Note: This entry is only enabled when the signature has a realisation)}} || Deletes the realisation of the signature.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Delete realisation (only active when the signature has a realisation)''' || Deletes the realisation of the signature
+
|'''Properties'''{{TooltipIcon|(Alternative option: double-click on the signature node)}} || Opens the properties dialog box of the signature.
|-{{TableRow2}}
 
|'''Properties''' || Opens the properties dialog of the signature
 
|-
 
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
 
 
|}
 
|}
  
=={{Anchor|GD|}}[[File:GlobalDeclaration32.png]] Global Declarations==
+
==={{Anchor|GD|}}[[File:AddVariable32.png|32px]] Global Declarations===
  
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. Note the special case that you can paste a global constant or a global variable to the local Declarations node (the copy of a global constant will be a local constant, and the copy of a global variable will be a local variable).
+
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.
  
Right-click on the Declarations node of the document, there will be a context menu with the following entries:
+
Right-click on the "'''Declarations'''" node of the document, 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
+
|'''Add > New Global Constant...''' || Adds a new global constant to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> New Context Variable''' || Adds a new context variable to the document
+
|'''Add > New Context Variable...''' || Adds a new context variable to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> New Global Variable''' || Adds a new global variable (document variable) to the document
+
|'''Add > New Global Variable...''' || Adds a new global variable (document variable) to the document.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Paste''' || Pastes a global declaration to the document
+
|'''Add > New State Variable...''' ||Adds a new state variable to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete not used declarations''' || Deletes all the unused global declarations
+
|'''Paste''' || Pastes a global declaration to the document.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''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:
+
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}}
|'''Cut''' || Cuts the global declaration
+
|'''Cut''' || Cuts the global declaration.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Copy''' || Copies the global declaration
+
|'''Copy''' || Copies the global declaration.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete''' || Deletes the global declaration
+
|'''Copy complete name''' || Copies the complete OTX name of the global declaration.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Rename''' || Renames the global declaration
+
|'''Delete''' || Deletes the global declaration.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Properties''' || Opens the properties dialog of the global declaration
+
|'''Rename''' || Renames the global declaration.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''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]] Procedures==
+
==={{Anchor|Prc|}}[[File:Procedure32.png|40px]] Procedures===
  
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.
+
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:
+
Right-click on the "'''Procedures'''" node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Add Item... > New Procedure...''' || Adds a new procedure to the document.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add Item''' || 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.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Paste''' || Pastes a procedure to the document
+
|'''Paste''' || Pastes a procedure to the document.
 
|}
 
|}
  
<br/>{{Anchor|PrcContext|}}Right-click on a procedure 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}}
|'''Open/View''' || Opens a new {{Question|workflow tab}} of the procedure in the [[OtfWorkflowDesigner|Workflow Designer]]
+
|'''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}}
 +
|'''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}}
 +
|'''Cut''' || style="width:600px;" | Cuts the procedure.
 +
|-{{TableRow1}}
 +
|'''Copy''' || style="width:600px;" | Copies the procedure.
 +
|-{{TableRow2}}
 +
|'''Copy complete name''' || Copies the complete OTX name of the procedure.
 +
|-{{TableRow1}}
 +
|'''Paste''' || style="width:600px;" | Pastes a local element (a comment, a parameter, an exception or a declaration) to the procedure.
 +
|-{{TableRow2}}
 +
|'''Delete''' || style="width:600px;" | Deletes the procedure.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Validate''' || Checks the procedure for any errors and warnings
+
|'''Rename''' || style="width:600px;" | Renames the procedure.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Execute Workflow''' || Executes the procedure
+
|'''Add > Comment...''' || style="width:600px;" | Adds a comment to the procedure.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Stop Procedure''' || Stop the execution of the procedure
+
|'''Add > Parameter > New Procedure In-Parameter...''' || style="width:600px;" | Adds an in parameter to the procedure.
 
|-{{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
+
|'''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===
 +
 
 +
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.
 +
 
 +
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 a '''comment''' node, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 +
|-{{TableRow2}}
 +
|'''Cut''' || Cuts the comment.
 +
|-{{TableRow1}}
 +
|'''Copy''' || Copies the comment.
 +
|-{{TableRow2}}
 +
|'''Delete''' || Deletes the comment.
 +
|-{{TableRow1}}
 +
|'''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}}
 
|-{{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)
+
|'''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}}
|'''Cut''' || Cuts the procedure
+
|'''Add > New Procedure In-Parameter...''' || style="width:600px;" | Adds an in parameter to the procedure.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Copy''' || Copies the procedure
+
|'''Add > New Procedure out-Parameter...''' || style="width:600px;" | Adds an out parameter to the procedure.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Paste''' || Pastes a local element (comment, parameter, exception or declaration) to the procedure
+
|'''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 '''parameter''' node, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Delete''' || Deletes the procedure
+
|'''Add to Watch window''' || Adds the parameter to the [[OtfWatchWindow|Watch]] tool window.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Rename''' || Renames the procedure
+
|'''Cut''' || Cuts the parameter.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Comment''' || Adds a comment to the procedure
+
|'''Copy''' || Copies the parameter.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Parameter''' || Adds a parameter to the procedure
+
|'''Copy complete name''' || Copies the complete OTX name of the parameter.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Throw''' || Adds an exception declaration to the procedure
+
|'''Delete''' || Deletes the parameter.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> Local declaration >> New Local Constant''' || Adds a new local constant to the procedure
+
|'''Rename''' || Renames the parameter.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> Local declaration >> New Local Variable''' || Adds a new local variable to the procedure
+
|'''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}}
|'''Add new realization (only active when the procedure has no realisation)''' || Adds new realisation to the procedure
+
|'''Add Item...''' || Adds a new exception to the "'''Throws'''" node.
 +
|-{{TableRow1}}
 +
|'''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}}
 
|-{{TableRow1}}
|'''Delete Realization''' || Delete the realization of the procedure.
+
|'''Cut''' || Cuts the exception.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Properties''' || Opens the properties dialog of the procedure
+
|'''Copy''' || Copies the exception.
||-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Delete''' || Deletes the exception.
 
|}
 
|}
  
=={{Anchor|Com|}}[[File:Comments32.png]] Comments==
+
==={{Anchor|LD|}}[[File:LocalDeclarations32.png|32px]] Local Declarations===
  
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).
+
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 Comments 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 comment to the procedure
+
|'''Add > New Local Variable...''' || Adds a new local variable to the procedure.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Paste''' || Pastes a comment to the procedure
+
|'''Add > New Local Constant...''' || Adds a new local constant to the procedure.
|-
+
|-{{TableRow2}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Paste''' || Pastes a local declaration to the procedure.
 +
|-{{TableRow1}}
 +
|'''Delete not used declarations...''' || Deletes all the unused local declarations.
 
|}
 
|}
  
Right-click on a comment 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}}
 +
|'''Cut''' || Cuts the local declaration.
 +
|-{{TableRow1}}
 +
|'''Copy''' || Copies the local declaration.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Cut''' || Cuts the global declaration
+
|'''Copy complete name''' || Copies the complete OTX name of the local declaration.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Copy''' || Copies the global declaration
+
|'''Delete''' || Deletes the local declaration.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete''' || Deletes the global declaration
+
|'''Rename''' || Renames the local declaration.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Properties''' || Opens the editor dialog of the comment
+
|'''Properties'''{{TooltipIcon|(Alternative option: double-click on the local declaration node)}} || Opens the properties dialog box of the local declaration.
|-
 
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
 
 
|}
 
|}
  
=={{Anchor|Prm|}}[[File:Parameters32.png]] Parameters==
+
==={{Anchor|Flw|}}[[File:Flow32.png|32px]] Flow===
  
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.
+
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 the Parameters node, there will be a context menu with the following entries:
+
Right-click on an '''activity''' node or a '''realisation''' node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{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}}
 +
|'''Delete''' || Deletes the activity (or the deletable flow of a compound node).
 +
|-{{TableRow1}}
 +
|'''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}}
|'''Update Parameters''' {{FontColor|gray||(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
+
|'''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}}
|'''Add Item''' || Adds a parameter to the procedure or signature
+
|'''Add Catch-branch'''{{TooltipIcon2|(Note: This entry is only for the Handler node)}} || Adds a new "'''Catch'''" flow to the handler activity.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Paste''' || Pastes a parameter to the procedure or signature
+
|'''Add Finally-branch'''{{TooltipIcon2|(Note: This entry is only for the Handler node)}} || Adds a new "'''Finally'''" flow to the handler activity.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Properties''' || Opens the properties dialog box of the element which has the adjustable properties.
 
|}
 
|}
Right-click on a parameter node, there will be a context menu with the following entries:
+
 
 +
=={{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}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Cut''' || Cuts the parameter
+
|'''Overview''' || Opens the Overview window to display the whole designer content of the solution and focuses on the selected player project.
 +
|-{{TableRow1}}
 +
|'''Validate''' || Checks all the referred PTX/project within the player project for any warnings or errors.
 +
|-{{TableRow2}}
 +
|'''Display Instructions''' || Displays a page with the notes.
 +
|-{{TableRow1}}
 +
|'''Export...> Export As PPX...''' || Exports the player project to a PPX library.
 +
|-{{TableRow2}}
 +
|'''Export...> Export As Template...''' || Exports the player project to a PTXT library.
 +
|-{{TableRow1}}
 +
|'''Add&nbsp;>&nbsp;Add&nbsp;PTX&nbsp;library&nbsp;reference...''' || Adds a reference to a PTX library.
 +
|-{{TableRow2}}
 +
|'''Add > Import Player Layout...''' || Imports a file layout (*.playLay) from another player project.
 +
|-{{TableRow1}}
 +
|'''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}}
 +
|'''Delete''' || Deletes the reference from the solution to the player project.
 +
|-{{TableRow1}}
 +
|'''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}}
 
|-{{TableRow1}}
|'''Copy''' || Copies the parameter
+
|'''Version Control (Subversion) > About...''' || Opens the version information dialog box.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete''' || Deletes the parameter
+
|'''Open&nbsp;Folder&nbsp;in&nbsp;Windows&nbsp;Explorer''' || Opens the player project folder in a new window with Windows Explorer.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Properties''' || Opens the properties dialog of the parameter
+
|'''Properties''' || Opens the [[OtfProjectSettings|Project Settings]] dialog box.
|-
 
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
 
 
|}
 
|}
  
=={{Anchor|Thr|}}[[File:Throws32.png]] Throws (exceptions)==
+
==={{Anchor|Ref|}}[[File:PtxReference32.png|32px]] References===
 +
 
 +
Similar to the [[#References|References]] of the OTX projects
  
The author of the OTX document can predict the exceptions that may potentially be thrown by the procedure. These exceptions shall be declared in the Throws (exceptions) node of the procedure. The implemented procedure signature of the current procedure, or the procedure calling to the current procedure or to the implemented procedure signature should also declare the same exceptions in their Throws nodes. The device service signatures also have the Throws node to declare the potential exceptions. 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 (see below). To copy or cut an exception, use the context menu of that exception.
+
==={{Anchor|Monitors|}}[[File:Monitors.png|32px]] Monitors===
  
Right-click on the Throws 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 exception to the Throws node
+
|'''Paste''' || Pastes a monitor to the "Monitors" node.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Paste''' || Pastes an exception to the Throws node
+
|'''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 exception 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 exception
+
|'''Open/View''' || Opens the monitor in the [[OtfWorkflowDesigner|Workflow Designer]].
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Copy''' || Copies the exception
+
|'''Cut''' || Cuts the monitor.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete''' || Deletes the exception
+
|'''Copy''' || Copies the monitor.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Delete''' || Deletes the monitor.
 
|}
 
|}
  
=={{Anchor|LD|}}[[File:LocalDeclarations32.png]] Local Declarations==
+
Right-click on a "'''Comlumns/Rows'''" node, there will be a context menu with the following entries:
 +
 
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Properties''' || Opens the properties dialog box of the Column/Row.
 +
|}
  
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 their procedure. These local declarations are displayed as local declaration node below the Declarations node of the procedure (this local Declarations node is different from the 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 or cut a local declaration, use the context menu of that local declaration. Note the special case that 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 global variable).
+
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 Declarations node of the document, there will be a context menu with the following entries:
 
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add >> New Local Variable''' || Adds a new local variable to the procedure
+
|'''Add Item...''' || Opens dialog to add new panel to the ControlPanels or CommandPanels or HmiScreenPanels.
 +
|-{{TableRow1}}
 +
|'''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:
 +
 
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Add >> New Local Constant''' || Adds a new local constant to the procedure
+
|'''Add Item...{{TooltipIcon2|(Note: This entry is only for the panelHmi}}''' || Opens dialog to add new element to the panelHmi.
 +
|-{{TableRow2}}
 +
|'''Cut''' || Cuts the panelControl or panelCommand or panelHmi.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Paste''' || Pastes a local declaration to the procedure
+
|'''Copy''' || Copies the panelControl or panelCommand or panelHmi.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete not used declarations''' || Deletes all the unused local declarations
+
|'''Paste{{TooltipIcon2|(Note: This entry is only for the panelControl}}''' || Pastes a control to the panelControl.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Delete''' || Deletes the panelControl or panelCommand or panelHmi.
 
|}
 
|}
  
Right-click on a local declaration node, there will be a context menu with the following entries:
+
Right-click on a '''control''' node (or '''Command''' or '''Hmi element'''), there will be a context menu with the following entries:
 +
 
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 +
|-{{TableRow1}}
 +
|'''Cut{{TooltipIcon2|(Note: This entry is only for the Control}}''' || Cuts the control.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Cut''' || Cuts the local declaration
+
|'''Copy{{TooltipIcon2|(Note: This entry is only for the Control}}''' || Copies the control.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Copy''' || Copies the local declaration
+
|'''Delete''' || Deletes the control or command or Hmi element.
 +
|}
 +
 
 +
==={{Anchor|Playlists|}}[[File:PlayLists.png|32px]] Playlists===
 +
 
 +
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.
 +
|}
 +
 
 +
Right-click on the '''playlist element''' node, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Delete''' || Deletes the local declaration
+
|'''Open/View''' || Opens the playlist in the [[OtfWorkflowDesigner|Workflow Designer]].
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Rename''' || Renames the local declaration
+
|'''Cut''' || Cuts the playlist element.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Properties''' || Opens the properties dialog of the local declaration
+
|'''Paste''' || Pastes the playlist element.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Delete''' || Deletes the playlist element.
 
|}
 
|}
  
=={{Anchor|Flw|}}[[File:Flow32.png]]Flow==
+
==={{Anchor|GlbBehaviors|}}[[File:GlobalBehaviors.png|32px]] Global Behaviours===
  
Under the flow node, the actual sequence of activities is presented. Each activity consists of a name and one or more realisations. It 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 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.
 +
|}
  
Right click on an activity node or a realisation node, there will be a context menu with the following entries:
+
Right-click on the '''global behaviour element''' node, there will be a context menu with the following entries:
 
{|{{TableHeader}}
 
{|{{TableHeader}}
 
{{TableRowContextMenuHeader}}
 
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Open/View''' {{FontColor|gray||(not displayed with realisation node}} || Opens (or sets on top) the procedure tab of the activity
+
|'''Cut''' || Cuts the global behaviour element.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Delete''' || Deletes the activity (or a deletable flow of a compound node)
+
|'''Copy''' || Copies the global behaviour element.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Add new realization (only displayed with the "Catch" flow of the handler activity)''' || Adds new realisation to the "Catch" flow of the handler activity
+
|'''Delete''' || Deletes the global behaviour element.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
|'''Delete Realization (only displayed with the "Catch" flow of the handler activity)''' || Deletes the realisation of the "Catch" flow of the handler activity
+
|'''Properties''' || Open the "Behaviour - settings" dialog.
 +
|}
 +
 
 +
==={{Anchor|InitValues|}}[[File:InitialValues.png|42px]] Initial Values===
 +
 
 +
Right-click on the "'''Initial Values'''" node, there will be a context menu with the following entries:
 +
{|{{TableHeader}}
 +
{{TableRowContextMenuHeader}}
 
|-{{TableRow2}}
 
|-{{TableRow2}}
|'''Properties''' || Opens the properties dialog of the element which has the adjustable properties
+
|'''Open/View''' || Open the "Behaviour - settings" dialog to add a new global behaviour element.
|-
+
|-{{TableRow1}}
|style="height: 0px; background-color: whitesmoke;" colspan="2"|
+
|'''Open&nbsp;Folder&nbsp;in&nbsp;Windows&nbsp;Explorer''' || Opens the player project folder in a new window with Windows Explorer.
 
|}
 
|}
 +
 +
=={{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.