Skip to main content

Style Helpers & Host Styles

Style

Style defines one reusable style rule, optionally inheriting from a host style.

skin.xml Snippet:

<Style name="MyEditBox" inherit="Standard.AddIn.EditBox">
<Color name="backcolor" color="#1A1A2E"/>
<Color name="textcolor" color="#FFFFFF"/>
</Style>
Attribute NameDescriptionType
appstyle-flag
backcolorStyle background color.color
borderStyle border mode and width.number
forecolorStyle foreground color.color
nameStyle identifier.identifier
inheritStyle to inherit from.identifier
overrideOverrides inherited style values.token
textalignText alignment setting.token
textcolorStyle text color.color
textoptionsText rendering options.token
textsizeText size.number
textstyleText style setting.token
textthemeidTheme identifier for text styling.identifier
appstyleDescription
true-
overrideDescription
true-
textalignDescription
centerCenter aligned text.
leftLeft aligned text.
topTop aligned text.
vcenterVertical center aligned text.
textoptionsDescription
wordbreak-
textstyleDescription
underline-
textthemeidDescription
StandardUI-

Host Styles

Host styles are named skin recipes that change chrome, spacing, embedded affordances, or visual variants while script still handles behavior through bound params and controller methods.

StyleUsed OnObserved EffectNotes
Standard.SearchBoxImageView, EditBox, ButtonNative search field chrome with embedded clear button slotWorks with searchString + clear binding
Standard.LabelDimmedLabelDimmed placeholder label stylingUsed inside Standard.SearchBox
Standard.WindowHeaderViewFormNative window header / outer dialog chromeWorks with script buttons for Min/Max/Close
Standard.WindowMinimizeButtonButtonNative minimize icon/button chromeVisual chrome only
Standard.WindowMaximizeButtonToggleNative maximize icon/button chromeVisual chrome only
Standard.WindowCloseButtonButtonNative close icon/button chromeVisual chrome only
Standard.MenuBackcolorStyleFormCommandBar menu-style background chrome-
Standard.Menu.MenuHeaderViewCommandBar menu header chrome-
Standard.Menu.MenuHeaderEditBoxEditBoxCommandBar menu header edit styling-
Standard.Menu.MenuHeaderCheckBoxCheckBoxCommandBar menu header checkbox styling-
Standard.AddIn.TitleLabelLarger bold title textVisual only
Standard.AddIn.LabelLabelAdd-in label themeVisual only
Standard.AddIn.ButtonButtonAdd-in button themeVisual only
Standard.AddIn.ButtonLButtonLeft-edge button variantVisual only
Standard.AddIn.ButtonCButtonCenter button variantVisual only
Standard.AddIn.ButtonRButtonRight-edge button variantVisual only
Standard.AddIn.ComboBoxComboBoxAdd-in combo-box themeVisual only
Standard.AddIn.DividerDividerAdd-in divider styleVisual only
Standard.AddIn.EditBoxEditBoxAdd-in edit-field themeVisual only
Standard.AddIn.GroupViewAdd-in group/fieldset styleVisual only
Standard.AddIn.KnobKnobAdd-in knob themeVisual only
Standard.AddIn.SectionDividerHDividerAdd-in horizontal section divider styleVisual only
Standard.AddIn.SectionDividerVDividerAdd-in vertical section divider styleVisual only
Standard.AddIn.SelectBoxSelectBoxAdd-in select-box themeVisual only
Standard.AddIn.SliderSliderAdd-in slider themeVisual only
Standard.CheckBoxCheckBoxBase checkbox themeVisual only
Standard.ColorPickerPaletteSelectBoxBase color-picker palette styleVisual only
Standard.ComboBoxComboBoxBase combo-box themeVisual only
Standard.EditBoxEditBoxBase edit-field themeVisual only
Standard.LabelLabelBase label themeVisual only
Standard.LinkLinkBase link themeVisual only
Standard.ListViewListViewBase list-view skinVisual only
Standard.MenuControlViewBase menu-control stylingVisual only
Standard.SelectBoxSelectBoxBase select-box themeVisual only
Standard.TextBoxTextBoxBase text-box themeVisual only
Standard.TreeViewTreeViewBase tree-view skinVisual only

Align

Align

Align is a style helper that sets text alignment on controls that support it.

skin.xml Snippet:

<Styles>
<Style name="AlignCenterEditBox" inherit="Standard.AddIn.EditBox">
<Align name="textalign" align="center"/>
</Style>
<Style name="AlignRightTopEditBox" inherit="Standard.AddIn.EditBox">
<Align name="textalign" align="right top"/>
</Style>
</Styles>
Attribute NameDescriptionType
alignAlignment options.token
name-identifier

Notes

  • Align is used inside <Style> definitions. For the parameter-side population patterns used by the tested controls, see CCL:ParamList.
  • Confirmed working for EditBox, ValueBox, TextBox, SelectBox, and ComboBox.

Color

Color defines a named color slot inside a style.

skin.xml Snippet:

<Color name="textcolor" color="#FFFFFF"/>
Attribute NameDescriptionType
nameColor role name.identifier
colorAssigned color value.color
nameDescription
backcolor.offBackground color for the off state.
backcolor.onBackground color for the on state.
backcolorBackground color.
hilitecolorKnob fill color.
linkcolorLink text color.
forecolorForeground color.
selectedtextcolorText color used for selected content.
textcolor.onText color for the on state.
textcolorPrimary text color.

Font

Font defines a named font slot inside a style.

skin.xml Snippet:

<Font name="textfont" themeid="PresonusUI" size="13" bold="true"/>
Attribute NameDescriptionType
face-identifier
name-token
sizeFont size.number
spacingFont space.number
styleFont style options.token
themeid-identifier
smoothing-token
nameDescription
textfont-
smoothingDescription
antialias-
styleDescription
boldBold font weight.
italicItalic font style.
normalNormal font weight.
underlineUnderlined text.

Metric

Metric defines a named value inside a style, consumed by the target control.

skin.xml Snippet:

<Style name="MyKnobStyle">
<Metric name="circle" value="1"/>
<Metric name="range" value="270"/>
<Metric name="margin" value="12"/>
</Style>
Attribute NameDescriptionType
nameInternal Metric renderer key.identifier
valueAssigned numeric value.number / flag
nameDescriptionTypical Consumers
buttonMinWidthMinimum button width.Scroll button layouts
buttonSizeScrollbar button size.ScrollView styles
buttonstyleButton style variant selector.Toggle, RadioButton
cellBottomAreaHeightHeight of the bottom area in a cell layout.Cell/list layouts
cellCornerRadiusCorner radius used for cell rendering.Cell/list layouts
cellWidthWidth used for cell rendering.Cell/list layouts
chooseIconSizeChosen icon size.Icon layouts
circleEnables circular arc rendering on knobs (1 = on).Knob
colorize.iconEnables icon colorization.Button, Toggle
editmarginInner edit margin.EditBox styles
fill.iconIcon fill scale factor.Icon layouts
headerHeightHeader height.ListView
iconSizeIcon size.Icon layouts
indicatorEnables the code-rendered indicator dot/arc (1 = on).Knob
indicatormarginInset for the indicator dot from the knob center.Knob
indicatorwidthWidth of the indicator arc line.Knob
marginOuter margin or knob arc inset from control edge.Knob, ScrollView, general
maxIconHeightMaximum icon height.CommandBar
maxIconWidthMaximum icon width.CommandBar
minfontsizeMinimum font size.Label, Button
overlay.filmstripMarks the overlay image as a frame-based filmstrip (1 = on).Knob
padding.bottomBottom padding.General
padding.leftLeft padding.General
padding.rightRight padding.General
padding.topTop padding.General
popup.cellWidthPopup cell width.Popup layouts
popup.offset.xHorizontal popup offset.PopupBox
popup.offset.yVertical popup offset.PopupBox
rangeKnob rotation range in degrees (common: 270).Knob
rowHeightList row height.ListView
scrollBarSizeScrollbar size.ScrollView
spacingSpace between items.Containers
strokewidthWidth of the knob's background arc stroke.Knob
tabHeightTab height.TabView
tabSpacingSpace between tabs.TabView
textoffsetText offset.Label/text layouts
tilesizeTile size.Tile layouts
topoverlay.filmstripMarks the topoverlay image as a frame-based filmstrip (1 = on).Knob

| decorform | <String> referencing a decorative form name to wrap the popup. |

Notes

  • Metric values are style-family specific, listed under observed consumer where known.
  • Several knob metrics work together: circle=1 + range=270 + indicator=1 + strokewidth + indicatorwidth + margin + indicatormargin to produce a full code-rendered knob arc.
  • Filmstrip metrics (overlay.filmstrip, topoverlay.filmstrip) tell the engine to treat a corresponding image slot as a multi-frame sprite sheet rather than a static image. The engine selects the frame matching the control's current value.
  • Accepts integers, decimals, and false (equivalent to 0).

Triggers

Triggers is a container element inside <Style> that holds one or more <Trigger> definitions.

skin.xml Snippet:

<Triggers>
<Trigger event="onMouseDown">
<Invoker target="controller" name="myMethod" arg1="value"/>
</Trigger>
</Triggers>

Trigger

Trigger defines an event-driven action inside <Triggers>. Each trigger listens for a specific event and executes its child <Invoker> when the event fires.

skin.xml Snippet:

<Trigger event="onMouseDown">
<Invoker target="controller" name="myMethod" arg1="value"/>
</Trigger>
AttributeDescriptionType
eventEvent name(s) that fire this trigger.token
eventDescription
onAttachedFires when the element is attached to the view hierarchy
onContextMenuFires on right-click / context menu
onDoubleClickFires on double-click
onDragFires during mouse drag
onMouseDownFires on mouse button press
onRemovedFires when the element is removed from the view hierarchy
onSingleClickTouch-friendly single-click event
onSingleTapTouch-friendly tap event
onTouchTouch event

Notes:

  • Multiple events can be listed on one <Trigger>: event="onMouseDown onTouch".
  • Multiple <Invoker> elements in one <Trigger> all fire in order.