Composite Object
The composite object (class name:
obj_composite) allows you to show a display (.rtv) file within an object. This
is useful for creating groups of objects that you want to use multiple times,
either directly in your displays or in the
Object Grid.
Creating
Composite Displays
First, create the display that you want to use inside of a composite object.
This display is referred to as the composite display. While any display (.rtv) file can be used
as a composite display, there are some rules about constructing that display:
- Property names for composite objects cannot be used
as variable names, in the Composite section this only includes rtvName
and substitutions.
- Only public variables that are not
mapped to data or substitutions will show up as properties on the composite object.
- Names of all public variables used for
tabular data must have Data Type set
to Tabular.
- Composite displays can use any object
from the Object Palette, except the composite object.
- Nested composite objects
are not supported.
Next, open new display and add a composite
object. On the composite object, set the rtvName property to the name of
the composite display you just created. NOTE: The rtvName property should be set before any other properties.
Once you have set rtvName, all public
unmapped variables in the composite display will show up as properties
on the composite object. Like any other property, you can attach those
properties to data or set them to static values. NOTE: If you do not want a variable to be exposed as a property, mark it as
private.
For example, you can create a display (.rtv)
file with two meters that are attached to two public variables: value1
and value2. When you enter the name of that display (.rtv) file in the rtvName
property of the composite object, then value1 and value2 will show up in the
Composite section of the Object Properties list. These
properties can be set to static data or attached to data to drive the values in
the composite display. When the composite object is used in an
Object Grid, these properties will also show up in the iconProperties
dialog, which allows you to assign them to either values or data columns. NOTE:
Composite objects used in Object Grids must have their bgOpaqueFlag
property selected.
Using Interaction Properties
The specified drillDownTarget or command
for objects in the composite display will take precedence over the
drillDownTarget or command set on the composite object when it is
instanced directly in a display. When the composite object is used in an Object
Grid, the specified drillDownTarget or command for objects in the
composite display will take precedence over the drillDownTarget or
command set on the Object Grid. For
example, let's say you have a composite display with an object that drills down
to display A and you set a drillDownTarget on the composite object to
display B. When you click on the composite object, if you click directly on the
object that drills down to display A, then display A is opened. If you click
anywhere else in the composite display, then display B is opened.
A similar thing happens when you use that composite
object in an Object Grid. However, in this case, you can't set a
drillDownTarget on the composite object, you can only set the
drillDownTarget on the Object Grid. So, let's say you set the Object Grid to
drill down to display B. Again when you click directly on the object in the
composite display that drills down to A, display A is opened. When you click
anywhere else in the composite or in the Object Grid, display B is opened.
Commands
To assign a command, right-click in the Property Value field of
the command property and select Define Command.
Commands can be set up to
execute when you click on an object or
automatically execute the command when the value of an object reaches a
specified threshold.
See Building Displays>Define/Execute Command
for information on how to set up commands.
Drill Down Displays
To specify a
drill down display, double click on the drillDownTarget property.
Any display (.rtv) file can be targeted as a drill down. Once a drill down
target has been set, double-click to activate the drill down. Drill down
displays can be activated in the same window or opened in a separate window.
This allows you to build a customizable hierarchy of displays.
Background Properties
Property
Name |
Description |
bgBorderColor |
Select the
button and choose a color from the palette to set the color of the edge on
the background rectangle. This property is only applicable if bgBorderFlag
is selected. |
bgBorderFlag |
If selected, a border is drawn around the
background rectangle, |
bgColor |
Select the
button and choose a color from the palette to set the background color. |
bgEdgeWidth |
Set the width of the 3D
edge on the background rectangle. This property is only available if the bgStyle selected
is 3D Rectangle. |
bgGradientColor2 |
Select the
button and choose a color for the second
color in the gradient. Default is white. NOTE: The bgColor property sets
the first color in the gradient. |
bgGradientMode |
Display a gradient
in the background rectangle. Select from the following options:
|
None |
No gradient |
|
Diagonal Edge |
Gradient is drawn
at a 45 degree angle from the top left to the bottom right corner of the
object. |
|
Diagonal Center |
Gradient is drawn
at a 45 degree angle from the center to the top left and the bottom right
corners of the object. |
|
Horizontal Edge |
Gradient is drawn
horizontally from the top to the bottom of the object. |
|
Horizontal Center |
Gradient is drawn
horizontally from the center to the top and bottom of the object. |
|
Vertical Edge |
Gradient is drawn
vertically from the left to the right of the object. |
|
Vertical Center |
Gradient is drawn
vertically from the center to the left and right of the object. |
|
bgOpaqueFlag |
When a composite object is used in an
Object
Grid, the bgOpaqueFlag
property must be selected. If deselected, then objects inside a composite that
is clipped by the edge of the Object Grid may be drawn outside the Object Grid.
NOTE: In order to avoid showing a border around each
composite object in the Object Grid, select Edit>Model Properties and
deselect the bgBorderFlag. |
bgRaisedFlag |
Reverses the direction of the gradient, as well
as that of the 3D edge if the bgStyle selected is
3D Rectangle. |
bgRoundness |
Set the arc length of the rounded corners.
This property is only available if the bgStyle selected is Round
Rectangle. NOTE: The value of bgRoundness cannot exceed half the value of the
objWidth or the objHeight. If bgRoundness does exceed that
value, then half (of the smaller of the two values) of objWidth or
objHeight will be used instead. For example if objWidth is 100 and
objHeight is 50, then the value of bgRoundness cannot exceed 25. If
it does, then half the value of objHeight (25) will be used instead. |
bgShadowFlag |
Select to display a drop shadow on the background rectangle. |
bgStyle |
Choose one of the following three options
from the drop down menu:
Rectangle |
Select to display
a background rectangle. |
3D
Rectangle |
Select to display
a 3D edge on the background rectangle. If selected, use bgEdgeWidth to
set the width of the 3D edge. |
Round Rectangle |
Select to display
a background rectangle with rounded edges. If selected, use bgRoundness
to set the arc length of the rounded corners. |
|
bgVisFlag |
Select to display the background
rectangle. |
borderPixels |
Set the amount of space (in pixels) between the
object and the border. |
Composite Properties
There are two standard properties in the Composite
section: rtvName and substitutions. Once you have set the
rtvName property, the composite display will show up in your composite
object and all of the public variables
from the composite display that are not mapped to data or substitutions will be
added as Composite properties.
Property
Name |
Description |
resizeMode |
Specify how the composite object is resized.
There are two modes:
- Size to Display: The size of the
composite object
is determined by the size of the display it
contains. The composite object
cannot be resized. This is the default setting.
The dock and anchor properties should not be used in this mode.
- Layout: The composite
object can
be resized. Objects in the composite display are situated according to their
anchor and dock properties. The dock and anchor properties can be set on the
composite object
so that it resizes during a window resize if the
window resize mode is also set to Layout. If the window resize mode
for the display containing the composite
object is
set to Scale, the composite object performs a scale instead of a
layout.
|
rtvName |
Specify the name of the display (.rtv)
file to show in your object. This display is referred to as the composite
display. See Creating Composite
Displays for details. |
substitutions |
Specify the substitutions for the
composite display. NOTE: The composite display also inherits substitutions
from the display that contains the composite object.
Substitutions are optional and must use the following syntax:
$subname:subvalue $subname2:subvalue2
If a substitution value contains
a single quote, it must be escaped using a / :
$filter:Plant=/'Dallas/'
If a substitution value contains
a space, it must be enclosed in single quotes. Do not escape these single
quotes:
$subname:subvalue $subname2:'sub
value 2'
A substitution string cannot contain
the following:
:
|
|
|
.
|
tab
|
space
|
,
|
;
|
=
|
<
|
>
|
'
|
"
|
& |
/ |
\ |
{ |
} |
[ |
] |
( |
) |
|
Historian Properties
Property
Name |
Description |
historyTableName |
Specify
name of table in your history database in which to store tabular data.
See
Configuring the Historian for information. |
historyTableRowNameFlag |
If
selected, data from the row name field will be stored in the first column of the
table specified in historyTableName. |
Interaction Properties
Property
Name |
Description |
command |
Assign a command. See Building
Displays>Define/Execute Command for information. |
commandCloseWindowOnSuccess |
If selected, the
window that initiates a system command will automatically close when the system
command is executed successfully. This
property only applies to system commands.
With data source commands, the window is closed
whether or not the command is executed successfully.
For multiple commands, this property is applied
to each command individually. Therefore if the first command in the multiple
command sequence succeeds, the window will close before the rest of the commands
are executed.
NOTE: The commandCloseWindowOnSuccess
property is not supported in the Display Server. |
commandConfirm |
If selected, the
command confirmation dialog is enabled. Use the commandConfirmText
property to write your own text for the confirmation dialog, otherwise text from
the command property will be used. For
multiple commands, if you Confirm the execution then all individual commands
will be executed in sequence with no further confirmation. If the you Cancel the
execution, none of the commands in the sequence will executed. |
commandConfirmText |
Enter command
confirmation text directly in the Property Value field or select the
button to open the Edit commandConfirmText dialog. If
commandConfirmText is not specified, then
text from the command property will be used. |
drillDownTarget |
Name of display (.rtv)
file targeted as a drill down. See Building
Displays>Drill Down Displays for information. |
Label Properties
Property
Name |
Description |
label |
Edit label text directly in the Property Value
field or select the
button to open the Edit Label dialog. |
labelMinTabWidth |
Specify minimum width of the label tab.
This property is only applies if labelTextAlignY is
set to TabTop. |
labelTextAlignX |
Select x-axis position of label text from the
drop down menu. |
labelTextAlignY |
Select y-axis position of label text from the
drop down menu.
Outside Top
|
Position label well above the background rectangle. |
Top
|
Position label just above the background rectangle. |
Title Top |
Position label along the top line of the background rectangle. |
Tab Top |
Position label tab just above the background rectangle. Height and width of
the tab is dependent on the height and width of the text. Use the
labelMinTabWidth property to specify a minimum tab width. |
Inside Top |
Position label inside the top of the background rectangle. |
|
labelTextColor |
Select the
button and choose a color from the palette to set the label text color. |
labelTextFont |
Select font style of label text from the drop
down menu. |
labelTextHeight |
Set the height of the label text in pixels. |
Object Properties
Property
Name |
Description |
anchor |
Specify where to
anchor an object in the display. NOTE: If an object has the dock property
set, the anchor property will be ignored.
The anchor property is only applied when the
dimensions of the display are modified, either by editing
Background Properties or resizing the window in
Layout mode
Select None, or one or more the following
options:
None
|
Object
not anchored. This is the default. |
Top |
Anchor
top of object at top of display. |
Left |
Anchor
left side of object at left of display. |
Bottom |
Anchor
bottom of object at bottom of display. |
Right |
Anchor
right side of object at right of display. |
When a display is resized, the number of pixels
between an anchored object and the specified location remain constant. If an
object is anchored on opposite sides (i.e. Top and Bottom or
Left and Right), the object will be stretched to fill the available
space. NOTE: If the Resize Mode is set to Scale and an
object is anchored on opposite sides, then the object with be moved rather than
stretched to fill the available space. |
dock |
Specify the docking
location of an object in the display. NOTE: An object should not be docked if
the Resize Mode is set to Scale.
Select from the following options:
None
|
Object
is not docked. This is the default. |
Top |
Dock
object at top of display. |
Left |
Dock
object at left of display. |
Bottom |
Dock
object at bottom of display. |
Right |
Dock
object at right of display. |
Fill |
Dock
object in available space remaining in the display after all docked objects
are positioned. |
If the dimensions of the display are modified,
either by editing Background Properties or
resizing the window in Layout mode, the
properties (objX, objY, objWidth and objHeight) of
docked objects will automatically adapt to match the new size of the display.
When multiple objects are docked to the same side
of the display, the first object is docked against the side of the display, the
next object is docked against the edge of the first object, and so on.
When objects are docked to multiple sides of the
display, the order in which objects were added to the display controls docking
position. For example, let's say the first object added to the display is docked
at the Top and the second object is docked at the Left.
Consequently, the first object will fill the entire width of the display and the
second object will fill the left side of the display from the bottom of the
first object to the bottom of the display.
Objects in a display have the dock property set
to Fill, are laid out across a grid in the available space remaining
after all docked objects are positioned. By default, the grid has one row and as
many columns as there are objects in the display. You can modify the grid in the
Background Properties dialog.
Once an object is docked, there are some
limitations on how that object can be modified.
- Docked objects cannot be dragged or
repositioned using objX and objY properties.
- Docked objects cannot be resized using the
objWidth or objHeight properties. To resize you must drag on the
resize handle.
- Docked objects can only be resized toward the
center of the display (e.g. If an object is docked at the Top, only its
height can be increased by dragging down toward the center of the display).
- Docked objects set to Fill cannot be
resized at all.
- Docked objects cannot be moved using Align.
Non-docked objects can be aligned against a docked object, but a docked object
will not move to align against another object.
- Docked objects are ignored by Distribute.
|
objHeight |
This property is read only. It shows the height
in pixels of the composite object which is set by the height of the
composite
display. |
objName |
Name given to facilitate object management via
the Object List dialog. Select Tools>Object List. |
objWidth |
This property is read only. It shows the width
in pixels of the composite object which is set by the width of the
composite
display. |
objX |
Set the x position of the object. |
objY |
Set the y position of the object. |
styleClass |
Enter the style class name for this object as
defined in your style sheet.
If not specified, the object class name is used. NOTE: The value entered
must not contain spaces and cannot start with rtv-. |
transparencyPercent |
Sets the transparency of the object.
This property only applies to the background of the composite object. |
visFlag |
Set the visibility of the object. |
|