PLUG'N SCRIPT
rapid plugin development
Tutorial
DSP
KUIML
How-to
Scripts
  • Tutorial
  • Element Reference
Language basics
  • SKIN
  • DUMMY
  • INCLUDE
  • INCLUDE_ONCE
  • DEFINE
  • UNDEFINE
  • VARIABLE
  • LOCAL_VARIABLE
  • TEMPLATE
  • TEMPLATE_INNER_CONTENT
  • REPEAT
Data model
  • PARAM
  • ACTION
    • Action types
  • ACTION_TRIGGER
UI Layout and positioning
  • CELL
  • TABLE
UI Widgets
  • TEXT
  • TEXT_FIELD
  • TEXT_EDIT_BOX
  • CANVAS
    • Graphics API
  • svg
Common attrubutes
  • For all elements
  • Widgets
  • Param Widgets
  • Param Controls
  • Param Info Viewers
  • Text Widgets
  • Surface Viewers
  • Curve Viewers
  • 3D Objects
  • Parameters mapping
KUIMLElement Reference
December 21, 2020

PARAM_MULTI_LINK

Page is not ready

This article contains information from the official Blue Cat Audio KUIML reference that was not yet verified and edited.

This element connects multiple source parameters to multiple target parameters: whenever one of the 'from' parameters changes, the 'to' parameters take the 'from' parameter value modified by the 'response_curve' and mux_function functions.

Attributes brief detailed show all inherited

Name DescriptionDefault
fromIdentifiers of the source parametersMandatoryempty
toIdentifier of the destination parametersMandatoryempty
mux_functionFunction that convert the n input values to a single value, before being converted by the response_curve functionPossible values: 'min','max','-min','-max', and since 1.4.3: '>','>=','<','<=','='. Since the format of the skin is xml, you need to use xml entities for special characters (for example write '& gt;' for '>')max
response_curveThe response curve of the control or viewer: this is the function used to transform the position of the viewer to the parameter valueThis attribute is very useful when you need different precision of the control (or viewer) in different zones of the parameter value'linear'
formulaFormula to transform the output of the mux function into the destination parameters. Acts as a custom response curveThis attributes overrides the "response_curve" attribute when set. The formula cannot reference external model data but 'x' (value of the 'from' param) and can only use built-in functions. If you want to reuse functions or parameters defined in the skin, please use the FORMULA_PARAM element and one or several PARAM_LINK insteadempty
Exposed: v. 1.2reverseParameter widgets displays the parameter value the other way roundFor example a reverse vertical slider will have its value raised when moving from top to bottom instead of bottom to topfalse
Exposed: v. 1.6enabledEnable/disable the widget. When disabled, the widget does not react to mouse or keyboard events. it is displayed but inactive.true
normalizedLinks the normalized values of the parameters instead of the absolute valuesSet this parameter to true if you want to link the parameters relatively to their ranges, and not as absolute values. 'Normalized' values are set between 0 and 1, 0 corresponding to the minimum and 1 the maximum values of the parameters'false'
Inherited from param_widgetsRead about `param_widgets`
param_idIdentifier of the parameter to displayThis value is mandatory. Param controls cannot not refer to a an output param since output parameters are read-onlyempty
Exposed: v. 1.2reverseParameter widgets displays the parameter value the other way roundFor example a reverse vertical slider will have its value raised when moving from top to bottom instead of bottom to topfalse
Exposed: v. 1.2positions_countNumber of states of the param control or viewerThis number may be used to limit the number of states that the param widget can have. For example a LINEAR_PARAM_METER that displays 5 LEDs will need 6 states. But if the parameter to display is an integer with only 3 possible values, the real number of states will be 3Depends...
response_curveThe response curve of the control or viewer: this is the function used to transform the position of the viewer to the parameter valueThis attribute is very useful when you need different precision of the control (or viewer) in different zones of the parameter value'linear'
scaleParameter pre-scalingThis attribute is very useful when you need a specific scale for the parameter. The main difference between the scale and response_curve attributes is that the scale is computed on the parameters values, whereas the response_curve is used on the positions (0 to 1) range'linear'
Exposed: v. 1.2.5zoomZoom on the parameter rangeThis attribute enables you to zoom the parameter range to display/control a portion of the parameter range only. The exact range is also controlled by the offset parameter1
Exposed: v. 1.2.5offsetoffset on the parameter rangeThis attribute is active only when the zoom parameter has a value different from 1. You can then control where the parameter range starts (0 means that the parameter range starts with its minimum value, 1 means that it ends with its maximum value, and .5 means that the range is centered)0
max_zoomMaximum value allowed for the exposed zoom parameter1
Inherited from widgetsRead about `widgets`
Exposed: v. 1.2opacityOpacity of the widget0% is totally transparent, 100% is opaque100%
Exposed: v. 1.6visibleShow/hide the widget, does not impact the layout, as opposed to the cell's display attributetrue
Exposed: v. 1.6enabledEnable/disable the widget. When disabled, the widget does not react to mouse or keyboard events. it is displayed but inactive.true
cursorCursor to display when the mouse is over the active part of the widgetThis property works only for mouse sensitive (aka non-passive) widgetsSystem...
mouse_sensitiveEnables or disables mouse control on widgetsWarning: for advanced users only. Do not use this property that is set according to widget type, except if you really want to force mouse sensitivity (to enable cursor change etc.)Dependi...
auto_focusEnables or disables auto focusWhen enabled, a widget gets focus when the mouse is over it (you do not need to click on it). When a widget has focus it receives the keyboard events. auto_focus works for mouse_sensitive widgetsDependi...
handled_keysList of keys handled by the widget, which will trigger key_pressed and key_released events(Experimental) Use the character correponding to the selected key or 'all' for all keys, or one of the following for system keys: F1-F20, Enter, Space, Tab, Esc, Shift, Alt, Cmd, Ctrl, ArrowUp, ArrowDown, ArrowLeft, ArrowRight, PgUp, PgDn, Insert, Delete, BackSpaceempty
Exposed: v. 2.7.1default_keys_enabledEnable or disable the default keys handled natively by the widget.(Experimental) you can disable the default keyboard behavior for any widget if you want to write your own.true
Drag and Drop Attributes
drag_source_idsList of objects to use as drag sources for drag and drop operations (each one may have a different applicative type)empty
drag_applicative_typesList of applicative types to use for each drag source defined by the drag_source_ids list Experimental since 2.7: use the system::text applicative type to drag the content of a parameter or string as system text (can be dropped into any application that supports drag and drop of text content)empty
drag_operationsList of drag operations allowed. 'copy' or 'move' operations are currently supportedempty
drag_contextOptional string to define the serialization context used for the drag operationempty
Exposed: v. 2.6drag_enabledEnable drag operations on the widgettrue
drop_target_idsList of objects to use as drop targets for drag and drop operations (each one may have a different applicative type)empty
drop_applicative_typesList of applicative types to use for each drop target defined by the drop_target_ids list. Experimental since 2.7: use the system::text applicative type to drop text directly into a parameter or stringempty
drop_file_typesList of supported file types to use for each drop target defined by the drop_target_ids list. Each wild card may contain several extensions, separated by ','. For example, with "*.*;*.doc,*.txt", the first drop target will accept all files, and the second one will accept only .doc and .txt filesempty
dropped_file_path_string_idsList of string objects than can receive the path of a file that was dropped, for each drop target defined by the drop_target_ids listempty
drop_contextOptional string to define the deserialization context used for the drop operationempty
Exposed: v. 2.6drop_enabledEnable drop operations on the widgettrue
Exposed Attributes And Events (read-only)
Exposed: v. 2.6mouse_overSet to true when the mouse is over the active area of the widgetfalse
Exposed: v. 2.7mouse_downBit field containing the state of mouse buttons: first bit is left button, second is right and third is mid button. When no button is pushed, the value of mouse_down is zeroExperimental0
Exposed: v. 2.7mouse_position.xHorizontal position of the mouse in the widget (relative to the upper left corner of the widget)The value is valid only when the mouse is over the widget or being dragged out of it (experimental)
Exposed: v. 2.7mouse_position.yVertical position of the mouse in the widget (relative to the upper left corner of the widget)The value is valid only when the mouse is over the widget or being dragged out of it (experimental)
Exposed: v. 2.7mouse_screen_position.xAbsolute horizontal position of the mouse on the screenThe value is valid only when the mouse is over the widget or being dragged out of it (experimental)
Exposed: v. 2.7mouse_screen_position.yAbsolute vertical position of the mouse on the screenThe value is valid only when the mouse is over the widget or being dragged out of it (experimental)
Exposed: v. 2.7focusSet to true when the widget has keyboard focus and receives keyboard eventsfalse
Exposed: v. 2.7key_pressedEvent fired when a key (filtered by the handled_key list) is pressedExperimental
Exposed: v. 2.7key_pressed.keylast virtual key that was pressedExperimental: enum values are subject to change, check the displayed value (text)
Exposed: v. 2.7key_pressed.characterCharacter(s) corresponding to the last pressed key, if it was a character key (key_pressed.key=0)Experimental
Exposed: v. 2.7key_releasedEvent fired when a key (filtered by the handled_key list) is released
Exposed: v. 2.7key_released.keylast virtual key that was releasedExperimental: enum values are subject to change, check the displayed value (text)
Exposed: v. 2.7key_released.characterCharacter(s) corresponding to the last released key, if it was a character key (key_released.key=0)Experimental
Exposed: v. 2.6draggingSet to true when a dragging operation is in progress for this widgetfalse
Exposed: v. 2.6drag_operationtype of the current drag operation (None, Copy, Move)Experimental: enum values are subject to changeenumera...
Exposed: v. 2.6droppingSet to true when a dropping operation is in progress for this widgetfalse
Exposed: v. 2.6drop_operationtype of the current drop operation (None, Copy, Move)Experimental: enum values are subject to changeenumera...
Inherited from cellRead about `cell`
Properties Relative to Parent Cell
Exposed: v. 1.5v_alignVertical alignment of the cell in its parent cellcenter
Exposed: v. 1.5h_alignHorizontal alignment of the cell in its parent cellcenter
Exposed: v. 1.9.1 (read only)h_positionHorizontal position of the cell in its parent cellIf defined, it deactivates the h_align property. Use this attribute for horizontal pixel-positioning. The position is relative to the parent cell
Exposed: v. 1.9.1 (read only)v_positionVertical position of the cell in its parent cellIf defined, it deactivates the v_align property. Use this attribute for vertical pixel-positioning. The position is relative to the parent cell
Exposed: v. 1.9.1h_offsethorizontal offset of the cell from the position computed by the layout engineUsing this property lets you move a cell without changing the layout around it. The position is relative to the parent cell0
Exposed: v. 1.9.1v_offsetvertical offset of the cell from the position computed by the layout engineUsing this property lets you move a cell without changing the layout around it. The position is relative to the parent cell0
Exposed: v. 1.5flexflexibility of the cellThis attribute is used when the parent cell is a row or a column and has free space to distribute to children cells (for example for a fixed size parent cell that is larger than the sum of its children cell sizes). The remaining space will be distributed among children cells according to the flex attribute value0
Exposed: v. 1.5displayinclude/exclude the cell from the layoutWhen set to false, the content of the cell is not displayed (not visible) AND is not taken into account to compute the layout (the cell is ignored)true
Cell Properties
Exposed: v. 1.5layout_typeSelects a layout type: row, column or layer_stackDetermines how the children cells will be disposed inside the cell: as a row, a column or a stack of layers (each cell on top of each other, the first cell in the background, and the last one on the foreground)column
Exposed: v. 1.9.1 (pixels)widthForced width of the cellIf not present, the width will be automatically computed from the children cells widths and layout rules
Exposed: v. 2.0min_widthminimum width allowed for the cellWhen set, the layout engine will ensure that the width of the cell is not smaller than min_width pixels
Exposed: v. 2.0max_widthmaximum width allowed for the cellWhen set, the layout engine will ensure that the width of the cell is not larger than max_width pixels
Exposed: v. 1.9.1 (pixels)heightForced height of the cellIf not present, the height will be automatically computed from the children cells heights and layout rules
Exposed: v. 2.0min_heightminimum height allowed for the cellWhen set, the layout engine will ensure that the width of the cell is not smaller than min_height pixels
Exposed: v. 2.0max_heightmaximum height allowed for the cellWhen set, the layout engine will ensure that the width of the cell is not larger than max_height pixels
marginmargin of the cellMay be overridden by the h_margin or v_margin attributes0
Exposed: v. 1.5h_marginHorizontal margin of the cell0
Exposed: v. 1.5v_marginVertical margin of the cell0
Exposed: v. 1.5spacingSpace between children cells0
spacing_flexFlex value to allocate extra space between children cellsSee the flex attribute for more details0
Exposed: v. 1.5internal_v_alignVertical alignment of children cells group inside the cellThis attribute is useful only if the cell has a fixed size, and the sum of the sizes of the layouted children cells is different from the cell size. In this case you may want to choose how you align the children cells group inside the parent cell. Used only for 'column' type cell, the horizontal alignment being set individually for each child cellcenter
Exposed: v. 1.5internal_h_alignHorizontal alignment of children cells group inside the cellThis attribute is useful only if the cell has a fixed size, and the sum of the sizes of the layouted children cells is different from the cell size. In this case you may want to choose how you align the children cells group inside the parent cell. Used only for 'row' type cell, the vertical alignment being set individually for each child cellcenter
Exposed: v. 2.0reflowwhen set to true, the layout engine will treat chidren cell as reflowable elements. For a fixed height column, the width is computed accordingly, and for a fixed width row, the height is computed accordinglyvalid only for columns with fixed height or rows with fixed widthfalse
Exposed: v. 2.4flipdisplay children cells in reverse order (right to left or bottom to top)currently valid only for COLUMN and ROW elementsfalse
Inheritable properties: these text properties are inherited by children cells (and can be overridden)
font_faceName of the font for text contained in the cell and sub cellsFonts are not the same on all systems, so you should carefuly select the fonts or ensure that users have specific fonts installedempty
font_sizeSize of the font for any text contained in the cellIf the value starts with + or -, the resulting font size is incremented by this value from the current font size. If the value ends with a %, the resulting font size is the corresponding proportion of the current font size. This value is inherited by children cells but can be overriddenSystem...
font_size_modeDefines how font size is computed to select the right font.Default value is cell mode for backward compatibility reasons but it has been deprecated. It is however recommended to use "character" mode for more precise font size selection. Using the cell size to select the font is less precise and not compatible with standard font sizes expressed in character height.cell
font_weightWeight of the font for any text contained in the cellThe value is inherited by children cells but can be overriddenSystem...
font_styleStyle of the font for any text contained in the cellThe value is inherited by children cells but can be overriddenSystem...
font_qualityQuality of the fontThe value is inherited by children cells but can be overriddenSystem...
font_escapementEscapement (angle in degrees) of the fontThe value is inherited by children cells but can be overridden. If the escapement of the font is non null, the formating options of the text widgets won't apply0
text_decorationDecoration of the text for any text contained in the cellThe value is inherited by children cells but can be overriddenSystem...
text_colorColor of any text contained in the cellThe value is inherited by children cells but can be overriddenSystem...
Common attributesRead about `common`
idIdentifier of the elementThe id of an element has to be globally unique. Two elements cannot have the same identifierempty
Name Value type Default Description Comment
fromList of param id separated by ';'emptyIdentifiers of the source parametersMandatory
toList of param id separated by ';'emptyIdentifier of the destination parametersMandatory
mux_functionMux functionmaxFunction that convert the n input values to a single value, before being converted by the response_curve functionPossible values: 'min','max','-min','-max', and since 1.4.3: '>','>=','<','<=','='. Since the format of the skin is xml, you need to use xml entities for special characters (for example write '& gt;' for '>')
response_curveresponse curve'linear'The response curve of the control or viewer: this is the function used to transform the position of the viewer to the parameter valueThis attribute is very useful when you need different precision of the control (or viewer) in different zones of the parameter value
formulaMath FormulaemptyFormula to transform the output of the mux function into the destination parameters. Acts as a custom response curveThis attributes overrides the "response_curve" attribute when set. The formula cannot reference external model data but 'x' (value of the 'from' param) and can only use built-in functions. If you want to reuse functions or parameters defined in the skin, please use the FORMULA_PARAM element and one or several PARAM_LINK instead
Exposed: v. 1.2reversebooleanfalseParameter widgets displays the parameter value the other way roundFor example a reverse vertical slider will have its value raised when moving from top to bottom instead of bottom to top
Exposed: v. 1.6enabledbooleantrueEnable/disable the widget. When disabled, the widget does not react to mouse or keyboard events. it is displayed but inactive.
normalizedboolean'false'Links the normalized values of the parameters instead of the absolute valuesSet this parameter to true if you want to link the parameters relatively to their ranges, and not as absolute values. 'Normalized' values are set between 0 and 1, 0 corresponding to the minimum and 1 the maximum values of the parameters
Inherited from param_widgetsRead about `param_widgets`
param_idparam idemptyIdentifier of the parameter to displayThis value is mandatory. Param controls cannot not refer to a an output param since output parameters are read-only
Exposed: v. 1.2reversebooleanfalseParameter widgets displays the parameter value the other way roundFor example a reverse vertical slider will have its value raised when moving from top to bottom instead of bottom to top
Exposed: v. 1.2positions_countPositive integerDepends on parameter and controlNumber of states of the param control or viewerThis number may be used to limit the number of states that the param widget can have. For example a LINEAR_PARAM_METER that displays 5 LEDs will need 6 states. But if the parameter to display is an integer with only 3 possible values, the real number of states will be 3
response_curveresponse curve'linear'The response curve of the control or viewer: this is the function used to transform the position of the viewer to the parameter valueThis attribute is very useful when you need different precision of the control (or viewer) in different zones of the parameter value
scale'linear' or 'log''linear'Parameter pre-scalingThis attribute is very useful when you need a specific scale for the parameter. The main difference between the scale and response_curve attributes is that the scale is computed on the parameters values, whereas the response_curve is used on the positions (0 to 1) range
Exposed: v. 1.2.5zoomreal number in the [1;+oo] range.1Zoom on the parameter rangeThis attribute enables you to zoom the parameter range to display/control a portion of the parameter range only. The exact range is also controlled by the offset parameter
Exposed: v. 1.2.5offsetreal number in the [0;1] range.0offset on the parameter rangeThis attribute is active only when the zoom parameter has a value different from 1. You can then control where the parameter range starts (0 means that the parameter range starts with its minimum value, 1 means that it ends with its maximum value, and .5 means that the range is centered)
max_zoomreal number in the [1;+oo] range.1Maximum value allowed for the exposed zoom parameter
Inherited from widgetsRead about `widgets`
Exposed: v. 1.2opacitypercentage100%Opacity of the widget0% is totally transparent, 100% is opaque
Exposed: v. 1.6visiblebooleantrueShow/hide the widget, does not impact the layout, as opposed to the cell's display attribute
Exposed: v. 1.6enabledbooleantrueEnable/disable the widget. When disabled, the widget does not react to mouse or keyboard events. it is displayed but inactive.
cursorcursorSystem DefaultCursor to display when the mouse is over the active part of the widgetThis property works only for mouse sensitive (aka non-passive) widgets
mouse_sensitivebooleanDepending on widgetEnables or disables mouse control on widgetsWarning: for advanced users only. Do not use this property that is set according to widget type, except if you really want to force mouse sensitivity (to enable cursor change etc.)
auto_focusbooleanDepending on widget, usually 'true' for mouse_sensitive widgetsEnables or disables auto focusWhen enabled, a widget gets focus when the mouse is over it (you do not need to click on it). When a widget has focus it receives the keyboard events. auto_focus works for mouse_sensitive widgets
handled_keyslist of keys, separated by ;emptyList of keys handled by the widget, which will trigger key_pressed and key_released events(Experimental) Use the character correponding to the selected key or 'all' for all keys, or one of the following for system keys: F1-F20, Enter, Space, Tab, Esc, Shift, Alt, Cmd, Ctrl, ArrowUp, ArrowDown, ArrowLeft, ArrowRight, PgUp, PgDn, Insert, Delete, BackSpace
Exposed: v. 2.7.1default_keys_enabledbooleantrueEnable or disable the default keys handled natively by the widget.(Experimental) you can disable the default keyboard behavior for any widget if you want to write your own.
Drag and Drop Attributes
drag_source_idslist of identifiers, separated by ';'emptyList of objects to use as drag sources for drag and drop operations (each one may have a different applicative type)
drag_applicative_typeslist of applicative types, separated by ';'emptyList of applicative types to use for each drag source defined by the drag_source_ids list Experimental since 2.7: use the system::text applicative type to drag the content of a parameter or string as system text (can be dropped into any application that supports drag and drop of text content)
drag_operationslist of drag operations separated by ';'emptyList of drag operations allowed. 'copy' or 'move' operations are currently supported
drag_contextstringemptyOptional string to define the serialization context used for the drag operation
Exposed: v. 2.6drag_enabledbooleantrueEnable drag operations on the widget
drop_target_idslist of identifiers, separated by ';'emptyList of objects to use as drop targets for drag and drop operations (each one may have a different applicative type)
drop_applicative_typeslist of applicative types, separated by ';'emptyList of applicative types to use for each drop target defined by the drop_target_ids list. Experimental since 2.7: use the system::text applicative type to drop text directly into a parameter or string
drop_file_typeslist of file types wildcards, separated by ';'emptyList of supported file types to use for each drop target defined by the drop_target_ids list. Each wild card may contain several extensions, separated by ','. For example, with "*.*;*.doc,*.txt", the first drop target will accept all files, and the second one will accept only .doc and .txt files
dropped_file_path_string_idslist of string object identifiers types, separated by ';'emptyList of string objects than can receive the path of a file that was dropped, for each drop target defined by the drop_target_ids list
drop_contextstringemptyOptional string to define the deserialization context used for the drop operation
Exposed: v. 2.6drop_enabledbooleantrueEnable drop operations on the widget
Exposed Attributes And Events (read-only)
Exposed: v. 2.6mouse_overbooleanfalseSet to true when the mouse is over the active area of the widget
Exposed: v. 2.7mouse_downinteger0Bit field containing the state of mouse buttons: first bit is left button, second is right and third is mid button. When no button is pushed, the value of mouse_down is zeroExperimental
Exposed: v. 2.7mouse_position.xintegerHorizontal position of the mouse in the widget (relative to the upper left corner of the widget)The value is valid only when the mouse is over the widget or being dragged out of it (experimental)
Exposed: v. 2.7mouse_position.yintegerVertical position of the mouse in the widget (relative to the upper left corner of the widget)The value is valid only when the mouse is over the widget or being dragged out of it (experimental)
Exposed: v. 2.7mouse_screen_position.xintegerAbsolute horizontal position of the mouse on the screenThe value is valid only when the mouse is over the widget or being dragged out of it (experimental)
Exposed: v. 2.7mouse_screen_position.yintegerAbsolute vertical position of the mouse on the screenThe value is valid only when the mouse is over the widget or being dragged out of it (experimental)
Exposed: v. 2.7focusbooleanfalseSet to true when the widget has keyboard focus and receives keyboard events
Exposed: v. 2.7key_pressedeventEvent fired when a key (filtered by the handled_key list) is pressedExperimental
Exposed: v. 2.7key_pressed.keyenumlast virtual key that was pressedExperimental: enum values are subject to change, check the displayed value (text)
Exposed: v. 2.7key_pressed.characterstringCharacter(s) corresponding to the last pressed key, if it was a character key (key_pressed.key=0)Experimental
Exposed: v. 2.7key_releasedeventEvent fired when a key (filtered by the handled_key list) is released
Exposed: v. 2.7key_released.keyenumlast virtual key that was releasedExperimental: enum values are subject to change, check the displayed value (text)
Exposed: v. 2.7key_released.characterstringCharacter(s) corresponding to the last released key, if it was a character key (key_released.key=0)Experimental
Exposed: v. 2.6draggingbooleanfalseSet to true when a dragging operation is in progress for this widget
Exposed: v. 2.6drag_operationbooleanenumerationtype of the current drag operation (None, Copy, Move)Experimental: enum values are subject to change
Exposed: v. 2.6droppingbooleanfalseSet to true when a dropping operation is in progress for this widget
Exposed: v. 2.6drop_operationbooleanenumerationtype of the current drop operation (None, Copy, Move)Experimental: enum values are subject to change
Inherited from cellRead about `cell`
Properties Relative to Parent Cell
Exposed: v. 1.5v_alignvertical alignmentcenterVertical alignment of the cell in its parent cell
Exposed: v. 1.5h_alignhorizontal alignmentcenterHorizontal alignment of the cell in its parent cell
Exposed: v. 1.9.1 (read only)h_positionposition in pixelsHorizontal position of the cell in its parent cellIf defined, it deactivates the h_align property. Use this attribute for horizontal pixel-positioning. The position is relative to the parent cell
Exposed: v. 1.9.1 (read only)v_positionposition in pixelsVertical position of the cell in its parent cellIf defined, it deactivates the v_align property. Use this attribute for vertical pixel-positioning. The position is relative to the parent cell
Exposed: v. 1.9.1h_offsetposition in pixels0horizontal offset of the cell from the position computed by the layout engineUsing this property lets you move a cell without changing the layout around it. The position is relative to the parent cell
Exposed: v. 1.9.1v_offsetposition in pixels0vertical offset of the cell from the position computed by the layout engineUsing this property lets you move a cell without changing the layout around it. The position is relative to the parent cell
Exposed: v. 1.5flexreal number0flexibility of the cellThis attribute is used when the parent cell is a row or a column and has free space to distribute to children cells (for example for a fixed size parent cell that is larger than the sum of its children cell sizes). The remaining space will be distributed among children cells according to the flex attribute value
Exposed: v. 1.5displaybooleantrueinclude/exclude the cell from the layoutWhen set to false, the content of the cell is not displayed (not visible) AND is not taken into account to compute the layout (the cell is ignored)
Cell Properties
Exposed: v. 1.5layout_type'row' or 'column' or 'layer_stack'columnSelects a layout type: row, column or layer_stackDetermines how the children cells will be disposed inside the cell: as a row, a column or a stack of layers (each cell on top of each other, the first cell in the background, and the last one on the foreground)
Exposed: v. 1.9.1 (pixels)widthnumber of pixels or percentage (1.1)Forced width of the cellIf not present, the width will be automatically computed from the children cells widths and layout rules
Exposed: v. 2.0min_widthnumber of pixelsminimum width allowed for the cellWhen set, the layout engine will ensure that the width of the cell is not smaller than min_width pixels
Exposed: v. 2.0max_widthnumber of pixelsmaximum width allowed for the cellWhen set, the layout engine will ensure that the width of the cell is not larger than max_width pixels
Exposed: v. 1.9.1 (pixels)heightnumber of pixels or percentage (1.1)Forced height of the cellIf not present, the height will be automatically computed from the children cells heights and layout rules
Exposed: v. 2.0min_heightnumber of pixelsminimum height allowed for the cellWhen set, the layout engine will ensure that the width of the cell is not smaller than min_height pixels
Exposed: v. 2.0max_heightnumber of pixelsmaximum height allowed for the cellWhen set, the layout engine will ensure that the width of the cell is not larger than max_height pixels
marginnumber of pixels0margin of the cellMay be overridden by the h_margin or v_margin attributes
Exposed: v. 1.5h_marginnumber of pixels0Horizontal margin of the cell
Exposed: v. 1.5v_marginnumber of pixels0Vertical margin of the cell
Exposed: v. 1.5spacingnumber of pixels0Space between children cells
spacing_flexreal number0Flex value to allocate extra space between children cellsSee the flex attribute for more details
Exposed: v. 1.5internal_v_alignvertical alignmentcenterVertical alignment of children cells group inside the cellThis attribute is useful only if the cell has a fixed size, and the sum of the sizes of the layouted children cells is different from the cell size. In this case you may want to choose how you align the children cells group inside the parent cell. Used only for 'column' type cell, the horizontal alignment being set individually for each child cell
Exposed: v. 1.5internal_h_alignhorizontal alignmentcenterHorizontal alignment of children cells group inside the cellThis attribute is useful only if the cell has a fixed size, and the sum of the sizes of the layouted children cells is different from the cell size. In this case you may want to choose how you align the children cells group inside the parent cell. Used only for 'row' type cell, the vertical alignment being set individually for each child cell
Exposed: v. 2.0reflowbooleanfalsewhen set to true, the layout engine will treat chidren cell as reflowable elements. For a fixed height column, the width is computed accordingly, and for a fixed width row, the height is computed accordinglyvalid only for columns with fixed height or rows with fixed width
Exposed: v. 2.4flipbooleanfalsedisplay children cells in reverse order (right to left or bottom to top)currently valid only for COLUMN and ROW elements
Inheritable properties: these text properties are inherited by children cells (and can be overridden)
font_facestringemptyName of the font for text contained in the cell and sub cellsFonts are not the same on all systems, so you should carefuly select the fonts or ensure that users have specific fonts installed
font_sizenumber of pixels or percentage (1.2.2), with or without +/- sign (1.2.2)System default valueSize of the font for any text contained in the cellIf the value starts with + or -, the resulting font size is incremented by this value from the current font size. If the value ends with a %, the resulting font size is the corresponding proportion of the current font size. This value is inherited by children cells but can be overridden
font_size_mode"cell" or "character"cellDefines how font size is computed to select the right font.Default value is cell mode for backward compatibility reasons but it has been deprecated. It is however recommended to use "character" mode for more precise font size selection. Using the cell size to select the font is less precise and not compatible with standard font sizes expressed in character height.
font_weight'bold' or 'normal'System default valueWeight of the font for any text contained in the cellThe value is inherited by children cells but can be overridden
font_style'italic' or 'normal'System default valueStyle of the font for any text contained in the cellThe value is inherited by children cells but can be overridden
font_quality'default' or 'no_anti_alias' or 'anti_alias' or 'cleartype'System default valueQuality of the fontThe value is inherited by children cells but can be overridden
font_escapementreal number0Escapement (angle in degrees) of the fontThe value is inherited by children cells but can be overridden. If the escapement of the font is non null, the formating options of the text widgets won't apply
text_decoration'underline' or 'none'System default valueDecoration of the text for any text contained in the cellThe value is inherited by children cells but can be overridden
text_colorcolorSystem default valueColor of any text contained in the cellThe value is inherited by children cells but can be overridden
Common attributesRead about `common`
ididentifieremptyIdentifier of the elementThe id of an element has to be globally unique. Two elements cannot have the same identifier

See Attributes Common to All Elements.

Specific Attributes


2020 © Plug'n Script and KUIML by Blue Cat Audio  |  Site by LetiMix