Application Developer Guide > Building VDA Tools > What is the VDA Tools Manager?
  

What is the VDA Tools Manager?
The VDA Tools Manager is a software layer that keeps track of VDA Tools, assists in saving and restoring VDA Tools, and facilitates the communication between VDA Tools.
The Tools Manager contains a data structure that stores the following VDA Tool information:
*Unique names of VDA Tools—The unique name is the key to the data structure. Tools Manager API calls allow you to update and modify this structure based on the unique name. The function TmGetUniqueToolName is used to generate a unique name for each VDA Tool instance.
*Methods—A method is a program that is executed in response to a trigger in a VDA Tool, such as a menu or button selection or mouse click. Normally, a VDA Tool will have several methods defined for it.
*Graphical Elements—Graphical elements (GRAELS) are predefined graphics routines used by VDA Tools. Graphical elements are primarily used for annotation—lines, rectangles, legends, text—but also include axes.
*Variables—The Tools Manager keeps track of which variables are associated with specific VDA Tools. The Tools Manager layer allows variables to be passed back and forth between different VDA Tools.
*Attributes and values—Anything that is tracked by the Tools Manager can have attributes assigned to it. For example, color is an attribute that might be assigned to a variety of items, such as lines, text, variables, and axes. The attribute’s value determines how the item is realized in the VDA Tool. For example, the thickness attribute for a line might have a value of 2 pixels.
*Save/Restore Information—The information needed to save and restore a VDA Tool is always maintained by the Tools Manager.
The Tools Manager relies on a central data structure that maintains necessary information about each instance of a VDA Tool. The VDA Tools Manager API routines, which all begin with “Tm”, allow VDA Tools to update this structure and retrieve information from it.
The VDA Tools Manager enables VDA Tool independence. As a VDA Tool developer, you will use Tools Manager API calls in your VDA Tool code to communicate with the Tools Manager. Tool Manager shows how multiple VDA Tool instances share the same source code, which communicates with the Tools Manager core.
A VDA Tool, such as WzPlot, is a GUI application that consists of graphical elements, variables, methods, and attributes. All instances of a VDA Tool share the same code. The Tools Manager keeps track of the specific characteristics of each instance of a VDA Tool. The VDA Tool source program communicates with the Tools Manager via the Tools Manager API (Tm* routines).
 
Figure 4-4: Tool Manager
The Tools Manager API
The routines used for creating and manipulating VDA Tools are listed in the following table.
 
Table 4-1: Functional Listing of Tools Manager General Routines  
Types of Routines
Routine Name
General Routines
TmDynamicDisplay           
TmGetMessage                 
TmGetTop                           
TmInit                                  
TmRegister                         
TmUnregister                       
Attribute Routines
TmGetAttribute               
TmSetAttribute                
Method Routines
TmExecuteMethod        
TmGetMethod                
TmSetMethod                 
Variable Routines
TmAddVar                      
TmDelVar                       
TmEnumerateVars         
Save/Restore Routines
TmRestoreTemplate        
TmRestoreTools               
TmSaveTools                    
Intertool Communication Routines
TmAddSelectedVars          
TmDeselectVars                
TmExport                       
TmExportSelection        
Code Generation Routines
TmCodeGen                       
TmEndCodeGen                  
TmStartCodeGen                
List Routines
TmList                   
TmListAppend     
TmListClear       
TmListDelete       
TmListDestroy      
TmListExtend      
TmListInsert      
TmListReplace      
TmListRetrieve      

Version 2017.1
Copyright © 2019, Rogue Wave Software, Inc. All Rights Reserved.