{"name":"Eden Editor: Configuring Attributes: Controls","title":"Eden Editor: Configuring Attributes: Controls","type":"topic","url":"https://community.bistudio.com/wiki/Eden_Editor:_Configuring_Attributes:_Controls","revid":369518,"updated":"2024-09-12T09:46:28Z","aliases":["Eden Editor: Modding Attributes: Controls"],"markdown":"Entity attributes in Eden Editor are represented by specific UI controls.\nBy default, the game offers a wide range of pre-define controls. Not all available controls are listed here due to frequent updates.\nAll available controls can be found in `configFile >> \"Cfg3DEN\" >> \"Attributes\"` but be careful, some of those attributes are not meant to be used with custom attributes.\nTrial and error!\n\n### Configuration\n\n*Full article - Eden Editor: Configuring Attributes*\n\n```cpp\nclass Cfg3DEN\n{\n    class Object\n    {\n        class AttributeCategories\n        {\n            class MyCategory\n            {\n                class Attributes\n                {\n                    class MyAttribute\n                    {\n                        control = \"Edit\"; // Control name, see the list below\n                    };\n                };\n            };\n        };\n    };\n};\n```\n\n### List\n\n| Class | Description | Saved Value |\n|---|---|---|\n| **ActivationType** | Drop-down list which shows default triggerActivation options | String |\n| **AmmoBox** | Table with all weapons and equipment in the game, filtered by type. | Array in format:<br>```<br>[<br>     [<br>         [<W>, <Wn>],<br>         [<M>, <Mn>]<br>         [<I>, <In>],<br>         [<B>, <Bn>]<br>     ],<br>     <isVirtual><br>]<br>```<br>- Arrays with String class names<br>  - **W**eapons<br>  - **M**agazines<br>  - **I**tems<br>  - **B**ackpacks<br>- ***n** - Arrays with counts. Indexes match class name indexes<br>- **isVirtual** - Boolean, true if equipment is in infinite number (array with counts is empty then) |\n| **BehaviourGroup** | Drop-down list which shows all behaviour states | String |\n| **BehaviourWaypoint** | Drop-down list which shows all waypointBehaviour states | String |\n| **Checkbox** | Simple checkbox | Boolean - true if the checkbox is ticked |\n| **CheckboxNumber** | Simple checkbox with numeric output | Number - 1 if the checkbox is ticked, 0 if it isn't |\n| **CheckboxReversed** | Simple checkbox with reversed output | Boolean - false if the checkbox is ticked |\n| **CheckboxState** | Category toggle. When ticked off, all other attributes in the category will be disabled and greyed out. | Boolean - true if the checkbox is ticked |\n| **CombatModeGroup** | Drop-down list which shows all combatMode states | String |\n| **CombatModeWaypoint** | Drop-down list which shows all waypointCombatMode states | String |\n| **Combo** | Empty drop-down list, used as a base class.<br>Additional options available when configuring a control inherited from class Combo (this is a control config, not an attribute config):<br>```cpp<br>class Value : Combo<br>{<br>    // Static items<br>    class Items<br>    {<br>        class None<br>        {<br>            text = \"None\";<br>            data = \"\";<br>        };<br>    };<br>    // Dynamically loaded items<br>    class ItemsConfig<br>    {<br>        path[] = { \"CfgNotifications\" };    // Path to config container<br>        localConfig = 1;                    // 1 to search local Description.ext as well<br>        propertyText = \"title\";                // item's text<br>        propertyTextRight = \"description\";    // item's right text<br>        propertyPicture = \"iconPicture\";    // item's picture<br>        propertyColor = \"color\";            // item's text colour<br>        sort = 1; // whether the list should be sorted or not (1 = sorted/ 0 = unsorted)<br>    };<br>};<br>```<br>**Attribute Config**<br>```cpp<br>class CustomAttributeWithCombo<br>{<br>    control = \"combo\";<br>    property = \"UniqueProperty\";<br>    displayName = \"Custom Combo Attribute\";<br>    tooltip = \"This combo has three values.\";<br>    expression = \"_this setVariable ['%s', _value];\";<br>    defaultValue = 0;<br>    typeName = \"NUMBER\";<br>    class Values <br>    {<br>        class None<br>        {<br>            name = \"Value 0\";<br>            tooltip = \"Some tooltip\";<br>            value = 0;<br>            picture = \"\\a3\\data_f_tank\\images\\upgradedaudio_ca.paa\";<br>            pictureRight = \"\\a3\\data_f_tacops\\logos\\arma3_tacops_icon_ca.paa\";<br>        };<br>        class Info<br>        {<br>            name = \"Value 1\";<br>            value = 1;<br>        };<br>        class Debug<br>        {<br>            name = \"Value 2\";<br>            value = 2;<br>        };<br>    };<br>};<br>``` | String or Number (depends on original value type) |\n| **ComboPreview** | Empty drop-down list with preview button, used as a base class. If data of the selected item are found in CfgSounds, CfgEnvSounds, CfgMusic or CfgSFX, clicking on the button will play the sound. | String |\n| **Date** | Three drop-down lists for year, month and day selection. Days of the week described and weekends are highlighted. | Array in format [<year>, <month>, <day>] |\n| **Default** | Base class for other attribute controls | N/A |\n| **Edit** | Single line text input. | String |\n| **EditAB** | Two-dimensional size setting. | String |\n| **EditArray** | Array input. Items must be divided by commas or semicolons. | String |\n| **EditCode** | Single line code input. Uses monospace font and offers scripting help. | String |\n| **EditCodeMulti3** | Multi line code input. Uses monospace font and offers scripting help. | String |\n| **EditCodeMulti5** | Multi line code input. Uses monospace font and offers scripting help. | String |\n| **EditCodeShort** | Single line code input with decreased width. Good for shorter values, like numbers. Uses monospace font and offers scripting help. | String |\n| **EditMulti3** | Multi line text input. | String |\n| **EditMulti5** | Multi line text input. | String |\n| **EditShort** | Single line text input with decreased width. Good for shorter values, like numbers. | String |\n| **EditXY** | Position setting of X and Y axis. | Array |\n| **EditXYZ** | Position setting of X, Y and Z axis. | Array |\n| **EditZ** | Position setting of Z axis. | Number |\n| **EnableDebugConsole** | Drop-down menu with Debug Console settings | Number |\n| **Face** | Drop-down list which shows all faces from CfgFaces. | String |\n| **GameType** | Drop-down list which shows all game types from CfgMPGameTypes. | String |\n| **GarbageCollectorMode** | Drop-down list which shows corpseManagerMode options | Number |\n| **GuerAllegiance** | Toolbox |  |\n| **Lock** | Drop-down list which shows all lock options. | Number |\n| **MarkerBrush** | Drop-down list which shows all marker brushes from CfgMarkerBrushes. | String |\n| **MarkerColor** | Drop-down list which shows all marker colors from CfgMarkerColors. | String |\n| **ModuleInfo** | Non-interactive control. When used on a module which uses module framework, it shows detailed module description, properties and synchronization map. | N/A |\n| **Music** | Drop-down list which shows all music tracks from CfgMusic. | String |\n| **Pitch** | Voice pitch slider, value is in range <0.9; 1.1>, default value is 1, description adds \"x\" at the end (e.g., \"1x\") | Number |\n| **PreferencesSavegame** | Drop-down list which shows autosave options | Number |\n| **Respawn** | Drop-down list which shows respawn options | Number |\n| **RespawnTemplates** | Table with available respawn templates. See Arma 3: Respawn for more details. | Array of Strings - classes from CfgRespawnTemplates |\n| **RscTitle** | Drop-down list which shows all UI overlays from RscTitles. | String |\n| **Skill** | Slider in range <0.2; 1> (AI is too dumb with skill 0, so designer shouldn't be unable to set it), with customized tooltip describing specific values | Number |\n| **Slider** | Percentage slider, value is in range <0; 1>, default value is 1, description adds \"%\" at the end (e.g., \"100%\") | Number |\n| **SliderMultiplier** | Multiplier slider, value is in range <0.5; 1.5>, default value is 1, description adds \"x\" at the end (e.g., \"1x\") | Number |\n| **SliderTime** | Time slider, value is in seconds and in range <0; 3600>, default value is 0, description appears in format \"HH:MM:SS\" | Number |\n| **SliderTimeDay** | Variation of SliderTime, with range <0; 86399> (0 to 23 h, 59 m, 59 s) and default 43200 (12 h) | Number |\n| **SliderTimeForecast** | Variation of SliderTime, with range <1800; 28800> (30 min to 8 h) and default 3600 (1 h) | Number |\n| **SliderTimeRespawn** | Variation of SliderTime, with range <0; 300> (0 min to 5 min) and default 0 | Number |\n| **Sound** | Drop-down list which shows all sounds from CfgSounds. | String |\n| **SoundEffect** | Drop-down list which shows all sounds from CfgSFX. | String |\n| **SoundEnvironment** | Drop-down list which shows all sounds from CfgEnvSounds. | String |\n| **SoundVoice** | Drop-down list which shows all sounds from CfgSounds. As opposed to \"Sound\" control, its \"No Sound\" option has different value. | String |\n| **Speaker** | Drop-down list which shows all voices from CfgVoice. | String |\n| **StructuredText1-9** | Non-interactive element. Shows text defined by *description* property in the attribute config (where *displayName* or *tooltip* are) | N/A |\n| **Timeout** | Setting of triggerTimeout | Array in format [<min>,<mid>,<max>] |\n| **TriggerActivation** | Drop-down list which shows default triggerActivation options | String |\n| **TriggerActivationOwner** | Drop-down list which shows triggerActivation options when the trigger has owner defined (see connecting) | String |\n| **TriggerType** | Drop-down list which shows default triggerType options | String |\n\n#### Decorative / Informative Control\n\nThese attribute controls can be used to display additional information to the user. Some of them provide support for structured text so one can display links, highlight important information with color and much more.\n\n| Class | Description | Preview | Example Attribute Config |\n|---|---|---|---|\n| **SubCategory** | Shows a single line text. |  | ```cpp<br>class SubCategory<br>{<br>    property = \"TAG_MyAttribute_Subcategory\";<br>    control = \"SubCategory\";<br>    displayName = \"Activation Distance Settings\"; // Visible text. Despite the attribute code saying the property should be title, displayName is correct<br>};<br>``` |\n| **SubCategoryDesc1** | Shows a headline and a single line description. If the description is too long, it will be cut off. |  | ```cpp<br>class SubCategoryDesc1<br>{<br>    displayName = \"SubCategoryDesc1\";<br>    property = \"TAG_MyAttribute_Subcategory\";<br>    control = \"SubCategoryDesc1\";<br>    description = \"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt \\<br>ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et.\";<br>};<br>``` |\n| **SubCategoryDesc2** | Shows a headline and a two line description. If the description is too long, it will be cut off. |  | ```cpp<br>class SubCategoryDesc2<br>{<br>    displayName = \"SubCategoryDesc2\";<br>    property = \"TAG_MyAttribute_Subcategory\";<br>    control = \"SubCategoryDesc2\";<br>    description = \"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \\<br>    At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \\<br>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam.\";<br>};<br>``` |\n| **SubCategoryNoHeader1** | Shows a single line description but no headline. Text that is too long is cut off. This control is slighly misconfigured as the text control is taller than the controls group. This will cause unwanted scrolling. |  | ```cpp<br>class SubCategoryNoHeader1<br>{<br>    property = \"TAG_MyAttribute_Subcategory\";<br>    control = \"SubCategoryNoHeader1\";<br>    description = \"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \\<br>    At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \\<br>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam.\";<br>};<br>``` |\n| **SubCategoryNoHeader2** | Shows a two line description but no headline. Text that is too long is cut off. This control is slighly misconfigured as the text control is taller than the controls group. This will cause unwanted scrolling. |  | ```cpp<br>class SubCategoryNoHeader2<br>{<br>    property = \"TAG_MyAttribute_Subcategory\";<br>    control = \"SubCategoryNoHeader2\";<br>    description = \"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \\<br>    At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \\<br>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam.\";<br>};<br>``` |\n| **SubCategoryNoHeader2 with Structured Text** | Colored text with clickable links. |  | ```cpp<br>class SubCategoryNoHeader2<br>{<br>    property = \"TAG_MyAttribute_Subcategory\";<br>    control = \"SubCategoryNoHeader2\";<br>    description = \"Event Handlers are triggered upon certain events. The event handler is added where the entity is local. \\<br>Event parameters are passed to it via the &lt;t colorLink='#e69710'&gt;&lt;a href='https://community.bistudio.com/wiki/Magic_Variables#this'&gt;_this&lt;/a&gt; variable. \\<br>See &lt;t colorLink='#e69710'&gt;&lt;a href='https://community.bistudio.com/wiki/Arma_3:_Event_Handlers'&gt;Arma 3 - Event Handlers&lt;/a&gt; and \\<br>&lt;t colorLink='#e69710'&gt;&lt;a href='https://community.bistudio.com/wiki/addEventHandler'&gt;addEventHandler&lt;/a&gt; for more information.\";<br>};<br>``` |\n|  |  |  |  |","sections":[{"heading":null,"level":1,"markdown":"Entity attributes in Eden Editor are represented by specific UI controls.\nBy default, the game offers a wide range of pre-define controls. Not all available controls are listed here due to frequent updates.\nAll available controls can be found in `configFile >> \"Cfg3DEN\" >> \"Attributes\"` but be careful, some of those attributes are not meant to be used with custom attributes.\nTrial and error!"},{"heading":"Configuration","level":3,"markdown":"*Full article - Eden Editor: Configuring Attributes*\n\n```cpp\nclass Cfg3DEN\n{\n    class Object\n    {\n        class AttributeCategories\n        {\n            class MyCategory\n            {\n                class Attributes\n                {\n                    class MyAttribute\n                    {\n                        control = \"Edit\"; // Control name, see the list below\n                    };\n                };\n            };\n        };\n    };\n};\n```"},{"heading":"List","level":3,"markdown":"| Class | Description | Saved Value |\n|---|---|---|\n| **ActivationType** | Drop-down list which shows default triggerActivation options | String |\n| **AmmoBox** | Table with all weapons and equipment in the game, filtered by type. | Array in format:<br>```<br>[<br>     [<br>         [<W>, <Wn>],<br>         [<M>, <Mn>]<br>         [<I>, <In>],<br>         [<B>, <Bn>]<br>     ],<br>     <isVirtual><br>]<br>```<br>- Arrays with String class names<br>  - **W**eapons<br>  - **M**agazines<br>  - **I**tems<br>  - **B**ackpacks<br>- ***n** - Arrays with counts. Indexes match class name indexes<br>- **isVirtual** - Boolean, true if equipment is in infinite number (array with counts is empty then) |\n| **BehaviourGroup** | Drop-down list which shows all behaviour states | String |\n| **BehaviourWaypoint** | Drop-down list which shows all waypointBehaviour states | String |\n| **Checkbox** | Simple checkbox | Boolean - true if the checkbox is ticked |\n| **CheckboxNumber** | Simple checkbox with numeric output | Number - 1 if the checkbox is ticked, 0 if it isn't |\n| **CheckboxReversed** | Simple checkbox with reversed output | Boolean - false if the checkbox is ticked |\n| **CheckboxState** | Category toggle. When ticked off, all other attributes in the category will be disabled and greyed out. | Boolean - true if the checkbox is ticked |\n| **CombatModeGroup** | Drop-down list which shows all combatMode states | String |\n| **CombatModeWaypoint** | Drop-down list which shows all waypointCombatMode states | String |\n| **Combo** | Empty drop-down list, used as a base class.<br>Additional options available when configuring a control inherited from class Combo (this is a control config, not an attribute config):<br>```cpp<br>class Value : Combo<br>{<br>    // Static items<br>    class Items<br>    {<br>        class None<br>        {<br>            text = \"None\";<br>            data = \"\";<br>        };<br>    };<br>    // Dynamically loaded items<br>    class ItemsConfig<br>    {<br>        path[] = { \"CfgNotifications\" };    // Path to config container<br>        localConfig = 1;                    // 1 to search local Description.ext as well<br>        propertyText = \"title\";                // item's text<br>        propertyTextRight = \"description\";    // item's right text<br>        propertyPicture = \"iconPicture\";    // item's picture<br>        propertyColor = \"color\";            // item's text colour<br>        sort = 1; // whether the list should be sorted or not (1 = sorted/ 0 = unsorted)<br>    };<br>};<br>```<br>**Attribute Config**<br>```cpp<br>class CustomAttributeWithCombo<br>{<br>    control = \"combo\";<br>    property = \"UniqueProperty\";<br>    displayName = \"Custom Combo Attribute\";<br>    tooltip = \"This combo has three values.\";<br>    expression = \"_this setVariable ['%s', _value];\";<br>    defaultValue = 0;<br>    typeName = \"NUMBER\";<br>    class Values <br>    {<br>        class None<br>        {<br>            name = \"Value 0\";<br>            tooltip = \"Some tooltip\";<br>            value = 0;<br>            picture = \"\\a3\\data_f_tank\\images\\upgradedaudio_ca.paa\";<br>            pictureRight = \"\\a3\\data_f_tacops\\logos\\arma3_tacops_icon_ca.paa\";<br>        };<br>        class Info<br>        {<br>            name = \"Value 1\";<br>            value = 1;<br>        };<br>        class Debug<br>        {<br>            name = \"Value 2\";<br>            value = 2;<br>        };<br>    };<br>};<br>``` | String or Number (depends on original value type) |\n| **ComboPreview** | Empty drop-down list with preview button, used as a base class. If data of the selected item are found in CfgSounds, CfgEnvSounds, CfgMusic or CfgSFX, clicking on the button will play the sound. | String |\n| **Date** | Three drop-down lists for year, month and day selection. Days of the week described and weekends are highlighted. | Array in format [<year>, <month>, <day>] |\n| **Default** | Base class for other attribute controls | N/A |\n| **Edit** | Single line text input. | String |\n| **EditAB** | Two-dimensional size setting. | String |\n| **EditArray** | Array input. Items must be divided by commas or semicolons. | String |\n| **EditCode** | Single line code input. Uses monospace font and offers scripting help. | String |\n| **EditCodeMulti3** | Multi line code input. Uses monospace font and offers scripting help. | String |\n| **EditCodeMulti5** | Multi line code input. Uses monospace font and offers scripting help. | String |\n| **EditCodeShort** | Single line code input with decreased width. Good for shorter values, like numbers. Uses monospace font and offers scripting help. | String |\n| **EditMulti3** | Multi line text input. | String |\n| **EditMulti5** | Multi line text input. | String |\n| **EditShort** | Single line text input with decreased width. Good for shorter values, like numbers. | String |\n| **EditXY** | Position setting of X and Y axis. | Array |\n| **EditXYZ** | Position setting of X, Y and Z axis. | Array |\n| **EditZ** | Position setting of Z axis. | Number |\n| **EnableDebugConsole** | Drop-down menu with Debug Console settings | Number |\n| **Face** | Drop-down list which shows all faces from CfgFaces. | String |\n| **GameType** | Drop-down list which shows all game types from CfgMPGameTypes. | String |\n| **GarbageCollectorMode** | Drop-down list which shows corpseManagerMode options | Number |\n| **GuerAllegiance** | Toolbox |  |\n| **Lock** | Drop-down list which shows all lock options. | Number |\n| **MarkerBrush** | Drop-down list which shows all marker brushes from CfgMarkerBrushes. | String |\n| **MarkerColor** | Drop-down list which shows all marker colors from CfgMarkerColors. | String |\n| **ModuleInfo** | Non-interactive control. When used on a module which uses module framework, it shows detailed module description, properties and synchronization map. | N/A |\n| **Music** | Drop-down list which shows all music tracks from CfgMusic. | String |\n| **Pitch** | Voice pitch slider, value is in range <0.9; 1.1>, default value is 1, description adds \"x\" at the end (e.g., \"1x\") | Number |\n| **PreferencesSavegame** | Drop-down list which shows autosave options | Number |\n| **Respawn** | Drop-down list which shows respawn options | Number |\n| **RespawnTemplates** | Table with available respawn templates. See Arma 3: Respawn for more details. | Array of Strings - classes from CfgRespawnTemplates |\n| **RscTitle** | Drop-down list which shows all UI overlays from RscTitles. | String |\n| **Skill** | Slider in range <0.2; 1> (AI is too dumb with skill 0, so designer shouldn't be unable to set it), with customized tooltip describing specific values | Number |\n| **Slider** | Percentage slider, value is in range <0; 1>, default value is 1, description adds \"%\" at the end (e.g., \"100%\") | Number |\n| **SliderMultiplier** | Multiplier slider, value is in range <0.5; 1.5>, default value is 1, description adds \"x\" at the end (e.g., \"1x\") | Number |\n| **SliderTime** | Time slider, value is in seconds and in range <0; 3600>, default value is 0, description appears in format \"HH:MM:SS\" | Number |\n| **SliderTimeDay** | Variation of SliderTime, with range <0; 86399> (0 to 23 h, 59 m, 59 s) and default 43200 (12 h) | Number |\n| **SliderTimeForecast** | Variation of SliderTime, with range <1800; 28800> (30 min to 8 h) and default 3600 (1 h) | Number |\n| **SliderTimeRespawn** | Variation of SliderTime, with range <0; 300> (0 min to 5 min) and default 0 | Number |\n| **Sound** | Drop-down list which shows all sounds from CfgSounds. | String |\n| **SoundEffect** | Drop-down list which shows all sounds from CfgSFX. | String |\n| **SoundEnvironment** | Drop-down list which shows all sounds from CfgEnvSounds. | String |\n| **SoundVoice** | Drop-down list which shows all sounds from CfgSounds. As opposed to \"Sound\" control, its \"No Sound\" option has different value. | String |\n| **Speaker** | Drop-down list which shows all voices from CfgVoice. | String |\n| **StructuredText1-9** | Non-interactive element. Shows text defined by *description* property in the attribute config (where *displayName* or *tooltip* are) | N/A |\n| **Timeout** | Setting of triggerTimeout | Array in format [<min>,<mid>,<max>] |\n| **TriggerActivation** | Drop-down list which shows default triggerActivation options | String |\n| **TriggerActivationOwner** | Drop-down list which shows triggerActivation options when the trigger has owner defined (see connecting) | String |\n| **TriggerType** | Drop-down list which shows default triggerType options | String |"},{"heading":"Decorative / Informative Control","level":4,"markdown":"These attribute controls can be used to display additional information to the user. Some of them provide support for structured text so one can display links, highlight important information with color and much more.\n\n| Class | Description | Preview | Example Attribute Config |\n|---|---|---|---|\n| **SubCategory** | Shows a single line text. |  | ```cpp<br>class SubCategory<br>{<br>    property = \"TAG_MyAttribute_Subcategory\";<br>    control = \"SubCategory\";<br>    displayName = \"Activation Distance Settings\"; // Visible text. Despite the attribute code saying the property should be title, displayName is correct<br>};<br>``` |\n| **SubCategoryDesc1** | Shows a headline and a single line description. If the description is too long, it will be cut off. |  | ```cpp<br>class SubCategoryDesc1<br>{<br>    displayName = \"SubCategoryDesc1\";<br>    property = \"TAG_MyAttribute_Subcategory\";<br>    control = \"SubCategoryDesc1\";<br>    description = \"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt \\<br>ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et.\";<br>};<br>``` |\n| **SubCategoryDesc2** | Shows a headline and a two line description. If the description is too long, it will be cut off. |  | ```cpp<br>class SubCategoryDesc2<br>{<br>    displayName = \"SubCategoryDesc2\";<br>    property = \"TAG_MyAttribute_Subcategory\";<br>    control = \"SubCategoryDesc2\";<br>    description = \"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \\<br>    At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \\<br>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam.\";<br>};<br>``` |\n| **SubCategoryNoHeader1** | Shows a single line description but no headline. Text that is too long is cut off. This control is slighly misconfigured as the text control is taller than the controls group. This will cause unwanted scrolling. |  | ```cpp<br>class SubCategoryNoHeader1<br>{<br>    property = \"TAG_MyAttribute_Subcategory\";<br>    control = \"SubCategoryNoHeader1\";<br>    description = \"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \\<br>    At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \\<br>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam.\";<br>};<br>``` |\n| **SubCategoryNoHeader2** | Shows a two line description but no headline. Text that is too long is cut off. This control is slighly misconfigured as the text control is taller than the controls group. This will cause unwanted scrolling. |  | ```cpp<br>class SubCategoryNoHeader2<br>{<br>    property = \"TAG_MyAttribute_Subcategory\";<br>    control = \"SubCategoryNoHeader2\";<br>    description = \"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \\<br>    At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \\<br>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam.\";<br>};<br>``` |\n| **SubCategoryNoHeader2 with Structured Text** | Colored text with clickable links. |  | ```cpp<br>class SubCategoryNoHeader2<br>{<br>    property = \"TAG_MyAttribute_Subcategory\";<br>    control = \"SubCategoryNoHeader2\";<br>    description = \"Event Handlers are triggered upon certain events. The event handler is added where the entity is local. \\<br>Event parameters are passed to it via the &lt;t colorLink='#e69710'&gt;&lt;a href='https://community.bistudio.com/wiki/Magic_Variables#this'&gt;_this&lt;/a&gt; variable. \\<br>See &lt;t colorLink='#e69710'&gt;&lt;a href='https://community.bistudio.com/wiki/Arma_3:_Event_Handlers'&gt;Arma 3 - Event Handlers&lt;/a&gt; and \\<br>&lt;t colorLink='#e69710'&gt;&lt;a href='https://community.bistudio.com/wiki/addEventHandler'&gt;addEventHandler&lt;/a&gt; for more information.\";<br>};<br>``` |\n|  |  |  |  |"}],"categories":["Eden Editor: Modding"],"groups":["Mission Editing"]}