DialogControls-ListBoxes: Difference between revisions
(ct_listbox) |
mNo edit summary |
||
Line 606: | Line 606: | ||
[[Category:Scripting Commands|DIALOG]] | [[Category:Scripting Commands|DIALOG]] | ||
[[Category:Scripting Commands OFP 1.99|{{uc:{{PAGENAME}}}}]] | |||
[[Category:Scripting Commands OFP 1.96|DIALOG]] | [[Category:Scripting Commands OFP 1.96|DIALOG]] | ||
[[Category:Scripting Commands ArmA|DIALOG]] | [[Category:Scripting Commands ArmA|DIALOG]] |
Revision as of 11:30, 25 September 2014
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 | |
ListScrollBar | class | see DialogControls-Sliders | 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)
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 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)
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)
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)
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";
};