R3vo – User talk

From Bohemia Interactive Community
Revision as of 15:28, 8 February 2021 by R3vo (talk | contribs)
Jump to navigation Jump to search
🚧
TODO: Move examples to appropriate page

Scripting Examples

CT_LISTBOX

CT_LISTBOX command family overview. CT_LISTBOX command family can be used with CT_COMBO, CT_LISTBOX, CT_XLISTBOX and CT_XCOMBO { private _ctrl = _x; { _ctrl lbAdd getText (_x >> "displayName"); _ctrl lbSetPicture [_foreachindex,getText (_x >> "texture")]; _ctrl lbSetTooltip [_foreachindex,getText (_x >> "displayName")]; } forEach ("true" configClasses (configFile >> "CfgRanks")); _ctrl lbSetCurSel 0; WuChaoRen lbCommand001.png private _current = lbCurSel _ctrl; _ctrl lbSetData [_current,"hi"]; private _data = _ctrl lbData _current; private _pic = _ctrl lbPicture _current; _ctrl lbSetValue [_current, 1]; private _value = _ctrl lbValue _current; private _size = lbSize _ctrl; private _color = _ctrl lbColor _current; _ctrl lbSetColor [_current, [(_color select 0) / 2, (_color select 1) / 4, 0, 1]]; WuChaoRen lbColor.png lbSort [_ctrl, "DESC"]; lbSortByValue _ctrl; WuChaoRen lbSortByValue.png if (_ctrl lbIsSelected _current) then { _ctrl lbDelete _current; WuChaoRen lbDelete.png lbClear _ctrl; WuChaoRen lbClear.png }; } forEach [_CT_COMBO, _CT_LISTBOX, _CT_XLISTBOX, _CT_XCOMBO];

CT_LISTNBOX

As for invisible data processing, lnbAddArray, lnbAddColumn, lnbData, lnbGetColumnsPosition, lnbSetColumnsPos, lnbSetData, lnbSetText, lnbSetValue, lnbText and lnbValue store data types into exact position of the CT_LISTNBOX with different spaces. Accessing data with coordinate command at nearly the same syntax: // Set same value to one position of a Control _ctrl lnbSetData [ [0,0],"#1"]; lnbSetColumnsPos [102,[0,1],1]; _ctrl lnbSetText [ [0,1], "#1"]; _ctrl lnbSetValue [ [0,0],1]; // Accessing the value disregard affecting one another _ctrl lnbData [0,0]; // "#1" lnbGetColumnsPosition _ctrl; // [1]; _ctrl lnbText [0,0]; // "#1" _ctrl lnbValue [0,0]; // 1

For a direct visible control over CT_LISTNBOX: [_CT_LISTNBOX] spawn { disableSerialization; params ["_CT_LISTNBOX"]; { _CT_LISTNBOX lnbAddRow [ getText (_x >> "displayNameShort"),getText (_x >> "displayName")]; _CT_LISTNBOX lnbSetPicture [ [_foreachIndex,0],getText (_x >> "texture")]; } forEach ("true" configClasses (configFile >> "CfgRanks")); _CT_LISTNBOX lnbSetCurSelRow 0; WuChaoRen 000.png private _current = lnbCurSelRow _CT_LISTNBOX; private _color = _CT_LISTNBOX lnbColor [_current,0]; _CT_LISTNBOX lnbSetColor [ [_current,1], [(_color select 0) / 2, 0, 0, 1] ]; WuChaoRen 001.png _CT_LISTNBOX lnbDeleteColumn 0; WuChaoRen 002.png _CT_LISTNBOX lnbDeleteRow 1; WuChaoRen 003.png sleep 1; lnbClear _CT_LISTNBOX; // Clear all items but control still remains just invisible };