2018-07-20 17:35:44 +00:00
|
|
|
class Cfg3DEN {
|
|
|
|
class Mission {
|
|
|
|
class GVAR(DummyCategory) {
|
|
|
|
displayName = "Dummy attribute, should never show up";
|
|
|
|
class AttributeCategories {
|
|
|
|
class ACE3_Arsenal {
|
|
|
|
class Attributes {
|
|
|
|
class GVAR(DefaultLoadoutsListAttribute) {
|
|
|
|
property = QGVAR(DefaultLoadoutsListAttribute);
|
|
|
|
value = 0;
|
2018-10-14 13:54:51 +00:00
|
|
|
expression = QUOTE(if (!is3DEN) then {GVAR(defaultLoadoutsList) = _value});
|
2018-07-20 17:35:44 +00:00
|
|
|
defaultValue = "[]";
|
|
|
|
validate = "none";
|
|
|
|
wikiType = "[[Array]]";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
class Attributes {
|
|
|
|
class GVAR(attribute): ctrlControlsGroupNoScrollbars {
|
|
|
|
idc = -1;
|
|
|
|
// onLoad fixes attributeLoad not happening on multiple selection with different attribute
|
|
|
|
onLoad = QUOTE(private _objects = get3DENSelected 'object'; if (count _objects > 1) then {[ARR_2(_this select 0,((_objects select 0) get3DENAttribute QQGVAR(attribute)) select 0)] call FUNC(attributeLoad)});
|
|
|
|
x = QUOTE(0);
|
|
|
|
y = QUOTE(0);
|
|
|
|
w = QUOTE(130 * ATTRIBUTE_W);
|
|
|
|
h = QUOTE(106.83 * ATTRIBUTE_H);
|
|
|
|
attributeLoad = QUOTE([ARR_2(_this,+_value)] call FUNC(attributeLoad));
|
2023-11-05 18:36:00 +00:00
|
|
|
attributeSave = QUOTE(uiNamespace getVariable [ARR_2(QQGVAR(attributeValue),[ARR_2([],0)])]);
|
2018-07-20 17:35:44 +00:00
|
|
|
class controls {
|
|
|
|
class ModeTitle: ctrlStatic {
|
|
|
|
idc = -1;
|
|
|
|
text = CSTRING(Mode);
|
|
|
|
x = QUOTE(5 * ATTRIBUTE_W);
|
|
|
|
y = QUOTE(0);
|
|
|
|
w = QUOTE(125 * ATTRIBUTE_W);
|
|
|
|
h = QUOTE(5 * ATTRIBUTE_H);
|
|
|
|
};
|
|
|
|
class Mode: ctrlToolbox {
|
|
|
|
idc = IDC_ATTRIBUTE_MODE;
|
2023-11-05 18:36:00 +00:00
|
|
|
onToolBoxSelChanged = QUOTE([ARR_2(ctrlParentControlsGroup (_this select 0),_this select 1)] call FUNC(attributeMode));
|
2018-07-20 17:35:44 +00:00
|
|
|
x = QUOTE(5 * ATTRIBUTE_W);
|
|
|
|
y = QUOTE(5 * ATTRIBUTE_H);
|
|
|
|
w = QUOTE(125 * ATTRIBUTE_W);
|
|
|
|
h = QUOTE(5 * ATTRIBUTE_H);
|
|
|
|
rows = 1;
|
|
|
|
columns = 2;
|
|
|
|
strings[] = {CSTRING(Whitelist), CSTRING(Blacklist)};
|
|
|
|
};
|
|
|
|
class ItemsTitle: ModeTitle {
|
|
|
|
text = CSTRING(Items);
|
|
|
|
y = QUOTE(10 * ATTRIBUTE_H);
|
|
|
|
};
|
|
|
|
class Category: ctrlToolboxPictureKeepAspect {
|
|
|
|
idc = IDC_ATTRIBUTE_CATEGORY;
|
2023-11-05 18:36:00 +00:00
|
|
|
onToolBoxSelChanged = QUOTE([ARR_2(ctrlParentControlsGroup (_this select 0),_this select 1)] call FUNC(attributeCategory));
|
2018-07-20 17:35:44 +00:00
|
|
|
x = QUOTE(5 * ATTRIBUTE_W);
|
|
|
|
y = QUOTE(15 * ATTRIBUTE_H);
|
|
|
|
w = QUOTE(125 * ATTRIBUTE_W);
|
|
|
|
h = QUOTE(20.83 * ATTRIBUTE_H);
|
|
|
|
rows = 2;
|
|
|
|
columns = 12;
|
|
|
|
strings[] = {
|
|
|
|
"\a3\Ui_F_Curator\Data\RscCommon\RscAttributeInventory\filter_0_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\PrimaryWeapon_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\SecondaryWeapon_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Handgun_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\ItemOptic_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\ItemAcc_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\ItemMuzzle_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\ItemBipod_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\CargoMagAll_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Headgear_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Uniform_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Vest_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Backpack_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Goggles_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\NVGs_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Binoculars_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Map_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Compass_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Radio_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Watch_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\GPS_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\CargoThrow_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\CargoPut_ca.paa",
|
|
|
|
"\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\CargoMisc_ca.paa"
|
|
|
|
};
|
|
|
|
};
|
|
|
|
class ListBackground: ctrlStatic {
|
|
|
|
idc = -1;
|
|
|
|
x = QUOTE(5 * ATTRIBUTE_W);
|
|
|
|
y = QUOTE(35.83 * ATTRIBUTE_H);
|
|
|
|
w = QUOTE(125 * ATTRIBUTE_W);
|
|
|
|
h = QUOTE(65 * ATTRIBUTE_H);
|
|
|
|
colorBackground[] = {1, 1, 1, 0.1};
|
|
|
|
};
|
|
|
|
class List: ctrlListNBox {
|
|
|
|
idc = IDC_ATTRIBUTE_LIST;
|
|
|
|
idcLeft = IDC_ATTRIBUTE_LIST_LEFT;
|
|
|
|
idcRight = IDC_ATTRIBUTE_LIST_RIGHT;
|
|
|
|
onLBDblClick = QUOTE(_this call FUNC(attributeDblClick));
|
2018-10-14 13:54:51 +00:00
|
|
|
onSetFocus = QUOTE(SETUVAR(QGVAR(attributeFocus),ctrlParentControlsGroup (_this select 0)));
|
|
|
|
onKillFocus = QUOTE(SETUVAR(QGVAR(attributeFocus),nil));
|
2018-07-20 17:35:44 +00:00
|
|
|
x = QUOTE(5 * ATTRIBUTE_W);
|
|
|
|
y = QUOTE(35.83 * ATTRIBUTE_H);
|
|
|
|
w = QUOTE(125 * ATTRIBUTE_W);
|
|
|
|
h = QUOTE(65 * ATTRIBUTE_H);
|
|
|
|
drawSideArrows = 1;
|
|
|
|
disableOverflow = 1;
|
|
|
|
columns[] = {0.05, 0.15, 0.85};
|
|
|
|
};
|
|
|
|
class ArrowLeft: ctrlButton {
|
|
|
|
idc = IDC_ATTRIBUTE_LIST_LEFT;
|
|
|
|
onButtonClick = QUOTE([ARR_2(ctrlParentControlsGroup (_this select 0),false)] call FUNC(attributeSelect));
|
|
|
|
text = SYMBOL_ITEM_NONE;
|
|
|
|
font = "RobotoCondensedBold";
|
|
|
|
x = QUOTE(-1);
|
|
|
|
y = QUOTE(-1);
|
|
|
|
w = QUOTE(5 * ATTRIBUTE_W);
|
|
|
|
H = QUOTE(5 * ATTRIBUTE_H);
|
|
|
|
};
|
|
|
|
class ArrowRight: ArrowLeft {
|
|
|
|
idc = IDC_ATTRIBUTE_LIST_RIGHT;
|
|
|
|
onButtonClick = QUOTE([ARR_2(ctrlParentControlsGroup (_this select 0),true)] call FUNC(attributeSelect));
|
|
|
|
text = SYMBOL_ITEM_VIRTUAL;
|
|
|
|
};
|
|
|
|
class SearchButton: ctrlButtonPicture {
|
|
|
|
idc = IDC_ATTRIBUTE_SEARCH_BUTTON;
|
2023-11-01 01:29:59 +00:00
|
|
|
#pragma hemtt suppress pw3_padded_arg
|
|
|
|
onButtonClick = QUOTE(\
|
2019-03-12 16:26:40 +00:00
|
|
|
params ['_searchButton']; \
|
|
|
|
private _controlsGroup = ctrlParentControlsGroup _searchButton; \
|
|
|
|
private _searchBar = _controlsGroup controlsGroupCtrl IDC_ATTRIBUTE_SEARCHBAR; \
|
|
|
|
_searchBar ctrlSetText ''; \
|
|
|
|
ctrlSetFocus _searchBar; \
|
|
|
|
[_controlsGroup] call FUNC(attributeAddItems); \
|
|
|
|
);
|
2018-07-20 17:35:44 +00:00
|
|
|
text = "\a3\Ui_f\data\GUI\RscCommon\RscButtonSearch\search_start_ca.paa";
|
|
|
|
x = QUOTE(5 * ATTRIBUTE_W);
|
|
|
|
y = QUOTE(101.83 * ATTRIBUTE_H);
|
|
|
|
w = QUOTE(5 * ATTRIBUTE_W);
|
|
|
|
h = QUOTE(5 * ATTRIBUTE_H);
|
|
|
|
colorBackground[] = {0, 0, 0, 0.5};
|
|
|
|
};
|
|
|
|
class SearchBar: ctrlEdit {
|
|
|
|
idc = IDC_ATTRIBUTE_SEARCHBAR;
|
|
|
|
onKeyUp = QUOTE([ctrlParentControlsGroup (_this select 0)] call FUNC(attributeAddItems));
|
2023-11-01 01:29:59 +00:00
|
|
|
#pragma hemtt suppress pw3_padded_arg
|
|
|
|
onMouseButtonClick = QUOTE(\
|
2019-03-12 16:26:40 +00:00
|
|
|
params [ARR_2('_searchBar','_button')]; \
|
|
|
|
if (_button != 1) exitWith {}; \
|
|
|
|
_searchBar ctrlSetText ''; \
|
|
|
|
ctrlSetFocus _searchBar; \
|
|
|
|
[ctrlParentControlsGroup _searchBar] call FUNC(attributeAddItems); \
|
|
|
|
);
|
2018-07-20 17:35:44 +00:00
|
|
|
x = QUOTE(11 * ATTRIBUTE_W);
|
|
|
|
y = QUOTE(101.83 * ATTRIBUTE_H);
|
2019-03-12 16:26:40 +00:00
|
|
|
w = QUOTE(40 * ATTRIBUTE_W);
|
2018-07-20 17:35:44 +00:00
|
|
|
h = QUOTE(5 * ATTRIBUTE_H);
|
|
|
|
};
|
|
|
|
class ClearButton: ctrlButton {
|
|
|
|
idc = IDC_ATTRIBUTE_CLEAR_BUTTON;
|
|
|
|
onButtonClick = QUOTE([ctrlParentControlsGroup (_this select 0)] call FUNC(attributeClear));
|
|
|
|
text = "$STR_disp_arcmap_clear";
|
|
|
|
x = QUOTE(105 * ATTRIBUTE_W);
|
|
|
|
y = QUOTE(101.83 * ATTRIBUTE_H);
|
|
|
|
w = QUOTE(25 * ATTRIBUTE_W);
|
|
|
|
h = QUOTE(5 * ATTRIBUTE_H);
|
|
|
|
colorBackground[] = {0, 0, 0, 0.6};
|
|
|
|
};
|
|
|
|
class ExportButton: ClearButton {
|
|
|
|
idc = IDC_ATTRIBUTE_EXPORT_BUTTON;
|
|
|
|
onButtonClick = QUOTE(copyToClipboard str ((uiNamespace getVariable [ARR_2(QQGVAR(attributeValue),[ARR_2([],0)])]) select 0));
|
|
|
|
text = CSTRING(buttonExportText);
|
|
|
|
tooltip = CSTRING(AttributeExport_Tooltip);
|
|
|
|
x = QUOTE(79 * ATTRIBUTE_W);
|
|
|
|
};
|
2019-03-12 16:26:40 +00:00
|
|
|
class ImportButton: ClearButton {
|
|
|
|
idc = IDC_ATTRIBUTE_IMPORT_BUTTON;
|
|
|
|
onButtonClick = QUOTE([ctrlParentControlsGroup (_this select 0)] call FUNC(attributeImport));
|
|
|
|
text = CSTRING(buttonImportText);
|
|
|
|
tooltip = CSTRING(AttributeImport_Tooltip);
|
|
|
|
x = QUOTE(53 * ATTRIBUTE_W);
|
|
|
|
};
|
|
|
|
class AddCompatible: ctrlButton {
|
|
|
|
idc = IDC_ATTRIBUTE_ADD_COMPATIBLE;
|
|
|
|
style = ST_CENTER;
|
|
|
|
onButtonClick = QUOTE([ctrlParentControlsGroup (_this select 0)] call FUNC(attributeAddCompatible));
|
|
|
|
text = CSTRING(AttributeAddCompatible_DisplayName);
|
|
|
|
tooltip = CSTRING(AttributeAddCompatible_Tooltip);
|
|
|
|
font = "RobotoCondensedLight";
|
|
|
|
x = QUOTE(98.75 * ATTRIBUTE_W);
|
|
|
|
y = QUOTE(10.5 * ATTRIBUTE_H);
|
|
|
|
w = QUOTE(31.25 * ATTRIBUTE_W);
|
|
|
|
h = QUOTE(4 * ATTRIBUTE_H);
|
|
|
|
sizeEx = QUOTE(4 * ATTRIBUTE_H);
|
|
|
|
colorBackground[] = {0, 0, 0, 0.5};
|
|
|
|
};
|
2018-07-20 17:35:44 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
class Object {
|
|
|
|
class AttributeCategories {
|
|
|
|
class ADDON {
|
|
|
|
displayName = CSTRING(Mission);
|
|
|
|
collapsed = 1;
|
|
|
|
class Attributes {
|
|
|
|
class ADDON {
|
|
|
|
property = QGVAR(attribute);
|
|
|
|
control = QGVAR(attribute);
|
|
|
|
displayName = CSTRING(Mission);
|
|
|
|
tooltip = "";
|
|
|
|
expression = QUOTE(if (!is3DEN) then {[ARR_2(_this,+_value)] call FUNC(attributeInit)});
|
|
|
|
defaultValue = "[[], 0]";
|
|
|
|
condition = "1 - objectControllable";
|
|
|
|
wikiType = "[[Array]]";
|
|
|
|
validate = "none";
|
|
|
|
value = 0;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|