DialogControls-ListBoxes: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(pic)
m (disamb)
 
(37 intermediate revisions by 8 users not shown)
Line 1: Line 1:
===CT_LISTBOX=5===
{{Wiki|disamb}}
===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.'''
* [[CT_LISTBOX]]
 
* [[CT_XLISTBOX]]
Notes for future:
* [[CT_LISTNBOX]]
 
* [[CT_XCOMBO]]
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
 
{| border="1" align="left" cellpadding="3" cellspacing="0" |
! colspan="3" bgcolor="#bbbbff" | Properties
! colspan="3" bgcolor="#bbbbff" | Applies to
|-
! bgcolor="#ddddff" | Name
! bgcolor="#ddddff" | Type
! bgcolor="#ddddff" | Remark
! bgcolor="#ddddff" | 5
! bgcolor="#ddddff" | 42
! bgcolor="#ddddff" | 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
|-
|}<br clear="all">
 
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===
<code><nowiki>
class RscListBox
{
access = 0;
type = 5;
style = 0;
w = 0.4;
h = 0.4;
font = "TahomaB";
sizeEx = 0.04;
rowHeight = 0;
colorText[] = {1,1,1,1};
colorScrollbar[] = {1,1,1,1};
colorSelect[] = {0,0,0,1};
colorSelect2[] = {1,0.5,0,1};
colorSelectBackground[] = {0.6,0.6,0.6,1};
colorSelectBackground2[] = {0.2,0.2,0.2,1};
colorBackground[] = {0,0,0,1};
maxHistoryDelay = 1.0;
soundSelect[] = {"",0.1,1};
period = 1;
autoScrollSpeed = -1;
autoScrollDelay = 5;
autoScrollRewind = 0;
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
shadow = 0;
class ListScrollBar : ScrollBar
{
  color[] = {1,1,1,0.6};
  colorActive[] = {1,1,1,1};
  colorDisabled[] = {1,1,1,0.3};
  thumb = "#(argb,8,8,3)color(1,1,1,1)";
  arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
  arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
  border = "#(argb,8,8,3)color(1,1,1,1)";
  shadow = 0;
};
};
</nowiki></code>
 
===RscXListBox===
class RscXListBox
{
type = 42;
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,0.5,0,1)";
border = "#(argb,8,8,3)color(0,0,0,1)";
colorSelect[] = {1,1,1,1};
colorText[] = {1,1,1,0.8};
soundSelect[] = {"",0.1,1};
};</nowiki></code>
 
===RscListNBox (A3 1.28 Template)===
[[File:WuChaoRen 000.png]] [[File:WuChaoRen 001.png]] [[File:WuChaoRen 002.png]] [[File:WuChaoRen 003.png]]
<code><nowiki>
                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";
};
</nowiki></code>
 
===RscXComboBox (A3 1.28 Template)===
[[File:WuChaoRen004.png]]
<code><nowiki>
                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";
};
</nowiki></code>
[[Category: Dialogs]]
 
<h3 style="display:none">Bottom Section</h3>
 
[[Category:Scripting Commands|DIALOG]]
[[Category:Scripting Commands OFP 1.96|DIALOG]]
[[Category:Scripting Commands ArmA|DIALOG]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
[[Category:Command_Group:_GUI_Control|{{uc:{{PAGENAME}}}}]]
[[Category:Command_Group:_Interaction|{{uc:{{PAGENAME}}}}]]

Latest revision as of 15:38, 7 February 2021

Disambiguation
This disambiguation page lists articles associated with the same title.