DialogControls-ListBoxes

From Bohemia Interactive Community
Revision as of 19:00, 2 November 2014 by SilentSpike (talk | contribs) (Added information pertaining to A3's "ListScrollBar" class)
Jump to navigation Jump to search

CT_LISTBOX=5

CT_XLISTBOX=42

CT_LISTNBOX=102

CT_XCOMBO=44

TokenNames common to most controls, such as x,y,w,h,text,idc... are not listed here.

Notes for future:

For list boxes, the usage of 'ST_' style constants (ST_MULTI & ST_TITLE_BAR) behave differently than expected for other controls, so use the corresponding 'LB_' (LB_TEXTURES & LB_MULTI) list box style variants instead.

style = LB_TEXTURES; // solid scrollbar
style = LB_MULTI; // multiple item selection
Properties Applies to
Name Type Remark 5 42 102
active boolean x
autoScroll... integers applies to Speed,Delay,Rewind x x
arrowEmpty/Full color x x x
border texture x
canDrag boolean x x
collisionColor color x
colorScrollbar color x
color color x
colorPlayerItem color x
colorActive color x
colorDisabled color x
colorSelect color x x x
colorSelect2 color x x
colorSelectBackground color x x
colorSelectBackground2 color x x
columns float array define the left starting position of each column. The values are offsets ratios (not spacing ratios). Tip: Use {-0.01} in first column to fix unwanted offset, if desired. x
disabled/enabled boolean x
disabledCtrlColor color x
disabledKeyColor color x
drawSideArrows boolean Each row can be linked to 2 arrow buttons which are shown on the left and right of the row. x
idcLeft/Right integer the IDC of the control to be used for the left/right button. x
mainCollumW float x
secndCollumW float x
LineSpacing float x
maxHistoryDelay float x x
period float? probably flash period x x
rowHeight float the height of a single row in the elapsed box. x x
rows integer x
SoundSelect class x x x
ScrollBar class see DialogControls-Sliders (note that in Arma 3 the classname is "ListScrollBar") x x
xColumn1,2,3 float x


RscListNBox

  • Using -1 for idcLeft/idcRight will use the full row width. Using a valid idc will reserve sides for arrows and link with those controls.
  • idcLeft/idcRight bug?: Using -1 for either idc will link to first control with an idc using -1, instead of treating it as an unused idc. Workaround: number every idc in dialog rather than leaving any idc as -1.

Examples

RscListBox (A3 1.28 Template)

WuChaoRen ctListBox.png class CT_LISTBOX { access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified) idc = CT_LISTBOX; // Control identification (without it, the control won't be displayed) type = CT_LISTBOX; // Type is 5 style = ST_LEFT + LB_TEXTURES; // Style default = 0; // Control selected by default (only one within a display can be used) blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect. x = 1 * GUI_GRID_CENTER_W + GUI_GRID_CENTER_X; // Horizontal coordinates y = 11 * GUI_GRID_CENTER_H + GUI_GRID_CENTER_Y; // Vertical coordinates w = 10 * GUI_GRID_CENTER_W; // Width h = 3 * GUI_GRID_CENTER_H; // Height colorBackground[] = {0.2,0.2,0.2,1}; // Fill color colorSelectBackground[] = {1,0.5,0,1}; // Selected item fill color colorSelectBackground2[] = {0,0,0,1}; // Selected item fill color (oscillates between this and colorSelectBackground) sizeEx = GUI_GRID_CENTER_H; // Text size font = GUI_FONT_NORMAL; // Font from CfgFontFamilies shadow = 0; // Shadow (0 - none, 1 - directional, color affected by colorShadow, 2 - black outline) colorText[] = {1,1,1,1}; // Text and frame color colorDisabled[] = {1,1,1,0.5}; // Disabled text color colorSelect[] = {1,1,1,1}; // Text selection color colorSelect2[] = {1,1,1,1}; // Text selection color (oscillates between this and colorSelect) colorShadow[] = {0,0,0,0.5}; // Text shadow color (used only when shadow is 1) pictureColor[] = {1,0.5,0,1}; // Picture color pictureColorSelect[] = {1,1,1,1}; // Selected picture color pictureColorDisabled[] = {1,1,1,0.5}; // Disabled picture color tooltip = "CT_LISTBOX"; // Tooltip text tooltipColorShade[] = {0,0,0,1}; // Tooltip background color tooltipColorText[] = {1,1,1,1}; // Tooltip text color tooltipColorBox[] = {1,1,1,1}; // Tooltip frame color period = 1; // Oscillation time between colorSelect/colorSelectBackground2 and colorSelect2/colorSelectBackground when selected rowHeight = 1.5 * GUI_GRID_CENTER_H; // Row height itemSpacing = 0; // Height of empty space between items maxHistoryDelay = 1; // Time since last keyboard type search to reset it canDrag = 1; // 1 (true) to allow item dragging soundSelect[] = {"\A3\ui_f\data\sound\RscListbox\soundSelect",0.09,1}; // Sound played when an item is selected // Scrollbar configuration (applied only when LB_TEXTURES style is used) class ScrollBar //In Arma 3 this class is "ListScrollBar" { width = 0; // width of ListScrollBar height = 0; // height of ListScrollBar scrollSpeed = 0.01; // scroll speed of ListScrollBar arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; // Arrow arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; // Arrow when clicked on border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; // Slider background (stretched vertically) thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; // Dragging element (stretched vertically) color[] = {1,1,1,1}; // Scrollbar color }; onCanDestroy = "systemChat str ['onCanDestroy',_this]; true"; onDestroy = "systemChat str ['onDestroy',_this]; false"; onSetFocus = "systemChat str ['onSetFocus',_this]; false"; onKillFocus = "systemChat str ['onKillFocus',_this]; false"; onKeyDown = "systemChat str ['onKeyDown',_this]; false"; onKeyUp = "systemChat str ['onKeyUp',_this]; false"; onMouseButtonDown = "systemChat str ['onMouseButtonDown',_this]; false"; onMouseButtonUp = "systemChat str ['onMouseButtonUp',_this]; false"; onMouseButtonClick = "systemChat str ['onMouseButtonClick',_this]; false"; onMouseButtonDblClick = "systemChat str ['onMouseButtonDblClick',_this]; false"; onMouseZChanged = "systemChat str ['onMouseZChanged',_this]; false"; onMouseMoving = ""; onMouseHolding = ""; onLBSelChanged = "systemChat str ['onLBSelChanged',_this]; false"; onLBDblClick = "systemChat str ['onLBDblClick',_this]; false"; onLBDrag = "systemChat str ['onLBDrag',_this]; false"; onLBDragging = "systemChat str ['onLBDragging',_this]; false"; onLBDrop = "systemChat str ['onLBDrop',_this]; false"; };

RscXListBox (A3 1.28 Template)

WuChaoRen ctXListBox.png class _CT_XLISTBOX { access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified) idc = CT_XLISTBOX; // Control identification (without it, the control won't be displayed) type = CT_XLISTBOX; // Type is 42 style = SL_HORZ + ST_CENTER + LB_TEXTURES; // Style default = 0; // Control selected by default (only one within a display can be used) blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect. x = 12 * GUI_GRID_CENTER_W + GUI_GRID_CENTER_X; // Horizontal coordinates y = 17 * GUI_GRID_CENTER_H + GUI_GRID_CENTER_Y; // Vertical coordinates w = 10 * GUI_GRID_CENTER_W; // Width h = 1 * GUI_GRID_CENTER_H; // Height color[] = {1,1,1,1}; // Arrow color colorActive[] = {1,0.5,0,1}; // Selected arrow color sizeEx = GUI_GRID_CENTER_H; // Text size font = GUI_FONT_NORMAL; // Font from CfgFontFamilies shadow = 0; // Shadow (0 - none, 1 - N/A, 2 - black outline) colorText[] = {1,1,1,1}; // Text color colorSelect[] = {1,0.5,0,1}; // Selected text color colorDisabled[] = {1,1,1,0.5}; // Disabled text color tooltip = "CT_XLISTBOX"; // Tooltip text tooltipColorShade[] = {0,0,0,1}; // Tooltip background color tooltipColorText[] = {1,1,1,1}; // Tooltip text color tooltipColorBox[] = {1,1,1,1}; // Tooltip frame color arrowEmpty = "\A3\ui_f\data\gui\cfg\slider\arrowEmpty_ca.paa"; // Arrow arrowFull = "\A3\ui_f\data\gui\cfg\slider\arrowFull_ca.paa"; // Arrow when clicked on border = "\A3\ui_f\data\gui\cfg\slider\border_ca.paa"; // Fill texture soundSelect[] = {"\A3\ui_f\data\sound\RscListbox\soundSelect",0.09,1}; // Sound played when an item is selected onCanDestroy = "systemChat str ['onCanDestroy',_this]; true"; onDestroy = "systemChat str ['onDestroy',_this]; false"; onSetFocus = "systemChat str ['onSetFocus',_this]; false"; onKillFocus = "systemChat str ['onKillFocus',_this]; false"; onKeyDown = "systemChat str ['onKeyDown',_this]; false"; onKeyUp = "systemChat str ['onKeyUp',_this]; false"; onMouseButtonDown = "systemChat str ['onMouseButtonDown',_this]; false"; onMouseButtonUp = "systemChat str ['onMouseButtonUp',_this]; false"; onMouseButtonClick = "systemChat str ['onMouseButtonClick',_this]; false"; onMouseButtonDblClick = "systemChat str ['onMouseButtonDblClick',_this]; false"; onMouseZChanged = "systemChat str ['onMouseZChanged',_this]; false"; onMouseMoving = ""; onMouseHolding = ""; onLBSelChanged = "systemChat str ['onLBSelChanged',_this]; false"; onLBDblClick = "systemChat str ['onLBDblClick',_this]; false"; };

RscListNBox (A3 1.28 Template)

WuChaoRen 000.png WuChaoRen 001.png WuChaoRen 002.png WuChaoRen 003.png class _CT_LISTNBOX_RIGHT: _CT_BUTTON { idc = 1000; text = "<"; borderSize = 0; colorShadow[] = {0,0,0,0}; }; class _CT_LISTNBOX_LEFT: _CT_LISTNBOX_RIGHT { idc = 1001; text = ">"; }; class _CT_LISTNBOX { access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified) idc = CT_LISTNBOX; // Control identification (without it, the control won't be displayed) type = CT_LISTNBOX; // Type 102 style = ST_LEFT + LB_TEXTURES; // Style default = 0; // Control selected by default (only one within a display can be used) blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect. x = 29 * GUI_GRID_CENTER_W + GUI_GRID_CENTER_X; // Horizontal coordinates y = 15 * GUI_GRID_CENTER_H + GUI_GRID_CENTER_Y; // Vertical coordinates w = 10 * GUI_GRID_CENTER_W; // Width h = 3 * GUI_GRID_CENTER_H; // Height colorSelectBackground[] = {1,0.5,0,1}; // Selected item fill color colorSelectBackground2[] = {0,0,0,1}; // Selected item fill color (oscillates between this and colorSelectBackground) sizeEx = GUI_GRID_CENTER_H; // Text size font = GUI_FONT_NORMAL; // Font from CfgFontFamilies shadow = 0; // Shadow (0 - none, 1 - directional, color affected by colorShadow, 2 - black outline) colorText[] = {1,1,1,1}; // Text and frame color colorDisabled[] = {1,1,1,0.5}; // Disabled text color colorSelect[] = {1,1,1,1}; // Text selection color colorSelect2[] = {1,1,1,1}; // Text selection color (oscillates between this and colorSelect) colorShadow[] = {0,0,0,0.5}; // Text shadow color (used only when shadow is 1) tooltip = "CT_LISTNBOX"; // Tooltip text tooltipColorShade[] = {0,0,0,1}; // Tooltip background color tooltipColorText[] = {1,1,1,1}; // Tooltip text color tooltipColorBox[] = {1,1,1,1}; // Tooltip frame color columns[] = {0.1,0.4}; // Horizontal coordinates of columns (relative to list width, in range from 0 to 1) drawSideArrows = 1; // 1 to draw buttons linked by idcLeft and idcRight on both sides of selected line. They are resized to line height idcLeft = 1000; // Left button IDC idcRight = 1001; // Right button IDC period = 1; // Oscillation time between colorSelect/colorSelectBackground2 and colorSelect2/colorSelectBackground when selected rowHeight = GUI_GRID_CENTER_H; // Row height maxHistoryDelay = 1; // Time since last keyboard type search to reset it soundSelect[] = {"\A3\ui_f\data\sound\RscListbox\soundSelect",0.09,1}; // Sound played when an item is selected // Scrollbar configuration (applied only when LB_TEXTURES style is used) class ListScrollBar { width = 0; // width of ListScrollBar height = 0; // height of ListScrollBar scrollSpeed = 0.01; // scrollSpeed of ListScrollBar arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; // Arrow arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; // Arrow when clicked on border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; // Slider background (stretched vertically) thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; // Dragging element (stretched vertically) color[] = {1,1,1,1}; // Scrollbar color }; onCanDestroy = "systemChat str ['onCanDestroy',_this]; true"; onDestroy = "systemChat str ['onDestroy',_this]; false"; onSetFocus = "systemChat str ['onSetFocus',_this]; false"; onKillFocus = "systemChat str ['onKillFocus',_this]; false"; onKeyDown = "systemChat str ['onKeyDown',_this]; false"; onKeyUp = "systemChat str ['onKeyUp',_this]; false"; onMouseButtonDown = "systemChat str ['onMouseButtonDown',_this]; false"; onMouseButtonUp = "systemChat str ['onMouseButtonUp',_this]; false"; onMouseButtonClick = "systemChat str ['onMouseButtonClick',_this]; false"; onMouseButtonDblClick = "systemChat str ['onMouseButtonDblClick',_this]; false"; onMouseZChanged = "systemChat str ['onMouseZChanged',_this]; false"; onMouseMoving = ""; onMouseHolding = ""; onLBSelChanged = "systemChat str ['onLBSelChanged',_this]; false"; onLBDblClick = "systemChat str ['onLBDblClick',_this]; false"; };

RscXComboBox (A3 1.28 Template)

WuChaoRen004.png class _CT_XCOMBO // Xbox combo box, cannot be controlled with mouse { access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified) idc = CT_XCOMBO; // Control identification (without it, the control won't be displayed) type = CT_XCOMBO; // Type is 44 style = ST_LEFT + LB_TEXTURES; // Style default = 0; // Control selected by default (only one within a display can be used) blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect. x = 12 * GUI_GRID_CENTER_W + GUI_GRID_CENTER_X; // Horizontal coordinates y = 22 * GUI_GRID_CENTER_H + GUI_GRID_CENTER_Y; // Vertical coordinates w = 10 * GUI_GRID_CENTER_W; // Width h = 1 * GUI_GRID_CENTER_H; // Height colorSelectBackground2[] = {0,0,0,1}; // Selected fill color (oscillates between this and List >> colorSelectBackground) colorBorder[] = {1,0,1,1}; // arrow color colorSelectBorder[] = {1,1,1,1}; // Selected arrow color colorDisabledBorder[] = {0,1,1,1}; // arrow color when disabled sizeEx = GUI_GRID_CENTER_H; // Text size font = GUI_FONT_NORMAL; // Font from CfgFontFamilies shadow = 0; // Shadow (0 - none, 1 - N/A, 2 - black outline) colorText[] = {1,1,1,1}; // Text color colorSelect[] = {1,1,1,1}; // Selected text color colorSelect2[] = {1,1,1,1}; // Selected text color (oscillates between this and colorSelect) colorDisabled[] = {1,1,1,0.5}; // Disabled text color tooltip = "CT_XCOMBO"; // Tooltip text tooltipColorShade[] = {0,0,0,1}; // Tooltip background color tooltipColorText[] = {1,1,1,1}; // Tooltip text color tooltipColorBox[] = {1,1,1,1}; // Tooltip frame color soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1}; // Sound played when the list is expanded soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1}; // Sound played when the list is collapsed soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1}; // Sound played when an item is selected // List title (not moved when display is dragged) class Title { text = "CT_XCOMBO"; x = 12 * GUI_GRID_CENTER_W + GUI_GRID_CENTER_X; // Horizontal coordinates y = 21 * GUI_GRID_CENTER_H + GUI_GRID_CENTER_Y; // Vertical coordinates w = 10 * GUI_GRID_CENTER_W; // Width h = 1 * GUI_GRID_CENTER_H; // Height colorBackground[] = {0.2,0.2,0.2,1}; // Fill color colorSelectBackground[] = {1,0.5,0,1}; // Selected item fill color colorBorder[] = {0,0,0,1}; // Border color colorSelectBorder[] = {0,0,0,1}; // Selected border color colorDisabledBorder[] = {1,1,1,1}; // Disabled border color font = GUI_FONT_NORMAL; // Font from CfgFontFamilies size = GUI_GRID_CENTER_H; // Text size colorText[] = {1,1,1,1}; // Text color colorSelect[] = {1,1,1,1}; // Selected text color colorDisabled[] = {1,1,1,0.5}; // Disabled text color }; // Item list displayed when arrow right is pressed while the control is in focus (not moved when display is dragged) class List { x = 22 * GUI_GRID_CENTER_W + GUI_GRID_CENTER_X; // Horizontal coordinates y = 22 * GUI_GRID_CENTER_H + GUI_GRID_CENTER_Y; // Vertical coordinates w = 10 * GUI_GRID_CENTER_W; // Width h = 5 * GUI_GRID_CENTER_H; // Height colorBackground[] = {0.2,0.2,0.2,1}; // List fill color colorSelectBackground[] = {1,0.5,0,1}; // Selected item fill color (oscillates between this and colorSelectBackground2 in control root) colorBorder[] = {1,1,1,1}; // List scrollbar color (combined with Scrollbar >> color) rowHeight = 1 * GUI_GRID_CENTER_H; // Row height sizeEx = GUI_GRID_CENTER_H; // Text size colorText[] = {1,1,1,1}; // Text color colorSelect[] = {1,1,1,1}; // Selected text color (oscillates between this and colorSelect2 in control root) }; // Scrollbar configuration (applied only when LB_TEXTURES style is used) class ScrollBar { width = 0; // width of scrollBar height = 0; // height of scrollbar scrollSpeed = 0.01; // speed of scroll bar arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; // Arrow arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; // Arrow when clicked on border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; // Slider background (stretched vertically) thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; // Dragging element (stretched vertically) color[] = {1,1,1,1}; // Scrollbar color (combined with List >> colorBorder) }; onCanDestroy = "systemChat str ['onCanDestroy',_this]; true"; onDestroy = "systemChat str ['onDestroy',_this]; false"; onMouseEnter = "systemChat str ['onMouseEnter',_this]; false"; onMouseExit = "systemChat str ['onMouseExit',_this]; false"; onSetFocus = "systemChat str ['onSetFocus',_this]; false"; onKillFocus = "systemChat str ['onKillFocus',_this]; false"; onKeyDown = "systemChat str ['onKeyDown',_this]; false"; onKeyUp = "systemChat str ['onKeyUp',_this]; false"; onMouseButtonDown = "systemChat str ['onMouseButtonDown',_this]; false"; onMouseButtonUp = "systemChat str ['onMouseButtonUp',_this]; false"; onMouseButtonClick = "systemChat str ['onMouseButtonClick',_this]; false"; onMouseButtonDblClick = "systemChat str ['onMouseButtonDblClick',_this]; false"; onMouseZChanged = "systemChat str ['onMouseZChanged',_this]; false"; onMouseMoving = ""; onMouseHolding = ""; onLBSelChanged = "systemChat str ['onLBSelChanged',_this]; false"; onLBDblClick = "systemChat str ['onLBDblClick',_this]; false"; onLBListSelChanged = "systemChat str ['onLBListSelChanged',_this]; false"; };

Bottom Section