GuiGridListSetSelectionMode

From Multi Theft Auto: Wiki

This function sets the selection mode of a gui gridlist. For example, the MTA server browser selects a whole row, while the Controls dialog selects a single cell. To select multiple items you must be holding down 'ctrl'.

Syntax

bool guiGridListSetSelectionMode ( gui-Element gridlist, int mode )

OOP Syntax Help! I don't understand this!

Method: GuiGridList:setSelectionMode(...)
Variable: .selectionMode

Required Arguments

  • gridlist: The gridlist in which you wish to set the selection mode.
  • mode: The mode of the selection. Can be the following values:
    • 0: Single row selection
    • 1: Multiple row selection
    • 2: Single cell selection
    • 3: Multiple cell selection
    • 4: Nominated(First) single column selection
    • 5: Nominated(First) multiple column selection
    • 6: Single column selection
    • 7: Multiple column selection
    • 8: Nominated(First) single row selection
    • 9: Nominated(First) multiple row selection

Returns

Returns true if the selection mode was successfully set, false otherwise.

Example

This example creates a grid list with 3 columns and 3 rows, each with text describing its position in the grid list. Also, the cursor is turned on. The player can use the command 'setmode #' to change how the grid list can be selected.

function clientsideResourceStart ()
	--Create a gridlist
    	myGridList = guiCreateGridList ( 0.35, 0.35, 0.4, 0.1, true ) 
    	--Create a column for myGridList to add rows into
	columnA = guiGridListAddColumn ( myGridList, "columnA Title", 0.3 )
	columnB = guiGridListAddColumn ( myGridList, "columnA Title", 0.3 )
	columnC = guiGridListAddColumn ( myGridList, "columnA Title", 0.3 ) 
	--Create a row for columnA
	rowA = guiGridListAddRow ( myGridList )
	rowB = guiGridListAddRow ( myGridList )
	rowC = guiGridListAddRow ( myGridList )
        --Set the text of columnA, rowA to "Hello World!"
	guiGridListSetItemText ( myGridList, rowA, columnA, "rowA ColumnA", false, false )
	guiGridListSetItemText ( myGridList, rowB, columnA, "rowB ColumnA", false, false )
	guiGridListSetItemText ( myGridList, rowC, columnA, "rowC ColumnA", false, false )
	guiGridListSetItemText ( myGridList, rowA, columnB, "rowA ColumnB", false, false )
	guiGridListSetItemText ( myGridList, rowB, columnB, "rowB ColumnB", false, false )
	guiGridListSetItemText ( myGridList, rowC, columnB, "rowC ColumnB", false, false )
	guiGridListSetItemText ( myGridList, rowA, columnC, "rowA ColumnC", false, false )
	guiGridListSetItemText ( myGridList, rowB, columnC, "rowB ColumnC", false, false )
	guiGridListSetItemText ( myGridList, rowC, columnC, "rowC ColumnC", false, false )
	showCursor ( true )
end
addEventHandler ( "onClientResourceStart", resourceRoot, clientsideResourceStart )  

--The player types 'setmode' to activate this function. Additionaly, the player needs
--to type a modeNumber. Ex: 'setmode 5', 5 would be stored as modeNumber
function setSelectionMode ( commandName, modeNumber )
	--The player enters the command "setmode #". The modeNumber entry will be a string
	--argument. Ex: "9" "nine". Attempt to change modeNumber into a number argument.
	modeNumber = tonumber(modeNumber)
	--If the selection mode was successfully changed, output a message saying which
	--mode it changed to. Otherwise, list reasons why it did not work.
        if ( guiGridListSetSelectionMode ( myGridList, modeNumber ) ) then
		outputChatBox ( "Changed grid list selection mode to: "..modeNumber )
	else                                                                        
		outputChatBox ( "modeNumber must be a number and be between 0 and 9" )
	end
end
addCommandHandler ( "setmode", setSelectionMode )

See Also

General functions

Browsers

Buttons

Checkboxes

Comboboxes

Edit Boxes

Gridlists

Memos

Progressbars

Radio Buttons

Scrollbars

Scrollpanes

Static Images

Tab Panels

Tabs

Text Labels

Windows

Input

GUI