BIS fnc initListNBoxSorting: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "[^ adhHkbgmnr(]it is " to "$1 it is ") |
Lou Montana (talk | contribs) m (Text replacement - "[[Image:" to "[[File:") |
||
(18 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{RV|type=function | ||
| arma3 | |game1= arma3 | ||
|version1= 1.56 | |||
| | |gr1= GUI | ||
| | |descr= [[File:A3_BIS_fnc_initListNBoxSorting_example.jpg|thumb|right|A GUI using [[BIS_fnc_initListNBoxSorting]]]] | ||
Automatically creates buttons and sets them up so they can be used to sort a [[CT_LISTNBOX]]. The buttons will automatically be resized to fit the column width of '''ctrlFilter'''. | |||
By default, the '''ctrlContent''' columns are sorted by [[lnbText]] (using [[lnbSort]]). If a specific column should be sorted by [[lnbValue]] (using [[lnbSortByValue]]) instead, then something needs to be set in the data of the corresponding '''ctrlFilter''' column (literally ''something'', the condition in the source code is <sqf inline>(_ctrlFilter lnbData [0, _i]) != ""</sqf>). | |||
Regarding '''ctrlFilter''': | |||
* The position and size of this control define where the buttons for sorting are created, thus it should be placed above '''ctrlContent''' and its columns should have the same size as the columns of '''ctrlContent'''. | |||
* The text set in the columns is displayed as text for the buttons (the buttons are actually transparent). | |||
* The control can also be part of a [[CT_CONTROLS_GROUP]]. If that is the case, the buttons will be created as children of that group. | |||
* To keep a uniform style between vanilla and custom controls it is recommended to create a background with [[CT_STATIC]] behind '''ctrlFilter''' with <syntaxhighlight lang="cpp" inline>colorBackground[] = { 0, 0, 0, 1 };</syntaxhighlight>. | |||
See {{Link|CT_LISTNBOX#BIS_fnc_initListNBoxSorting Example}} for a full example including a config. | |||
| [ | |s1= [ctrlFilter, ctrlContent, columnIndexes, idc] call [[BIS_fnc_initListNBoxSorting]] | ||
|p1= | |p1= ctrlFilter: [[Control]] - dummy [[CT_LISTNBOX]] control used for setting up the filter. | ||
|p2= | |p2= ctrlContent: [[Control]] - the [[CT_LISTNBOX]] which actually contains the sortable content. | ||
|p3= columnIndexes: [[Array]] | |p3= columnIndexes: [[Array]] of [[Number]]s - (Optional, default: []) these are the column indexes of ''ctrlContent'' which should be sortable. An empty array means all columns are sortable. | ||
|p4= idc: [[Number]] - (Optional, default 200) | |p4= idc: [[Number]] - (Optional, default: 200) used to assign IDCs to the buttons created by this function. The first button has '''idc''', the second button has '''idc''' + 1 and so on. | ||
| [[Boolean]] - | |r1= [[Boolean]] - [[true]] on success, otherwise [[false]] | ||
|x1= < | |x1= <sqf>[_lnbFilter, _lnbContent, [0,1,2,3]] call BIS_fnc_initListNBoxSorting;</sqf> | ||
| [[BIS_fnc_initSliderValue]] | |seealso= [[BIS_fnc_initSliderValue]] | ||
}} | }} | ||
Latest revision as of 23:10, 20 November 2023
Description
- Description:
-
Automatically creates buttons and sets them up so they can be used to sort a CT_LISTNBOX. The buttons will automatically be resized to fit the column width of ctrlFilter.
By default, the ctrlContent columns are sorted by lnbText (using lnbSort). If a specific column should be sorted by lnbValue (using lnbSortByValue) instead, then something needs to be set in the data of the corresponding ctrlFilter column (literally something, the condition in the source code is (_ctrlFilter lnbData [0, _i]) != "").
Regarding ctrlFilter:
- The position and size of this control define where the buttons for sorting are created, thus it should be placed above ctrlContent and its columns should have the same size as the columns of ctrlContent.
- The text set in the columns is displayed as text for the buttons (the buttons are actually transparent).
- The control can also be part of a CT_CONTROLS_GROUP. If that is the case, the buttons will be created as children of that group.
- To keep a uniform style between vanilla and custom controls it is recommended to create a background with CT_STATIC behind ctrlFilter with
colorBackground[] = { 0, 0, 0, 1 };
.
- Execution:
- call
- Groups:
- GUI
Syntax
- Syntax:
- [ctrlFilter, ctrlContent, columnIndexes, idc] call BIS_fnc_initListNBoxSorting
- Parameters:
- ctrlFilter: Control - dummy CT_LISTNBOX control used for setting up the filter.
- ctrlContent: Control - the CT_LISTNBOX which actually contains the sortable content.
- columnIndexes: Array of Numbers - (Optional, default: []) these are the column indexes of ctrlContent which should be sortable. An empty array means all columns are sortable.
- idc: Number - (Optional, default: 200) used to assign IDCs to the buttons created by this function. The first button has idc, the second button has idc + 1 and so on.
- Return Value:
- Boolean - true on success, otherwise false
Examples
- Example 1:
Additional Information
- See also:
- BIS_fnc_initSliderValue
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note