GuiGridListGetItemText: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
(OOP syntax)
(11 intermediate revisions by 7 users not shown)
Line 5: Line 5:
==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
string guiGridListGetItemText ( element theElement, int rowIndex, int columnIndex )
string guiGridListGetItemText ( element gridList, int rowIndex, int columnIndex )
</syntaxhighlight>  
</syntaxhighlight>
{{OOP||[[Element/GUI/Gridlist|GuiGridList]]:getItemText}}


===Required Arguments===  
===Required Arguments===  
*'''theElement:''' the gridlist containing the item you're interested in
*'''gridList:''' the gridlist containing the item you're interested in
*'''rowIndex:''' row id of the item
*'''rowIndex:''' row id of the item
*'''columnIndex:''' column id of the item
*'''columnIndex:''' column id of the item
Line 17: Line 18:


==Example==  
==Example==  
This example creates a player list on resource start, clicking on it will output the selected player name to the chatbox.
'''Example 1''': This example creates a gridlist with entries "Hello" and "World!" and chooses randomly which of these two grid list items it will retrieve.
<syntaxhighlight lang="lua">function clientsideResourceStart ()
        --Create a gridlist
    local myGridList = guiCreateGridList ( 0.80, 0.10, 0.15, 0.60, true )
    --Create columnA on the gridlist
local columnA = guiGridListAddColumn ( myGridList, "columnA Title", 0.85 )
    --Add 2 rows to the grid list
rowA = guiGridListAddRow ( myGridList )
    rowB = guiGridListAddRow ( myGridList )
        --Create the text "Hello" for rowA, columnA
guiGridListSetItemText ( myGridList, rowA, columnA, "Hello", false, false ) 
    --Create the text "World!" for rowB, columnA
guiGridListSetItemText ( myGridList, rowB, columnA, "World!", false, false )
    --Choose randomly which grid list item text to retrieve
        getRandomItem = math.random ( 1, 2 )     
if getRandomItem == 1 then
                randomItemData = guiGridListGetItemText ( myGridList, rowA, columnA )
        elseif getRandomItem == 2 then
                randomItemData = guiGridListGetItemText ( myGridList, rowB, columnA )
        end
        --Output the randomly retrieved item text
        outputChatBox ( "My gridlist item text: "..randomItemData )
end
addEventHandler ( "onClientResourceStart", resourceRoot, clientsideResourceStart )</syntaxhighlight>
 
'''Example 2''': This example creates a player list on resource start, clicking on it will output the selected player name to the chatbox.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function createPlayerList ()
function createPlayerList ()
Line 29: Line 55:
                         guiGridListSetItemText ( playerList, row, column, getPlayerName ( playeritem ), false, false )
                         guiGridListSetItemText ( playerList, row, column, getPlayerName ( playeritem ), false, false )
                 end
                 end
                 addEventHandler ( "onClientClick", playerList, click )
                 addEventHandler ( "onClientGUIClick", playerList, click )
         end
         end
end
end
addEventHandler ( "onClientResourceStart", getRootElement(), createPlayerList )
addEventHandler ( "onClientResourceStart", getRootElement(), createPlayerList )


function click ( button, state, sx, sy, x, y, z, elem, gui )
function click ()  
        -- if state is down ( not to trigger the function twice on mouse button up/down), clicked gui and the element is our player list
      local playerName = guiGridListGetItemText ( playerList, guiGridListGetSelectedItem ( playerList ), 1 )
        if ( ( state == "down" ) and ( gui == true ) and ( source == playerList ) ) then
      outputChatBox(playerName)
                -- get the player name from the selected row, first column
                local playerName = guiGridListGetItemText ( playerList, guiGridListGetSelectedItem ( playerList ), 1 )
                outputChatBox ( playerName )     -- output it to chat box
        end
end
end
</syntaxhighlight>
</syntaxhighlight>
Line 46: Line 68:
==See Also==
==See Also==
{{GUI functions}}
{{GUI functions}}
{{GUI_events}}

Revision as of 21:14, 7 November 2018

This function retrieves the text from a specific grid list item.

Syntax

string guiGridListGetItemText ( element gridList, int rowIndex, int columnIndex )

OOP Syntax Help! I don't understand this!

Method: GuiGridList:getItemText(...)


Required Arguments

  • gridList: the gridlist containing the item you're interested in
  • rowIndex: row id of the item
  • columnIndex: column id of the item

Returns

Returns the text of the item if the arguments are right, false otherwise.

Example

Example 1: This example creates a gridlist with entries "Hello" and "World!" and chooses randomly which of these two grid list items it will retrieve.

function clientsideResourceStart ()
        --Create a gridlist
    	local myGridList = guiCreateGridList ( 0.80, 0.10, 0.15, 0.60, true ) 
    	--Create columnA on the gridlist
		local columnA = guiGridListAddColumn ( myGridList, "columnA Title", 0.85 ) 
    	--Add 2 rows to the grid list
		rowA = guiGridListAddRow ( myGridList )
    	rowB = guiGridListAddRow ( myGridList )
        --Create the text "Hello" for rowA, columnA
		guiGridListSetItemText ( myGridList, rowA, columnA, "Hello", false, false )   	
    	--Create the text "World!" for rowB, columnA
		guiGridListSetItemText ( myGridList, rowB, columnA, "World!", false, false )
    	--Choose randomly which grid list item text to retrieve
        getRandomItem = math.random ( 1, 2 )       
		if getRandomItem == 1 then 
                randomItemData = guiGridListGetItemText ( myGridList, rowA, columnA )
        elseif getRandomItem == 2 then
                randomItemData = guiGridListGetItemText ( myGridList, rowB, columnA )
        end
        --Output the randomly retrieved item text
        outputChatBox ( "My gridlist item text: "..randomItemData ) 
end
addEventHandler ( "onClientResourceStart", resourceRoot, clientsideResourceStart )

Example 2: This example creates a player list on resource start, clicking on it will output the selected player name to the chatbox.

function createPlayerList ()
        -- Create the grid list
        playerList = guiCreateGridList ( 0.80, 0.10, 0.15, 0.60, true )
        -- Create a players column in the list
        local column = guiGridListAddColumn( playerList, "Player", 0.85 )
        if ( column ) then         -- If the column has been created, fill it with players
                for id, playeritem in ipairs(getElementsByType("player")) do
                        local row = guiGridListAddRow ( playerList )
                        guiGridListSetItemText ( playerList, row, column, getPlayerName ( playeritem ), false, false )
                end
                addEventHandler ( "onClientGUIClick", playerList, click )
        end
end
addEventHandler ( "onClientResourceStart", getRootElement(), createPlayerList )

function click () 
       local playerName = guiGridListGetItemText ( playerList, guiGridListGetSelectedItem ( playerList ), 1 )
       outputChatBox(playerName)
end

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