DialogControls-Tree: Difference between revisions
Jump to navigation
Jump to search
m (added warning about search speed) |
m (Updated example with search) |
||
Line 112: | Line 112: | ||
=== Example config === | === Example config === | ||
[[File:CT TREE.png|thumb|A CT_TREE in A3 1.96.]] | [[File:CT TREE.png|thumb|A CT_TREE in A3 1.96.]] | ||
<syntaxhighlight lang="cpp">class | <syntaxhighlight lang="cpp">class Dialog | ||
{ | { | ||
/* Common properties */ | idd = -1; | ||
class Controls | |||
{ | |||
class _CT_EDIT | |||
{ | |||
idc = 100; | |||
type = 2; | |||
style = "512"; | |||
x = GUI_GRID_CENTER_X + 10 * GUI_GRID_CENTER_W; | |||
y = GUI_GRID_CENTER_Y + 0 * GUI_GRID_CENTER_H; | |||
w = 20 * GUI_GRID_CENTER_W; | |||
h = 2 * GUI_GRID_CENTER_H; | |||
font = "PuristaMedium"; | |||
sizeEx = 0.04; | |||
autocomplete = ""; | |||
canModify = true; | |||
maxChars = 100; | |||
forceDrawCaret = false; | |||
colorSelection[] = {0,1,0,1}; | |||
colorText[] = {1,1,1,1}; | |||
colorDisabled[] = {1,0,0,1}; | |||
colorBackground[] = {0,0,0,0.8}; | |||
text = ""; | |||
tooltip = "Type to search"; | |||
}; | |||
class _CT_TREE | |||
{ | |||
/* Common properties */ | |||
idc = 200; | |||
/* Add some entries */ | |||
onLoad = "params ['_tv'];\ | |||
_classes = 'true' configClasses (configFile >> 'CfgVehicles');\ | |||
for '_i' from 0 to 10 do\ | |||
{\ | |||
_tv tvAdd [[], configName selectRandom _classes];\ | |||
for '_j' from 0 to 10 do\ | |||
{\ | |||
_tv tvAdd [[_i], configName selectRandom _classes];\ | |||
for '_k' from 0 to 10 do\ | |||
{\ | |||
_tv tvAdd [[_i, _j], configName selectRandom _classes];\ | |||
};\ | |||
};\ | |||
};"; | |||
moving = 0; | |||
type = CT_TREE; | |||
style = ST_LEFT; | |||
x = GUI_GRID_CENTER_X + 10 * GUI_GRID_CENTER_W; | |||
y = GUI_GRID_CENTER_Y + 3 * GUI_GRID_CENTER_H; | |||
w = 20 * GUI_GRID_CENTER_W; | |||
h = 23 * GUI_GRID_CENTER_H; | |||
sizeEx = GUI_TEXT_SIZE_MEDIUM; | |||
font = "RobotoCondensed"; | |||
colorText[] = {1,1,1,1}; | |||
colorBackground[] = {0,0,0,0.8}; | |||
colorDisabled[] = {1,1,1,0.25}; | |||
shadow = 0; | |||
access = 0; | |||
/* CT_TREE specific properties */ | |||
idcSearch = 100; | |||
colorSelect[] = {1,1,1,0.7}; | |||
colorSelectText[] = {0,0,0,1}; | |||
colorBorder[] = {0,0,0,0}; | |||
colorSearch[] = | |||
{ | |||
"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.13])", | |||
"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.54])", | |||
"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.21])", | |||
"(profilenamespace getvariable ['GUI_BCG_RGB_A',0.8])" | |||
}; | |||
colorMarked[] = {0.2,0.3,0.7,1}; | |||
colorMarkedText[] = {0,0,0,1}; | |||
colorMarkedSelected[] = {0,0.5,0.5,1}; | |||
multiselectEnabled = 0; | |||
colorPicture[] = {1,1,1,1}; | |||
colorPictureSelected[] = {0,0,0,1}; | |||
colorPictureDisabled[] = {1,1,1,0.25}; | |||
colorPictureRight[] = {1,1,1,1}; | |||
colorPictureRightSelected[] = {0,0,0,1}; | |||
colorPictureRightDisabled[] = {1,1,1,0.25}; | |||
colorArrow[] = {1,1,1,1}; | |||
maxHistoryDelay = 1; | |||
colorSelectBackground[] = {0,0,0,0.5}; | |||
colorLines[] = {0,0,0,0}; | |||
class ScrollBar: ScrollBar | |||
{ | |||
}; | |||
expandedTexture = "A3\ui_f\data\gui\rsccommon\rsctree\expandedTexture_ca.paa"; | |||
hiddenTexture = "A3\ui_f\data\gui\rsccommon\rsctree\hiddenTexture_ca.paa"; | |||
rowHeight = 0.0439091; | |||
borderSize = 0; | |||
expandOnDoubleclick = 1; | |||
/* CT_TREE user interface eventhandlers */ | |||
onTreeSelChanged = "systemChat str ['onTreeSelChanged',_this]; false"; | |||
onTreeLButtonDown = "systemChat str ['onTreeLButtonDown',_this]; false"; | |||
onTreeDblClick = "systemChat str ['onTreeDblClick',_this]; false"; | |||
onTreeExpanded = "systemChat str ['onTreeExpanded',_this]; false"; | |||
onTreeCollapsed = "systemChat str ['onTreeCollapsed',_this]; false"; | |||
onTreeMouseMove = "systemChat str ['onTreeMouseMove',_this]; false"; | |||
onTreeMouseHold = "systemChat str ['onTreeMouseHold',_this]; false"; | |||
onTreeMouseExit = "systemChat str ['onTreeMouseExit',_this]; false"; | |||
}; | |||
}; | }; | ||
};</syntaxhighlight> | };</syntaxhighlight> | ||
Revision as of 02:09, 30 March 2020
CT_TREE Type=12
The CT_TREE, also referred to as tree view (tv), is a control with similar functionality as the CT_LISTBOX. In addition to that it supports multiple levels of entries as well as a search functionality.
Properties
Properties | ||
---|---|---|
Name | Type | Remark |
borderSize | Boolean | Shows a border around the control |
colorBorder | Color | With borderSize = 1 determines the color of that border |
colorArrow | Color | Has no effect but without it an error is thrown |
colorLines | Color | These lines connect the different entries for better clarity |
colorMarked | Color | Background color of all subsequently selected entries when multiselectEnabled = 1; |
colorMarkedSelected | Color | Background color of the first selected entry with multiselectEnabled = 1; |
colorMarkedText | Color | Text color of secondarly selected entries with multiselectEnabled = 1; |
colorPicture | Color | Left picture color of an unselected entry |
colorPictureDisabled | Color | Left picture color when control is disabled |
colorPictureRight | Color | Right picture color of an unselected entry |
colorPictureRightDisabled | Color | Right picture color when control is disabled |
colorPictureRightSelected | Color | Right picture color of an selected entry |
colorPictureSelected | Color | Left picture color of an selected entry |
colorSearch | Color | Color of then entries that fit the search of the idcSearch listbox |
colorSelect | Color | Entry's background when multiselectEnabled = 0; |
colorSelectBackground | Color | Not used? |
colorSelectText | Color | Text color of a selected entry with multiselectEnabled = 0; |
expandedTexture | Color | "Arrow" texture on the left side, if non is given ("") a minus with box will be displayed |
hiddenTexture | String | "Arrow" texture on the left side, if non is given ("") a plus with box will be displayed |
expandOnDoubleclick | Boolean | Enable/disable expanding and collapsing with double-click |
idcSearch | Integer | idc of a CT_EDIT control which functions as the search input |
maxHistoryDelay | Number | Time since last keyboard type search to reset it |
multiselectEnabled | Boolean | Enable/disable multi selection with CTRL or SHIFT to select all entries up to the first selected entry |
rowHeight | Boolean? | Not used? |
Example config
class Dialog
{
idd = -1;
class Controls
{
class _CT_EDIT
{
idc = 100;
type = 2;
style = "512";
x = GUI_GRID_CENTER_X + 10 * GUI_GRID_CENTER_W;
y = GUI_GRID_CENTER_Y + 0 * GUI_GRID_CENTER_H;
w = 20 * GUI_GRID_CENTER_W;
h = 2 * GUI_GRID_CENTER_H;
font = "PuristaMedium";
sizeEx = 0.04;
autocomplete = "";
canModify = true;
maxChars = 100;
forceDrawCaret = false;
colorSelection[] = {0,1,0,1};
colorText[] = {1,1,1,1};
colorDisabled[] = {1,0,0,1};
colorBackground[] = {0,0,0,0.8};
text = "";
tooltip = "Type to search";
};
class _CT_TREE
{
/* Common properties */
idc = 200;
/* Add some entries */
onLoad = "params ['_tv'];\
_classes = 'true' configClasses (configFile >> 'CfgVehicles');\
for '_i' from 0 to 10 do\
{\
_tv tvAdd [[], configName selectRandom _classes];\
for '_j' from 0 to 10 do\
{\
_tv tvAdd [[_i], configName selectRandom _classes];\
for '_k' from 0 to 10 do\
{\
_tv tvAdd [[_i, _j], configName selectRandom _classes];\
};\
};\
};";
moving = 0;
type = CT_TREE;
style = ST_LEFT;
x = GUI_GRID_CENTER_X + 10 * GUI_GRID_CENTER_W;
y = GUI_GRID_CENTER_Y + 3 * GUI_GRID_CENTER_H;
w = 20 * GUI_GRID_CENTER_W;
h = 23 * GUI_GRID_CENTER_H;
sizeEx = GUI_TEXT_SIZE_MEDIUM;
font = "RobotoCondensed";
colorText[] = {1,1,1,1};
colorBackground[] = {0,0,0,0.8};
colorDisabled[] = {1,1,1,0.25};
shadow = 0;
access = 0;
/* CT_TREE specific properties */
idcSearch = 100;
colorSelect[] = {1,1,1,0.7};
colorSelectText[] = {0,0,0,1};
colorBorder[] = {0,0,0,0};
colorSearch[] =
{
"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.13])",
"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.54])",
"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.21])",
"(profilenamespace getvariable ['GUI_BCG_RGB_A',0.8])"
};
colorMarked[] = {0.2,0.3,0.7,1};
colorMarkedText[] = {0,0,0,1};
colorMarkedSelected[] = {0,0.5,0.5,1};
multiselectEnabled = 0;
colorPicture[] = {1,1,1,1};
colorPictureSelected[] = {0,0,0,1};
colorPictureDisabled[] = {1,1,1,0.25};
colorPictureRight[] = {1,1,1,1};
colorPictureRightSelected[] = {0,0,0,1};
colorPictureRightDisabled[] = {1,1,1,0.25};
colorArrow[] = {1,1,1,1};
maxHistoryDelay = 1;
colorSelectBackground[] = {0,0,0,0.5};
colorLines[] = {0,0,0,0};
class ScrollBar: ScrollBar
{
};
expandedTexture = "A3\ui_f\data\gui\rsccommon\rsctree\expandedTexture_ca.paa";
hiddenTexture = "A3\ui_f\data\gui\rsccommon\rsctree\hiddenTexture_ca.paa";
rowHeight = 0.0439091;
borderSize = 0;
expandOnDoubleclick = 1;
/* CT_TREE user interface eventhandlers */
onTreeSelChanged = "systemChat str ['onTreeSelChanged',_this]; false";
onTreeLButtonDown = "systemChat str ['onTreeLButtonDown',_this]; false";
onTreeDblClick = "systemChat str ['onTreeDblClick',_this]; false";
onTreeExpanded = "systemChat str ['onTreeExpanded',_this]; false";
onTreeCollapsed = "systemChat str ['onTreeCollapsed',_this]; false";
onTreeMouseMove = "systemChat str ['onTreeMouseMove',_this]; false";
onTreeMouseHold = "systemChat str ['onTreeMouseHold',_this]; false";
onTreeMouseExit = "systemChat str ['onTreeMouseExit',_this]; false";
};
};
};
Commands
- tvAdd
- tvCollapse
- tvCollapseAll
- tvCount
- tvCurSel
- tvData
- tvDelete
- tvExpand
- tvExpandAll
- tvPicture
- tvSetColor
- tvSetCurSel
- tvSetData
- tvSetPicture
- tvSetPictureColor
- tvSetPictureColorDisabled
- tvSetPictureColorSelected
- tvSetPictureRight
- tvSetPictureRightColor
- tvSetPictureRightColorDisabled
- tvSetPictureRightColorSelected
- tvSetText
- tvSetTooltip
- tvSetValue
- tvSort
- tvSortByValue
- tvText
- tvTooltip
- tvValue