DialogControls-ControlsGroup

From Bohemia Interactive Community
Revision as of 18:28, 29 January 2012 by Mikero (talk | contribs) (Created page with "==CT_CONTROLS_GROUP=15== The x and y coords of the child control are relative to the parent class, the height and width are not <br>If the height and / or width of the child cont...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

CT_CONTROLS_GROUP=15

The x and y coords of the child control are relative to the parent class, the height and width are not
If the height and / or width of the child control are greater than the parent control then scrollbars will be seen
This allows the creation of scrollable active text controls etc
The entire child class needs to be defined in the parents subclass class Controls {};

Properties
Name Type Remark
VScrollbar class
HScrollbar class
ScrollBar class
Controls class


classes

VScrollbar

Properties
Name Type Remark
width float
autoScrollSpeed' integer typically -1
autoScrollDelay integer in seconds
autoScrollRewind' boolean
shadow integer


HScrollbar

Properties
Name Type Remark
height float
shadow integer


Scrollbar

Properties
Name Type Remark
color color array
colorActive color array
colorDisabled color array
thumb string path to texture or "#(argb,8,8,3)color(1,1,1,1)";
arrowEmpty/Full string path to texture or "#(argb,8,8,3)color(1,1,1,1)";
border string path to texture or "#(argb,8,8,3)color(1,1,1,1)";


Controls

additional user added controls of any type can be added in a derived class. the base is empty because the engine looks for it regardless.

  • Example:

In this example, the child control My_RscStructuredText is higher (h value) than the parent control, so a vertical scrollbar is automatically created, which allows scrolling the entire length of the structured text display class RscControlsGroup { type = CT_CONTROLS_GROUP; idc = -1; style = ST_MULTI; x = 0; y = 0; w = 1; h = 1; shadow=0; class VScrollbar { width = 0.021; autoScrollSpeed = -1; autoScrollDelay = 5; autoScrollRewind = 0; shadow=0; }; class HScrollbar { height = 0.028; shadow=0; }; class ScrollBar { color[] = {1,1,1,0.6}; colorActive[] = {1,1,1,1}; colorDisabled[] = {1,1,1,0.3}; thumb = "#(argb,8,8,3)color(1,1,1,1)"; arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; border = "#(argb,8,8,3)color(1,1,1,1)"; }; class Controls{};// an empty class telling the engine, no custom, additional controls }; class dialog { class controls { class MyControls:RscControlsGroup { x = (safeZoneX + (SafezoneW * 0.0363)); // scalability code which resizes correctly no matter what gui size or screen dimensions is used y = (safeZoneY + (SafezoneH * 0.132)); // scalability code which resizes correctly no matter what gui size or screen dimensions is used w = (SafezoneW * 0.31); // scalability code which resizes correctly no matter what gui size or screen dimensions is used h = (SafezoneH * 0.752); // scalability code which resizes correctly no matter what gui size or screen dimensions is used class Controls { ...class whatever additional controls you want }; }; }; };