DialogControls-CheckBoxes: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(more info)
Line 1: Line 1:
'''TokenNames common to most controls, such as x,y,w,h,text,idc... are not listed here.'''
'''TokenNames common to most controls, such as x,y,w,h,text,idc... are not listed here.'''
=== Checkboxes ===
=== Checkboxes ===
{{Informative | CT_CHECKBOXES fully inherit from [[CT_TOOLBOX]], the difference is that with CheckBoxes one can make multiple selections or have no item selected}}
The Checkboxes (also known as textual checkboxes) are a set of state change buttons, ordered by columns and rows. Unlike the Toolbox Control more than one button can become active. Maximum number of checkboxes available for a single control is 32. It is possible to create more than 32 checkboxes, however over-the-limit checkboxes will just become duplicates.
The Checkboxes (also known as textual checkboxes) are a set of state change buttons, ordered by columns and rows. Unlike the Toolbox Control more than one button can become active. Maximum number of checkboxes available for a single control is 32. It is possible to create more than 32 checkboxes, however over-the-limit checkboxes will just become duplicates.


Line 45: Line 46:
| string array
| string array
| checkboxes texts to display when checkboxes are checked
| checkboxes texts to display when checkboxes are checked
|-
| '''values'''
| float array
| Numerical values associated with items. Can be retrieved or set with [[lbValue]] and [[lbSetValue]]
|-
| '''tooltips'''
| string array
| Tooltips for each checkbox
|-
|-
|}<br clear="all">
|}<br clear="all">
Line 54: Line 63:
class MyCheckBoxes
class MyCheckBoxes
{
{
onLoad = "_this select 0 ctrlSetChecked [1, true]; _this select 0 ctrlSetChecked [7, true]; _this select 0 ctrlSetChecked [15, true];";
idc = -1;
idc = -1;
type = 7; // CT_CHECKBOXES
type = 7; // CT_CHECKBOXES
Line 77: Line 88:
columns = 8;
columns = 8;
rows = 4;
rows = 4;
strings[] = {"0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"};
strings[] = {"0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"};
checked_strings[] = {"[0]","[1]","[2]","[3]","[4]","[5]","[6]","[7]","[8]","[9]","[10]","[11]","[12]","[13]","[14]","[15]","[16]","[17]","[18]","[19]","[20]","[21]","[22]","[23]","[24]","[25]","[26]","[27]","[28]","[29]","[30]","[31]"};
checked_strings[] = {"[0]","[1]","[2]","[3]","[4]","[5]","[6]","[7]","[8]","[9]","[10]","[11]","[12]","[13]","[14]","[15]","[16]","[17]","[18]","[19]","[20]","[21]","[22]","[23]","[24]","[25]","[26]","[27]","[28]","[29]","[30]","[31]"};
values[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};
tooltips[] = {"tip0","tip1","tip2","tip3","tip4","tip5","tip6","tip7","tip8","tip9","tip10","tip11","tip12","tip13","tip14","tip15","tip16","tip17","tip18","tip19","tip20","tip21","tip22","tip23","tip24","tip25","tip26","tip27","tip28","tip29","tip30","tip31"};
};
};
</syntaxhighlight>
</syntaxhighlight>
Line 88: Line 102:


'''Script commands for use with CheckBoxes:'''  
'''Script commands for use with CheckBoxes:'''  
* [[ctrlChecked]]
* [[ctrlChecked]] - returns check status of given checkbox
* [[ctrlSetChecked]]
* [[ctrlSetChecked]] - checks given checkbox
* [[lbCurSel]] - returns index of focused checkbox
* [[lbValue]] - returns value currently set on given checkbox
* [[lbSetValue]] - sets value on given checkbox
* [[lbSetText]] - sets string on given checkbox
* [[lbClear]] - clears all strings from checkbox table
* [[lbAdd]] - adds a string to cleared checkbox table
   
   
[[Category: Dialogs]]
[[Category: Dialogs]]

Revision as of 18:24, 21 May 2019

TokenNames common to most controls, such as x,y,w,h,text,idc... are not listed here.

Checkboxes

CT_CHECKBOXES fully inherit from CT_TOOLBOX, the difference is that with CheckBoxes one can make multiple selections or have no item selected

The Checkboxes (also known as textual checkboxes) are a set of state change buttons, ordered by columns and rows. Unlike the Toolbox Control more than one button can become active. Maximum number of checkboxes available for a single control is 32. It is possible to create more than 32 checkboxes, however over-the-limit checkboxes will just become duplicates.

Properties
Name Type Remark
colorText color array color of the unchecked checkbox text
colorTextSelect color array color of the checked checkbox text
font float the font to use. See the list of available fonts for possible values
sizeEx float the font size of text (0 to 1)
colorSelectedBg color array color of the background when checkbox is focus selected (doesn't matter if checked or not)
rows integer amount of rows to arrange checkboxes into
columns integer amount of columns to arrange checkboxes into
strings string array checkboxes texts to display
checked_strings string array checkboxes texts to display when checkboxes are checked
values float array Numerical values associated with items. Can be retrieved or set with lbValue and lbSetValue
tooltips string array Tooltips for each checkbox


A Checkboxes Control from example code with a hint dialog from UI event handler


Example:

class MyCheckBoxes
{
	onLoad = "_this select 0 ctrlSetChecked [1, true]; _this select 0 ctrlSetChecked [7, true]; _this select 0 ctrlSetChecked [15, true];";

	idc = -1;
	type = 7; // CT_CHECKBOXES
	style = 2; // ST_CENTER

	x = 0.25;
	y = 0.25;
	w = 0.5;
	h = 0.5;

	colorSelectedBg[] = {0, 0, 0, 0.2}; // selected item bg color

	colorText[] = {0, 1, 0, 1}; // checkbox unchecked color
	colorTextSelect[] = {1, 0, 0, 1}; // checkbox checked color

	colorBackground[] = {0, 0, 1, 0.3}; // control generic BG color
	
	font = "RobotoCondensed";
	sizeEx = 0.04;
	
	onCheckBoxesSelChanged = "hint str _this";
	
	columns = 8;
	rows = 4;

	strings[] = {"0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"};
	checked_strings[] = {"[0]","[1]","[2]","[3]","[4]","[5]","[6]","[7]","[8]","[9]","[10]","[11]","[12]","[13]","[14]","[15]","[16]","[17]","[18]","[19]","[20]","[21]","[22]","[23]","[24]","[25]","[26]","[27]","[28]","[29]","[30]","[31]"};
	values[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};
	tooltips[] = {"tip0","tip1","tip2","tip3","tip4","tip5","tip6","tip7","tip8","tip9","tip10","tip11","tip12","tip13","tip14","tip15","tip16","tip17","tip18","tip19","tip20","tip21","tip22","tip23","tip24","tip25","tip26","tip27","tip28","tip29","tip30","tip31"};
};

with uiNamespace do { ctrl = findDisplay 46 createDisplay "RscDisplayEmpty" ctrlCreate ["MyCheckBoxes", -1]; };

Script commands for use with CheckBoxes:

  • ctrlChecked - returns check status of given checkbox
  • ctrlSetChecked - checks given checkbox
  • lbCurSel - returns index of focused checkbox
  • lbValue - returns value currently set on given checkbox
  • lbSetValue - sets value on given checkbox
  • lbSetText - sets string on given checkbox
  • lbClear - clears all strings from checkbox table
  • lbAdd - adds a string to cleared checkbox table