Skip to main content

Text & Display

Label

PlainLocal Styled

Label

Styled Label

Label is a static text element.

skin.xml Snippet:

<Label title="Static Label"/>
Attribute NameDescriptionType
attachLayout attachment/alignment.token
heightExplicit height.number
localizeLocalization toggle.flag
optionsVisual or behavioral options.token
sizePosition and size geometry.tuple
sizelimitsDefines size limits.tuple
styleStyle reference.identifier
titleVisible title text.text
tooltipHover help text.text
value-text
widthExplicit width.number
optionsDescription
colorize-
fittext-
multilineMulti-line editing mode.
nohelp-
transparentTransparent rendering.

Link

Link is a clickable text-style control.

skin.xml Snippet:

<Horizontal spacing="8">
<Link name="Link 1" title="Link 1" attach="vcenter" style="MyLinkStyle"/>
<Link name="Link 2" title="Link 2" attach="vcenter" style="MyLinkStyle"/>
</Horizontal>

scriptname.js Snippet:

this.paramList = Host.Classes.createInstance("CCL:ParamList");
this.paramList.controller = this;

this.Link1 = this.paramList.addParam("Link 1");
this.Link2 = this.paramList.addParam("Link 2");

this.paramChanged = function(param)
{
if(param == this.Link1)
Host.GUI.openUrl(Host.Url("https://example.com/", true));
else if(param == this.Link2)
Host.GUI.openUrl(Host.Url("local://$USERCONTENT", true));
}
Attribute NameDescriptionType
attachLayout attachment/alignment.token
heightExplicit height.number
nameLink binding name.identifier
optionsVisual or behavioral options.token
sizePosition and size geometry.tuple
styleStyle reference.identifier
titleDisplay title.text
tooltipTooltip text.text
widthExplicit width.number
optionsDescription
button-
fittext-
fittitle-
transparent-
urltitle-

Notes

  • JS surface binds Link through addParam(...) and handles clicks in paramChanged(...).

TextBox

TextBox

TextBox is an uneditable display field.

skin.xml Snippet:

<TextBox name="DisplayText" width="360" height="48"/>

scriptname.js Snippet:

this.DisplayText = context.parameters.addString("DisplayText");
this.DisplayText.value = "";
Attribute NameDescriptionType
attachLayout attachment/alignment.token
colorname-identifier
heightExplicit height.number
nameTextBox binding name.identifier
optionsVisual or behavioral options.token
sizePosition and size geometry.tuple
sizelimitsDefines size limits.tuple
styleStyle reference.identifier
texttrimmodeText trimming mode.token
tooltipTooltip text.text
widthExplicit width.number
optionsDescription
borderVisible field border.
composited-
directupdate-
fittext-
hfit-
hidefocus-
markup-
multilineMulti-line display mode.
nocontextmenuDisable the context menu.
nohelp-
scaletext-
transparentTransparent display.

Notes

  • TextBox can be prefilled by setting the parameter .value before the dialog opens.
  • For multiline TextBox controls, apply a style alignment such as <Align name="textalign" align="left top"/>.

ImageView

ImageView displays a named image resource, ImagePart, or ShapeImage.

skin.xml Snippet:

<Vertical spacing="4">
<ImageView image="LeftSegment" width="24" height="48" tooltip="Left segment"/>
<ImageView image="RightSegmentTinted" width="24" height="48" tooltip="Tinted right segment"/>
</Vertical>
Attribute NameDescriptionType
attachLayout attachment/alignment.token
heightExplicit height.number
imageNamed image resource.identifier
optionsVisual or behavioral options.token
providerHost-provided image source.identifier
selectnameSelection-binding name.identifier
sizeRectangle geometry.tuple
sizelimitsDefines size limits.tuple
styleStyle reference.identifier
tooltipTooltip text.text
widthExplicit width.number
optionsDescription
allowstretch-
allowzoomZoom behavior.
centerimageCenter image.
colorizeColorize the form area.
fitimageFit image to area.
highqualityHigh-quality rendering.
ignoreimagesizeIgnore image size.
insertdata-
nohelp-
swallowmouse-
translucent-
transparent-
windowmovableAllow drag from form area.

Notes

  • ImageView can sit inside a container like a normal visual control.

Divider

Divider

Divider is a visible separator control that can also function as a draggable splitter handle.

skin.xml Snippet:

  <Vertical margin="0" spacing="0" attach="all">
<DialogGroup title="Divider" size="0,0,250,70" sizelimits="0,20,250,-1" attach="all fill">
<Label title="Top Panel" attach="hcenter vcenter"/>
</DialogGroup>
<Divider name="Divider" options="vertical" size="0,0,250,10" attach="left right"/>
<DialogGroup size="0,0,250,70" sizelimits="0,20,250,-1" attach="all fill">
<Label title="Bottom Panel" attach="hcenter vcenter"/>
</DialogGroup>
</Vertical>
Attribute NameDescriptionType
attachLayout attachment/alignment.token
heightExplicit height.number
nameDivider binding name.identifier
optionsVisual or behavioral options.token
outreachDivider outreach amount.number
sizePosition and size geometry.tuple
styleStyle reference.identifier
marginDivider margin.number
widthExplicit width.number
optionsDescription
horizontalHorizontal orientation (left-right split).
verticalVertical orientation (top-bottom split).
smallSmall variant.
transparentTransparent rendering.
masterMaster divider in a linked pair.
slaveSlave divider in a linked pair.
pushPushes adjacent panel instead of resizing.
reverseReverse drag direction.
outreachleftOutreach in left direction.
outreachrightOutreach in right direction.
outreachbottomOutreach in bottom direction.
outreachtopOutreach in top direction.

Notes

  • For a draggable splitter, use attach="all fill" and sizelimits tuple to be resizable.

ProgressBar

ProgressBar

ProgressBar is a bound progress indicator used to show stepped or continuous progress updates inside a dialog layout.

skin.xml Snippet:

<ProgressBar name="ProgressValue" width="140" height="18" options="horizontal"/>

scriptname.js Snippet:

this.ProgressValue = context.parameters.addInteger(0, 100, "ProgressValue");
this.ProgressValue.value = 75;
Attribute NameDescriptionType
attachLayout attachment/alignment.token
heightExplicit height.number
nameProgressBar binding name.identifier
optionsOrientation option.token
widthExplicit width.number
optionsDescription
horizontalHorizontal ProgressBar.

Notes

  • ProgressBar can be driven by addInteger(...) or addFloat(...).

ActivityIndicator

ActivityIndicator

ActivityIndicator is an animated image playback control. It renders the style's foreground image and makes Image frames sprite-sheet animation values visible.

skin.xml Snippet:

<Image name="FrameGridTiled" url="images/example-frame-grid-3x3.png"
frames="t: 3x3 9" duration="5 s"/>

<Style name="FrameGridTiledStyle">
<Image name="foreground" image="FrameGridTiled"/>
</Style>

<ActivityIndicator width="90" height="90" style="FrameGridTiledStyle"/>
Attribute NameDescriptionType
attachLayout attachment/alignment.token
heightExplicit height.number
nameActivityIndicator control name.identifier
optionsRendering and update behavior.token
sizePosition and size geometry.tuple
styleStyle reference.identifier
tooltipTooltip text.text
widthExplicit width.number
optionsDescription
composited-
directupdate-
transparent-

Notes

  • ActivityIndicator uses a style that assigns an Image to the foreground slot.
  • When that Image resource has frames="t: ..." and duration, the control plays the sprite-sheet animation.