GuiCreateGridList

From Multi Theft Auto: Wiki
Jump to: navigation, search

This function creates a grid list GUI element. These are menu's which are designed in lists and can have multiple columns. A good example of a gridlist element can be found in MTA's settings box, under Controls.

Syntax

element guiCreateGridList ( float x, float y, float width, float height, bool relative, [ element parent = nil ] )

OOP Syntax Help! I don't understand this!

Method: GuiGridList(...)

Required Arguments

Example GUI gridlist.
  • x: A float of the 2D x position of the GUI gridlist on a player's screen. This is affected by the relative argument.
  • y: A float of the 2D y position of the GUI gridlist on a player's screen. This is affected by the relative argument.
  • width: A float of the width of the GUI gridlist. This is affected by the relative argument.
  • height: A float of the height of the GUI gridlist. This is affected by the relative argument.
  • relative: This is whether sizes and positioning are relative. If this is true, then all x,y,width,height floats must be between 0 and 1, representing sizes relative to the parent.

Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.

  • parent: This is the parent that the gui gridlist is attached to. If the relative argument is true, sizes and positioning will be made relative to this parent. If the relative argument is false, positioning will be the number of offset pixels from the parent's origin. If no parent is passed, the parent will become the screen - causing positioning and sizing according to screen positioning.

Returns

Returns an element of the created gridlist if it was successfully created, false otherwise.

Example

Example 1: This example creates a player list on the right of the screen with 1 column and fills it

function createPlayerList ()
	--Create the grid list element
	local playerList = guiCreateGridList(0.80, 0.40, 0.15, 0.35, 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, player in ipairs(getElementsByType("player")) do
			local row = guiGridListAddRow(playerList)
			guiGridListSetItemText(playerList, row, column, getPlayerName(player), false, false )
		end
	end
end

Example 2: Using OOP we can write much shorter and cleaner code (Requires <oop>true<oop> in the meta file). This example creates a player list with 2 columns.

local list = GuiGridList(0.80, 0.40, 0.15, 0.35, true)
list:addColumn("#", 0.15)
list:addColumn("name", 0.75)

for i, player in pairs(getElementsByType("player")) do
	list:addRow(i, player:getName())
end

See Also

GUI functions

Browsers

Buttons

Checkboxes

Comboboxes

Edit Fields

FROM VERSION 1.5.5 r12419 ONWARDS

Gridlists

Memos

FROM VERSION 1.5.5 r12419 ONWARDS

Progressbars

Radio Buttons

Scrollbars

Scrollpanes

Static Images

Tab Panels

Tabs

Text Labels

Windows

GUI events