CT – Template

From Bohemia Interactive Community
Jump to navigation Jump to search
(Correct use of TOC and cfg ref start)
m (Text replacement - "{{Feature|Informative|" to "{{Feature|informative|")
 
(46 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<includeonly>
<includeonly>
{{#switch: {{lc:{{{1}}}}}
{{#switch: {{lc:{{{1}}}}}
|start      = {{Navbox control types}}
 
{{Cfg ref|start}}
|intro = {{#ifeq:{{uc:{{FULLPAGENAME}}}}|TEMPLATE:CT||{{DISPLAYTITLE:{{{macro}}}}}}}{{Navbox/CT}}
{{ConfigPage|start}}
== Introduction ==
== Introduction ==
{{{description}}}
{{{description}}}
{{#if: {{{gallery|}}}|
{{#tag:gallery|{{{gallery}}}|mode="slideshow"|heights=240px|widths=240px}}
}}


=== Related commands ===
=== Related commands & functions ===
* [[:Category:Command_Group:_GUI_Control|General]]<!--
* [[:Category:Command_Group:_GUI_Control|Commands: General]]
* [[:Category:Command_Group:_GUI_Control_-_Event_Handlers|Commands: UI Eventhandlers]]<!--
-->{{#if: {{{commands|}}} |  
-->{{#if: {{{commands|}}} |  
{{{commands}}}
{{{commands}}}
Line 13: Line 18:


=== Related User Interface Eventhandlers ===
=== Related User Interface Eventhandlers ===
* [[User_Interface_Event_Handlers#Generic_events|Generic events]]<!--
* [[User_Interface_Event_Handlers#Generic_Events|Events: General]]<!--
-->{{#if: {{{events|}}} |  
-->{{#if: {{{events|}}} |  
{{{events}}}
{{{events}}}
Line 19: Line 24:


== Alphabetical Order ==
== Alphabetical Order ==
{{Informative|TokenNames common to most controls, such as x, y, w, h, text, idc... can be found [[Arma:_GUI_Configuration#Common_Properties|'''here''']].}}
{{Feature|informative|TokenNames common to most controls, such as x, y, w, h, text, idc... can be found [[Arma:_GUI_Configuration#Common_Properties|'''here''']].}}
{{Feature|warning|Not all of the listed attributes might have an effect nor might the list be complete. All attributes were gathered with [https://github.com/7erra/BIKI.VR/blob/master/fnc/generateCTPage.sqf this] config crawler.}}
{{#tag:syntaxhighlight|#define {{{macro}}} {{{value}}}|lang="cpp"}}


{{#tag:syntaxhighlight|#define {{{macro}}} {{{value}}}|lang=cpp}}
|abc start = {{ConfigPage|abc}}
{{Cfg ref|abc}}


|attribute = ==== {{{name}}} ====
|attribute = ==== {{{name}}} ====
{{#if: {{{mandatory|}}} |{{Important|This attribute is mandatory for the control to work!}}}}
{{#if: {{{mandatory|}}} |{{Feature|important|This attribute is mandatory for the control to work!}}}}
;Type: [[TokenNameValueTypes|{{{type}}}]]
; Type: [[TokenNameValueTypes|{{{type1}}}]]{{#if: {{{type2|}}} | , [[TokenNameValueTypes|{{{type2}}}]]}}{{#if: {{{type3|}}} | , [[TokenNameValueTypes|{{{type3}}}]]}}{{#if: {{{type4|}}} | , [[TokenNameValueTypes|{{{type4}}}]]}}
;Description: {{{description}}}
; Description: {{#if: {{{description|}}}|{{{description}}}|n/a}}
{{#tag:syntaxhighlight|{{#switch: {{{type}}}
{{#if: {{{type2|}}}|{{{type1}}} example:}}
  | Array = {{{name}}}[] = {{{value}}};
{{#tag:syntaxhighlight|{{#switch: {{{type1}}}
  | Class = class {{{name}}} {};
| Array = {{{name}}}[] = {{{value1}}};
  | {{{name}}} {{=}} {{{value}}};
| Class = {{{value1}}}
}}|lang=cpp}}
| {{{name}}} {{=}} {{{value1}}};
}}|lang="cpp"}}
{{#if: {{{type2|}}}|{{{type2}}} example:
{{#tag:syntaxhighlight|{{#switch: {{{type2}}}
  | Array = {{{name}}}[] = {{{value2}}};
  | Class = {{{value2}}}
| {{{name}}} {{=}} {{{value2}}};
}}|lang="cpp"}}}}
{{#if: {{{type3|}}}|{{{type3}}} example:
{{#tag:syntaxhighlight|----
{{#switch: {{{type3}}}
| Array = {{{name}}}[] = {{{value3}}};
| Class = {{{value3}}}
  | {{{name}}} {{=}} {{{value3}}};
}}|lang="cpp"}}}}
{{#if: {{{type4|}}}|{{{type4}}} example:
{{#tag:syntaxhighlight|----
{{#switch: {{{type4}}}
| Array = {{{name}}}[] = {{{value4}}};
| Class = {{{value4}}}
| {{{name}}} {{=}} {{{value4}}};
}}|lang="cpp"}}}}


|stop = {{Cfg ref|end}}
|abc end = {{ConfigPage|end}}


|examples = = Default Classes =
|examples = == Default Classes ==
The following classes are part of the export that is generated with <code>"Default" call [[BIS_fnc_exportGUIBaseClasses]]</code>
{{Feature|arma3|'''AddOns:''' Classes need to be initialised first with <syntaxhighlight lang="cpp" inline>class SomeClass;</syntaxhighlight>
{{Informative|In order for the classes below to work you need to have them exported with the function above.}}
----
{{Informative|Starting with {{arma3}} v2.01.146644 you can use the [[import]] directive instead.}}
'''Missions:''' Since {{arma3}} v2.02 one can use <syntaxhighlight lang="cpp" inline>import SomeClass;</syntaxhighlight> to initialise a class (see the [[import (Config)|import]] keyword).
}}
In older versions, use <sqf inline>"Default" call BIS_fnc_exportGUIBaseClasses;</sqf> and paste the result into the [[Description.ext|description.ext]].}}}}
</includeonly><noinclude>
</includeonly><noinclude>
{{wip}}
== Usage ==
<pre>{{CT|mode|arg1=value|arg2=value2|...}}</pre>
{| class="wikitable"
! Mode !! Arguments !! Description !! Example
|-
| rowspan="6" | '''intro''' || macro || Control type macro from [[BIS_fnc_exportGUIBaseClasses]]. || <pre>CT_STATIC</pre>
|-
| value || Value of the macro. || <pre>0</pre>
|-
| description || Some text to give info about the CT. || <pre>This is CT_MAP. It is a map.</pre>
|-
| gallery || List of images to display in a gallery below the description. || <pre>File:Image.jpg{{!}}This is an image of the control.</pre>
|-
| commands || List of commands associated with the control. ||<pre>* [[:Category:Command_Group:_GUI_Control_-_Controls_Table|Commands: Controls Table]]</pre>
|-
| events || List of UIEH that work on the control. || <pre>* [[User_Interface_Event_Handlers|Events: All]]</pre>
|-
| colspan="4" |
|-
| '''abc start''' || no arguments || Marks the beggining of the config reference part with the use of the '''attribute''' mode. ||
|-
| colspan="4" |
|-
| rowspan="5" | '''attribute''' || name || Name of the attribute. || <pre>text</pre>
|-
| value1-4 || Possible values of the config entry. Has to match the type given by type1-4. || <pre>"This is a string"</pre>
|-
| type1-4 || Type of the respective value. Possible values: Number, String, Array, Class. Each type/value pair gets an example.|| <pre>String</pre>
|-
| description || What does the attribute do? || <pre>This string displays text.</pre>
|-
| mandatory || If defined a yellow warning box will be displayed at the attributes position. Mandatory attributes throw an error in RPT when omitted. || <pre>1</pre>
|-
| colspan="4" |
|-
| '''abc end''' || no arguments || Marks the end of the config reference. ||
|-
| colspan="4" |
|-
| '''examples''' || no arguments || Inserts the header and a disclaimer at this position. ||
|}


== Usage ==
You can inspect the generator code for this page by clicking EDIT on the top right. The code starts below this line:<br>
<pre>
------------------------------------------------------------------------------------------------------------------------
</pre>


{{CT|start
{{CT|intro
|macro = CT_TREE
|macro = CT_TREE
|value = 1234
|value = 1234
|description = Informative text about this control type.
|description = Informative text about this control type.
|gallery = File:CT COMBO.jpg {{!}}Example image 1.
File:BIS fnc 3DENDiagFonts example.jpg{{!}}Image 2.
|commands = * command group CT
|commands = * command group CT
|events =  
|events =  
Line 57: Line 125:
* event2
* event2
}}
}}
{{CT|abc start}}
=== T ===
=== T ===
{{CT|attribute
{{CT|attribute
| name=testArray
| name=testArray
| value={1,0,0,1}
| value1={1,0,0,1}
| type=Array
| type1=Array
| description=This is a test array to test arrays. {{Important|Notice Me!}}
| description=This is a test array to test arrays. {{Feature|important|Notice Me!}}
}}
}}
{{CT|attribute
{{CT|attribute
| name=testAttribute
| name=testAttribute
| value="test"
| value1="test"
| type=String
| type1=String
| description=This is a test attribute to test things.
| mandatory=1
| mandatory=1
}}
}}
Line 74: Line 143:
{{CT|attribute
{{CT|attribute
| name=testClass
| name=testClass
| value=SubClass
| type1=Class
| type=Class
| value1=class ComboScrollBar
{
color[] = {1,1,1,1};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
shadow = 0;
scrollSpeed = 0.06;
width = 0;
height = 0;
autoScrollEnabled = 0;
autoScrollSpeed = -1;
autoScrollDelay = 5;
autoScrollRewind = 0;
};
| type2=Number
| value2=9876
| description=This is a test class to test classes.
| description=This is a test class to test classes.
}}
}}
 
{{CT|abc end}}
{{CT|stop}}


{{CT|examples}}
{{CT|examples}}
== RscExample ==
=== RscExample ===
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
class RscExample
class RscExample
{
{
    deletable = 0;
deletable = 0;
    fade = 0;
fade = 0;
    access = 0;
access = 0;
    type = CT_TYPEMACRO;
type = CT_TYPEMACRO;
    style = SL_HORZ;
style = SL_HORZ;
    color[] = {1,1,1,0.8};
color[] = {1,1,1,0.8};
    colorActive[] = {1,1,1,1};
colorActive[] = {1,1,1,1};
    shadow = 0;
shadow = 0;
    x = 0;
x = 0;
    y = 0;
y = 0;
    w = 0.3;
w = 0.3;
    h = 0.025;
h = 0.025;
};
};
</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 01:26, 2 February 2024

Usage

{{CT|mode|arg1=value|arg2=value2|...}}
Mode Arguments Description Example
intro macro Control type macro from BIS_fnc_exportGUIBaseClasses.
CT_STATIC
value Value of the macro.
0
description Some text to give info about the CT.
This is CT_MAP. It is a map.
gallery List of images to display in a gallery below the description.
File:Image.jpg{{!}}This is an image of the control.
commands List of commands associated with the control.
* [[:Category:Command_Group:_GUI_Control_-_Controls_Table|Commands: Controls Table]]
events List of UIEH that work on the control.
* [[User_Interface_Event_Handlers|Events: All]]
abc start no arguments Marks the beggining of the config reference part with the use of the attribute mode.
attribute name Name of the attribute.
text
value1-4 Possible values of the config entry. Has to match the type given by type1-4.
"This is a string"
type1-4 Type of the respective value. Possible values: Number, String, Array, Class. Each type/value pair gets an example.
String
description What does the attribute do?
This string displays text.
mandatory If defined a yellow warning box will be displayed at the attributes position. Mandatory attributes throw an error in RPT when omitted.
1
abc end no arguments Marks the end of the config reference.
examples no arguments Inserts the header and a disclaimer at this position.

You can inspect the generator code for this page by clicking EDIT on the top right. The code starts below this line:



Introduction

Informative text about this control type.

Related commands & functions

Related User Interface Eventhandlers

Alphabetical Order

TokenNames common to most controls, such as x, y, w, h, text, idc... can be found here.
Not all of the listed attributes might have an effect nor might the list be complete. All attributes were gathered with this config crawler.
#define CT_TREE 1234


T

testArray

Type
Array
Description
This is a test array to test arrays.
Notice Me!
testArray[] = {1,0,0,1};


testAttribute

This attribute is mandatory for the control to work!
Type
String
Description
n/a
testAttribute = "test";


testClass

Type
Class, Number
Description
This is a test class to test classes.

Class example:

class ComboScrollBar
{
	color[] = {1,1,1,1};
	colorActive[] = {1,1,1,1};
	colorDisabled[] = {1,1,1,0.3};
	thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
	arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
	arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
	border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
	shadow = 0;
	scrollSpeed = 0.06;
	width = 0;
	height = 0;
	autoScrollEnabled = 0;
	autoScrollSpeed = -1;
	autoScrollDelay = 5;
	autoScrollRewind = 0;
};

Number example:

testClass = 9876;



Default Classes

Arma 3
AddOns: Classes need to be initialised first with class SomeClass;

Missions: Since Arma 3 v2.02 one can use import SomeClass; to initialise a class (see the import keyword).

In older versions, use "Default" call BIS_fnc_exportGUIBaseClasses; and paste the result into the description.ext.

RscExample

class RscExample
{
	deletable = 0;
	fade = 0;
	access = 0;
	type = CT_TYPEMACRO;
	style = SL_HORZ;
	color[] = {1,1,1,0.8};
	colorActive[] = {1,1,1,1};
	shadow = 0;
	x = 0;
	y = 0;
	w = 0.3;
	h = 0.025;
};