ParameterEdit Snap-ins

These are modules that do not stand alone, but can be used for parameter editing in the user interface. See: ParameterEdit

To use parameter snap-ins, the Parameters array should have a sub-array of parameters required for that snap-in module. For example:

Modules[1] = "ParmEditExprNoNormalize";
Parameters[1] = New(4);
Parameters[1][0] = 0b1001;
Parameters[1][1] = ContainerInfo;
Parameters[1][2] = #VTypeFont;
Parameters[1][3] = "FontValue";

ParmEditFont differs from others described in this article. For it, you will need to add an element to your Modules array with the value of "ParmEditFont". The Parameters array can have an Invalid entry for the matching element.

ParmEditColor 

Description Used for choosing a color as your parameter value.
Required Parameters None
Parameters

Color  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label height
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot - (Unused) Root of the edit dialog.
ID - Focus ID
QuoteTrueColor - Deprecated

ParmEditColorNone

Description Used for choosing an Invalid color as your parameter value.
Required Parameters None
Parameters

Color  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
HideTitle  -  TRUE to hide the title over the control
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot - (Unused) Root of the edit dialog.
ID - Focus ID

ParmEditDateTime

Description Used for choosing a time stamp value. It expects and returns timestamps in UTC, and converts them to the clients local time zone for display and edit.
Required Parameters None
Parameters

TimestampVal  -  Parameter value (expected in UTC)
ParmDef  -  Parameter definition structure
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
HideTitle  -  TRUE to hide the title over the control
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot - (Unused) Root of the edit dialog.
ID - Focus ID
InitialTime - Optional. The number of seconds since midnight of Jan 1, 1970. Default = current time.
24HourEditing - Optional. True for 24 hour clock. Default = False.

ParmEditExprMovement 

Description Used for choosing an expression as your parameter value for a movement parameter
Required Parameters DropListLabel0, DropListLabel1, ContainerInfo, DefMin, DefMax
Parameters

Expr  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label height
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
DropListLabel0  -  Label 0 for the Movement direction drop-list
DropListLabel1  -  Label 1 for the Movement direction drop-list
ContainerInfo - Information structure for Container and its parameters
DefMin - Default minimum value
DefMax - Default maximum value

ParmEditExprNoNormalize 

Description Used for choosing an expression as your parameter. Note that, the result is not wrapped with a Normalize.
  MenuEnables, ContainerInfo, TargetType, TargetSubType
Parameters

Expr  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label height
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
MenuEnables  -  Bits to enable options for expression editor
         bit 0 - Tag Browser
        bit 1 - Color Selector
         bit 2 - Gradient Selector
        bit 3 - Function Selector and Editor
ContainerInfo - Information structure for Container and its parameters
TargetType - Optional value type allowed for this parameter. Defaults to double.
TargetSubType - Optional list of subtypes for Object type.

ParmEditExprNormalize 

Description ParameterEdit module for choosing an expression as your parameter. The result is wrapped in a Normalize.
Required Parameters MenuEnables, ContainerInfo
Parameters Expr  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label height
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
MenuEnables  -  Bits to enable options for expression editor
         bit 0 - Tag Browser
        bit 1 - Color Selector
         bit 2 - Gradient Selector
        bit 3 - Function Selector and Editor
ContainerInfo - Information structure for Container and its parameters

ParmEditFont 

Description Used by the ParameterEdit to choosing a Font as your parameter value. See note at the beginning of this article.
Required Parameters BrowserObj
Parameters FontVal  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label weight
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
ID - Focus ID
BrowserObj - Output: Set to the instance of the Tag Browser opened by the SelectObject control.

ParmEditHorizAlign 

Description ParameterEdit module for choosing horizontal alignment as your parameter value.
Required Parameters None
Parameters HAlign  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label weight
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
ID - Focus ID

ParmEditLineStyle 

Description ParameterEdit module for choosing a line style as your parameter value
Required Parameters None
Parameters Style  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label weight
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
ID - Focus ID

ParmEditLineWidth 

Description ParameterEdit module for choosing a line width as your parameter value
Required Parameters None
Parameters Width  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label weight
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
ID - Focus ID

ParmEditNum 

Description ParameterEdit module for choosing a number as your parameter value
Required Parameters TypeOfValue, MinVal, MaxVal, IsSpinBox
Parameters NumVal  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label weight
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
TypeOfValue  -  Optional, VTScada value type required
MinVal  -  Optional, Min value allowed (Max also required)
MaxVal  -  Optional, Max value allowed (Min also required)
IsSpinBox - Optional, set TRUE to display as a spinbox.

ParmEditNumSlider

Description ParameterEdit module for choosing a number as your parameter value using a slider bar or optional edit field.
Required Parameters MinVal, MaxVal, EnableEditField
Parameters NumVal  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
HideTitle  -  set TRUE to hide the title over the control
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
ID - Focus ID
MinVal  -  Optional, Min value allowed (Max also required) Default 0
MaxVal  -  Optional, Max value allowed (Min also required) Default 100
EnableEditField - Optional, set FALSE to disable the edit field. Default TRUE.

ParmEditParmMovement 

Description ParameterEdit module for choosing a container's parameter as a value. Used for displaying the Movement parameter. Has all the additional information needed for the Movement GUI call
Required Parameters ContainerInfo, DropListLable0, DropListLabel1, DefMin, DefMax
Parameters ParmVal  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right - Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label weight
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
ContainerInfo  -  Info struct for the container and its parameters
DropListLabel0  -  Droplist label 0
DropListLabel1  -  Droplist label 1
DefMin - Default minimum value
DefMax - Default maximum value

ParmEditParmValue 

Description ParameterEdit module for choosing a container's parameter as a value.

NOTE. Due to the introduction of PickValids for default parameters, this selector must appear in the modules array before any of the expressions.
Required Parameters ContainerInfo, TargetTypeLo, TargetTypeHi, SubTypeList, Scaled, DefaultValue, DefaultNoParm, TargetMin, TargetMax, Translate
Parameters ParmVal  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label weight
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (for sizing)
ContainerInfo  -  Info struct for container and its parameters
ValueTypeLo  -  Min value type allowed for this parameter. Note - If ValueTypeHi is invalid, then this is the only value type allowed.
ValueTypeHi  -  Max value type allowed for this parameter
SubTypeList  -  Optional list of subtypes for object type
Scaled  -  Optional Boolean to indicate whether the data be in a "Scale" expression. The default is FALSE
DefaultValue  -  Optional. The default value if the parameter's value is invalid
DefaultNoParm  -  Optional. The default value if no parameter is selected
TargetMin - Target minimum value
TargetMax - Target maximum value
Translate - Boolean. Set TRUE if the output should be wrapped in \GetPhrase.

ParmEditPattern 

Description ParameterEdit module for choosing a fill pattern as your parameter value
Required Parameters NoTransparentBrush
Parameters Brush  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label weight
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
ID - Focus ID
NoTransparentBrush - Boolean. Set FALSE to show a "no pattern" selection. Defaults to TRUE.

ParmEditPipeColor 

Description ParameterEdit module for choosing a pipe color as your parameter value
Required Parameters None
Parameters HighColor  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label weight
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
ID - Focus ID

ParmEditPipeWidth 

Description ParameterEdit module for choosing a pipe width as your parameter value
Required Parameters None
Parameters PipeWidth  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label weight
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
ID - Focus ID

ParmEditTag 

Description Parameter Editing module for choosing a tag as your parameter value
Required Parameters PointType, BrowserObj, DefaultText, MissingText
Parameters TagParm  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the Parameter Value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label weight
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
PointType  -  Point Type allowed for this parameter
BrowserObj - Output: Set to the instance of the Tag Browser opened by the SelectObject control.

ParmEditTagMovement 

Description Parameter Editing module for choosing a tag value as your parameter value for a Movement parameter
Required Parameters DropListLabel0, DropListLabel1, PointType, DefMin, DefMax, BrowserObj
Parameters TagMoveVal  -  Parameter value
ParmPtr  -  Parameter pointer
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label height
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
DropListLabel0  -  Label 0 for the movement direction drop-list
DropListLabel1  -  Label 1 for the movement direction drop-list
PointType  -  Point Type allowed for this parameter
DefMin - Default minimum value
DefMax - Default maximum value
BrowserObj - Output: Set to the instance of the Tag Browser opened by the SelectObject control.

ParmEditTagProperty 

Description ParameterEdit module for choosing a property of the drawn tag.

NOTE. Due to the introduction of PickValids for default parameters, this selector must appear in the Modules array BEFORE any of the Expressions.
Required Parameters ContainerInfo, TargetTypeLo, TargetTypeHi, TargetSubTypes, Scaled, DefaultValue, DefaultNoTag, TargetMin, TargetMax
Parameters ParmVal  -  Parameter value
ParmPtr  -  Parameter pointer 
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label height
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (for sizing)
ID - Focus ID
ContainerInfo  -  Info struct for container and its parameters
TargetTypeLo  -  Min value type allowed for this parameter. If TargetTypeHi is Invalid, then this is the only value type allowed.
TargetTypeHi  -  Max value type allowed for this parameter
TargetSubTypes  -  Optional list of subtypes for object type
Scaled  -  Should this value be scaled?
DefaultValue  -  Optional, default value if the tag's value is invalid
DefaultNoTag  -  Optional, default value if user selects 'No Property Selected'
TargetMin - Target minimum value
TargetMax - Target maximum value

ParmEditTPMovement 

Description ParameterEdit module for choosing a container's parameter as a value
Required Parameters DropListLabel0, DropListLabel1, ContainerInfo, DefMin, DefMax
Parameters ParmVal  -  Parameter value
ParmPtr  -  Parameter pointer 
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label height
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (for sizing)
DropListLabel0  -  Label 0 for the movement direction drop-list
DropListLabel1  -  Label 1 for the movement direction drop-list
ContainerInfo  -  Info structure for container and its parameters
DefMin - Default minimum value
DefMax - Default maximum value

ParmEditTagValue 

Description ParameterEdit module for choosing a tag value as your parameter value
Required Parameters PointType, Scaled, DefaultValue, DefaultNoTag, TargetMin, TargetMax, BrowserObj
Parameters TagParm  -  Parameter value
ParmPtr  -  Parameter pointer 
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label height
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
PointType  -  Point type allowed for this Parameter
Scaled  -  Optional Boolean value indicating whether the data should be in a Scale expression. Default = true
DefaultValue  -  Optional, default value if the tag's value is invalid
DefaultNoTag  -  Optional, default value if no tag is set


ParmEditText 

Description ParameterEdit module for choosing a text message as your parameter value
Required Parameters Translate, PageName
Parameters

TextMsg  -  Parameter value
ParmPtr  -  Parameter pointer 
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label height
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)

FocusID - Focus ID
Obsolete -  No longer used.

Translate - Integer indicating whether the output should be wrapped in \GetPhrase.
       0 - Use text as it is entered
       1 - Use PhraseID wrapped in GetPhrase()
      2 - Use PhraseID not wrapped in GetPhrase()

PageName - Which page we set this text parameter for. Mandatory for editing a subordinate page (name in the form of <SubordinateApplicationTagName\PageNameOnSubordinateApp>) so that any text parameter entered can save its phrase identifier key on subordinate application.
Leave INVALID when editing the parameters of a widget.

ParmEditTextExpression

Description ParameterEdit module for choosing an expression that returns text as the parameter Value. Related to ParameterPanel, which calls the above.
Required Parameters MenuEnables, ContainerInfo
Parameters Expr -  Parameter value
ParmPtr  -  Parameter pointer 
Enable  -  Show the graphics for editing the parameter value
Left  -  Left coordinate
Bottom  -  Bottom coordinate
Right  -  Right coordinate
Top  -  Top coordinate
LabelWidth  -  Label width
LabelHeight  -  Label height
PtrWaitClose  -  TRUE to tell caller to wait to close
DlgRoot  -  Root of the edit dialog (UNUSED)
ID - Focus ID
MenuEnables  -  Bits used to enable options for the expression editor
    bit 0 - Tag Browser
    bit 1 - Color Selector
    bit 2 - Gradient Selector
   bit 3 - Function Selector and Editor
ContainerInfo - Info structure for Container and its parameters

ParameterPanel

Description This is a Generic Panel which will handle the setting of Parameters for an object that does not have its own panel. The object can be a page or a widget.
If available, hints are taken from the typing information of the object parameters and suitable Parameter Value choosers are offered.
If the immediate container has parameters then, these too are considered as actual value candidates. However, if there is type information on the object or the container, then these hints are used to filter the set of options, possibly resulting in an empty set.
This panel is designed to be callable from several sources, such as the VGE and the Display Manager.
Parameters ObjModule  -  Object module that is to have its parameters modified
pObjParams  -  Pointer to an array of the object's parameter values
PtrWaitClose  -  TRUE when window closed or cancel pressed
CodePtr  -  CodePtr so that the parameter value can be read
Left  -  Left position of the window
Bottom  -  Height of window
Right  -  Width of the window
Top  -  Top position of the window
HandleScrollBar  -  Flag - TRUE for this module to use a scrollbar if required
ContainerInfo  -  Information about container and its parameters
SelectedParms  -  Boolean array of selected parameters to make editable
DialogRoot  -  The calling dialog window
GetWidthFromDescriptions - Optional. If TRUE, the larger of Description or Name is used to determine the space required.
AllowAdvancedParams - Optional. Allows advanced parameter configuration. This will change which options are available for editing parameters.
PageName - Which page the parameter is set for. Mandatory for editing a subordinate page (name in the form of <SubordinateApplicationTagName\PageNameOnSubordinateApp>) so that any text parameter entered can save its phrase identifier key on subordinate application. Leave invalid when editing the parameters of a widget.

ParameterEdit