|
|
(64 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| {{Wiki|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]].
| |
| <code>{
| |
| [[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;
| |
| [[File: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]];
| |
| [[File:WuChaoRen_lbColor.png]]
| |
| [[lbSort]] [_ctrl, "DESC"];
| |
| [[lbSortByValue]] _ctrl;
| |
| [[File:WuChaoRen_lbSortByValue.png]]
| |
| [[if]] (_ctrl [[lbIsSelected]] _current) [[then]]
| |
| {
| |
| _ctrl [[lbDelete]] _current;
| |
| [[File:WuChaoRen_lbDelete.png]]
| |
| [[lbClear]] _ctrl;
| |
| [[File:WuChaoRen_lbClear.png]]
| |
| };
| |
| } [[forEach]] [_CT_COMBO, _CT_LISTBOX, _CT_XLISTBOX, _CT_XCOMBO];
| |
| </code>
| |
|
| |
|
| ===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:
| |
| <code>{{cc|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];
| |
| {{cc|Accessing the value disregard affecting one another}}
| |
| _ctrl [[lnbData]] [0,0]; {{cc|"#1"}}
| |
| [[lnbGetColumnsPosition]] _ctrl; {{cc|[1]}};
| |
| _ctrl [[lnbText]] [0,0]; {{cc|"#1"}}
| |
| _ctrl [[lnbValue]] [0,0]; {{cc|1}}</code>
| |
|
| |
| For a direct visible control over [[CT_LISTNBOX]]:
| |
| <code>[_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;
| |
| [[Image: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] ];
| |
| [[Image:WuChaoRen_001.png]]
| |
| _CT_LISTNBOX [[lnbDeleteColumn]] 0;
| |
| [[Image:WuChaoRen_002.png]]
| |
| _CT_LISTNBOX [[lnbDeleteRow]] 1;
| |
| [[Image:WuChaoRen_003.png]]
| |
| [[sleep]] 1;
| |
| [[lnbClear]] _CT_LISTNBOX; {{cc|Clear all items but control still remains just invisible}}
| |
| };</code>
| |