R3vo – User talk

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 2: Line 2:
==Scripting Examples==
==Scripting Examples==
===CT_LISTBOX===
===CT_LISTBOX===
(A3 1.28)lb command family overview.
[[CT_LISTBOX]] command family overview. [[CT_LISTBOX]] command family can be used with [[CT_COMBO]], [[CT_LISTBOX]], [[CT_XLISTBOX]] and [[CT_XCOMBO]]
<code>
<code>{
//lb command family can be used with CT_COMBO, CT_LISTBOX, CT_XLISTBOX & CT_XCOMBO
[[private]] _ctrl = _x;
[[private]] ["_current","_data","_pic","_value","_size","_color"];
{
_ctrl = _x;
{
{
_ctrl [[lbAdd]] [[getText]] (_x >> "displayName");
_ctrl [[lbAdd]] [[getText]] (_x >> "displayName");
_ctrl [[lbSetPicture]] [_foreachindex,[[getText]] (_x >> "texture")];
_ctrl [[lbSetPicture]] [_foreachindex,[[getText]] (_x >> "texture")];
_ctrl [[lbSetTooltip]] [_foreachindex,[[getText]] (_x >> "displayName")];
_ctrl [[lbSetTooltip]] [_foreachindex,[[getText]] (_x >> "displayName")];
} [[forEach]] ("[[isClass]] _x" [[configClasses]] ([[configFile]] >> "CfgRanks"));
} [[forEach]] ("[[true]]" [[configClasses]] ([[configFile]] >> "CfgRanks"));
_ctrl [[lbSetCurSel]] 0;
_ctrl [[lbSetCurSel]] 0;
[[File:WuChaoRen_lbCommand001.png]]
[[File:WuChaoRen_lbCommand001.png]]
_current = [[lbCurSel]] _ctrl;  
[[private]] _current = [[lbCurSel]] _ctrl;
_ctrl [[lbSetData]] [_current,"hi"];
_ctrl [[lbSetData]] [_current,"hi"];
_data = _ctrl [[lbData]] _current;  
[[private]] _data = _ctrl [[lbData]] _current;
_pic = _ctrl [[lbPicture]] _current;
[[private]] _pic = _ctrl [[lbPicture]] _current;
_ctrl [[lbSetValue]] [_current, 1];
_ctrl [[lbSetValue]] [_current, 1];
_value = _ctrl [[lbValue]] _current;
[[private]] _value = _ctrl [[lbValue]] _current;
_size = [[lbSize]] _ctrl;
[[private]] _size = [[lbSize]] _ctrl;
_color = _ctrl [[lbColor]] _current;
[[private]] _color = _ctrl [[lbColor]] _current;
_ctrl [[lbSetColor]] [_current, [(_color [[select]] 0) / 2, (_color [[select]] 1) / 4, 0, 1]];
_ctrl [[lbSetColor]] [_current, [(_color [[select]] 0) / 2, (_color [[select]] 1) / 4, 0, 1]];
[[File:WuChaoRen_lbColor.png]]
[[File:WuChaoRen_lbColor.png]]
Line 28: Line 25:
[[lbSortByValue]] _ctrl;
[[lbSortByValue]] _ctrl;
[[File:WuChaoRen_lbSortByValue.png]]
[[File:WuChaoRen_lbSortByValue.png]]
[[if]] (_ctrl [[lbIsSelected]] _current) [[then]] {
[[if]] (_ctrl [[lbIsSelected]] _current) [[then]]
  _ctrl [[lbDelete]] _current;
{
  [[File:WuChaoRen_lbDelete.png]]
_ctrl [[lbDelete]] _current;
  [[lbClear]] _ctrl;
[[File:WuChaoRen_lbDelete.png]]
  [[File:WuChaoRen_lbClear.png]]
[[lbClear]] _ctrl;
};
[[File:WuChaoRen_lbClear.png]]
} [[forEach]] [
};
_CT_COMBO,
} [[forEach]] [_CT_COMBO, _CT_LISTBOX, _CT_XLISTBOX, _CT_XCOMBO];
_CT_LISTBOX,
_CT_XLISTBOX,
_CT_XCOMBO
];
</code>
</code>
===CT_LISTNBOX===
===CT_LISTNBOX===
(A3 1.28)As for invisible data processing, [[lnbAddArray]], [[lnbAddColumn]], [[lnbData]], [[lnbGetColumnsPosition]], [[lnbSetColumnsPos]], [[lnbSetData]], [[lnbSetText]], [[lnbSetValue]], [[lnbText]] and [[lnbValue]] store data types into exact position of the listNbox with different spaces. Accessing data with coordinate command at nearly the same syntax:
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:
<code>
<code>{{cc|Set same value to one position of a [[Control]]}}
//Set same value to one position of a [[Control]]
_ctrl [[lnbSetData]] [ [0,0],"#1"];
_ctrl [[lnbSetData]] [ [0,0],"#1"];
[[lnbSetColumnsPos]] [102, [0,1], 1];
[[lnbSetColumnsPos]] [102,[0,1],1];
_ctrl [[lnbSetText]] [ [0,1], "#1"];
_ctrl [[lnbSetText]] [ [0,1], "#1"];
_ctrl [[lnbSetValue]] [ [0,0],1];
_ctrl [[lnbSetValue]] [ [0,0],1];
//Accessing the value disregard affecting one another.
{{cc|Accessing the value disregard affecting one another}}
_ctrl [[lnbData]] [0,0]; //"#1"
_ctrl [[lnbData]] [0,0]; {{cc|"#1"}}
[[lnbGetColumnsPosition]] _ctrl //[1];
[[lnbGetColumnsPosition]] _ctrl; {{cc|[1]}};
_ctrl [[lnbText]] [0,0];//"#1"
_ctrl [[lnbText]] [0,0]; {{cc|"#1"}}
_ctrl [[lnbValue]] [0,0];//1
_ctrl [[lnbValue]] [0,0]; {{cc|1}}</code>
</code>
 
For a direct visible control over CT_LISTNBOX:
For a direct visible control over [[CT_LISTNBOX]]:
<code>
<code>[_CT_LISTNBOX] [[spawn]]
0 = [_CT_LISTNBOX] [[spawn]] {
{
[[private]] ["_CT_LISTNBOX","_color","_current","_pic"];
[[disableSerialization]];
[[disableSerialization]];
_CT_LISTNBOX = _this [[select]] 0;
[[params]] ["_CT_LISTNBOX"];
{
{
_CT_LISTNBOX [[lnbAddRow]] [ [[getText]] (_x >> "displayNameShort"),[[getText]] (_x >> "displayName")];
_CT_LISTNBOX [[lnbAddRow]] [ [[getText]] (_x >> "displayNameShort"),[[getText]] (_x >> "displayName")];
_CT_LISTNBOX [[lnbSetPicture]] [ [_foreachIndex,0],[[getText]] (_x >> "texture")];
_CT_LISTNBOX [[lnbSetPicture]] [ [_foreachIndex,0],[[getText]] (_x >> "texture")];
} [[forEach]] ("[[isClass]] _x" [[configClasses]] ([[configFile]] >> "CfgRanks"));
} [[forEach]] ("[[true]]" [[configClasses]] ([[configFile]] >> "CfgRanks"));
_CT_LISTNBOX [[lnbSetCurSelRow]] 0;
_CT_LISTNBOX [[lnbSetCurSelRow]] 0;
[[Image:WuChaoRen_000.png]]
[[Image:WuChaoRen_000.png]]
_current = [[lnbCurSelRow]] _CT_LISTNBOX;
[[private]] _current = [[lnbCurSelRow]] _CT_LISTNBOX;
_color = _CT_LISTNBOX [[lnbColor]] [_current,0];
[[private]] _color = _CT_LISTNBOX [[lnbColor]] [_current,0];
_CT_LISTNBOX [[lnbSetColor]] [ [_current,1], [(_color [[select]] 0)/2,0,0,1] ];
_CT_LISTNBOX [[lnbSetColor]] [ [_current,1], [(_color [[select]] 0) / 2, 0, 0, 1] ];
[[Image:WuChaoRen_001.png]]
[[Image:WuChaoRen_001.png]]
_CT_LISTNBOX [[lnbDeleteColumn]] 0;
_CT_LISTNBOX [[lnbDeleteColumn]] 0;
Line 76: Line 68:
[[Image:WuChaoRen_003.png]]
[[Image:WuChaoRen_003.png]]
[[sleep]] 1;
[[sleep]] 1;
[[lnbClear]] _CT_LISTNBOX;//Clear all items but control still remains just invisible.
[[lnbClear]] _CT_LISTNBOX; {{cc|Clear all items but control still remains just invisible}}
};
};</code>
</code>

Revision as of 16:28, 8 February 2021

🚧
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 };