GuiCreateGridList: Difference between revisions
Jump to navigation
Jump to search
(→Syntax) |
No edit summary |
||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
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== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
element guiCreateGridList ( float x, float y, float width, float height, bool relative, element parent ) | element guiCreateGridList ( float x, float y, float width, float height, bool relative, element parent ) | ||
Line 10: | Line 8: | ||
===Required Arguments=== | ===Required Arguments=== | ||
*'''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. | ||
*''' | *'''text:''' A string of the text that will be displayed by default in the edit box. | ||
*''' | *'''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. | ||
*''' | |||
<!-- Only include this section below if there are optional arguments --> | <!-- Only include this section below if there are optional arguments --> | ||
Line 22: | Line 19: | ||
===Optional Arguments=== | ===Optional Arguments=== | ||
{{OptionalArg}} | {{OptionalArg}} | ||
*''' | *'''parent:''' This is the parent that the gui button is attached to. The ''relative'' argument must be true to use this. Sizes and positioning will be made relative to this parent. If no parent is passed, the parent will become the screen - causing relative positioning and sizing according to screen positioning. | ||
===Returns=== | ===Returns=== | ||
Line 30: | Line 26: | ||
==Example== | ==Example== | ||
'''Example 1:'''This example creates a player list on the right of the screen and fills it | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
--This | function createPlayerList () | ||
--Create the grid list element | |||
-- | local 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, player in ipairs(getElementsByType("player")) do | |||
local row = guiGridListAddRow ( playerList ) | |||
guiGridListSetItemText ( playerList, row, column, getPlayerName ( player ), false, false ) | |||
end | |||
end | |||
end | |||
</syntaxhighlight> | |||
'''Example 2:''' This example creates a weapon selection screen, complete with a window, gridlist and a button. Users can select a handgun and an uzi. The window is not movable or sizable. | |||
<syntaxhighlight lang="lua"> | |||
--Setup some tables | |||
handguns = { | |||
"colt45", | |||
"deagle", | |||
"silenced" } | |||
uzis = { | |||
"Uzi", | |||
"MP5", | |||
"Tec-9" } | |||
function setupWeaponSelection ( resource ) | |||
if resource ~= getThisResource() then return end --if the resource started is not this one, dont bother creating the gui | |||
---Create a window for our spawnscreen, with the title "Select your weaposn". | |||
spawnScreenMenu = guiCreateWindow ( 0.15, 0.33, 0.7, 0.34, "Select your weapons", true ) | |||
--create an OK button to allow the user to confirm their seclections, and attach it to the confirmSelection funnction | |||
spawnScreenOKButton = guiCreateButton ( 0.4, 0.85, 0.20, 0.15, "OK", true, spawnScreenMenu ) | |||
--ensure the user doesnt move or resize our spawnscreen. | |||
guiWindowSetMovable ( spawnScreenMenu, false ) | |||
guiWindowSetSizable ( spawnScreenMenu, false ) | |||
--create our gridlist, which fills up most of the window. | |||
spawnScreenGridList = guiCreateGridList ( 0, 0.1, 1, 0.9, true, spawnScreenMenu ) | |||
--Since we have 3 sets of weapons to select, we create 3 new columns, one for handgun, uzi and heavy weapon. | |||
guiGridListAddColumn ( spawnScreenGridList, "Handgun", 0.3 ) | |||
guiGridListAddColumn ( spawnScreenGridList, "Uzi", 0.3 ) | |||
-- next, we loop through our handguns table to add handgun items to the gridlist | |||
local row = 0 --define a row variable, that increases by one every time. Starts at 0 since rows begin from 0. | |||
for key,weaponName in pairs(handguns) do | |||
--add a new row to our gridlist each time | |||
guiGridListAddRow ( spawnScreenGridList ) | |||
--next, we set that rows text to the weapon name. Column is 1 since the "Handgun" column was created first. | |||
guiGridListSetItemText ( spawnScreenGridList, row, 1, weaponName, false, false ) | |||
row = row + 1 --increase the row number | |||
end | |||
--we repeat the process for other weapon lists, changing the column number | |||
row = 0 | |||
for key,weaponName in pairs(uzis) do | |||
--we dont bother creating new rows, since we already have done that | |||
--next, we set that rows text to the weapon name. Column is 2 since the "Uzis" column was created second. | |||
guiGridListSetItemText ( spawnScreenGridList, row, 2, weaponName, false, false ) | |||
row = row + 1 --increase the row number | |||
end | |||
end | |||
addEventHandler ( "onClientResourceStart", getRootElement(), setupWeaponSelection ) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 14:01, 1 August 2007
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 )
Required Arguments
- 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.
- text: A string of the text that will be displayed by default in the edit box.
- 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 button is attached to. The relative argument must be true to use this. Sizes and positioning will be made relative to this parent. If no parent is passed, the parent will become the screen - causing relative positioning and sizing according to screen positioning.
Returns
Returns true if blah, false otherwise.
Example
Example 1:This example creates a player list on the right of the screen and fills it
function createPlayerList () --Create the grid list element local 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, player in ipairs(getElementsByType("player")) do local row = guiGridListAddRow ( playerList ) guiGridListSetItemText ( playerList, row, column, getPlayerName ( player ), false, false ) end end end
Example 2: This example creates a weapon selection screen, complete with a window, gridlist and a button. Users can select a handgun and an uzi. The window is not movable or sizable.
--Setup some tables handguns = { "colt45", "deagle", "silenced" } uzis = { "Uzi", "MP5", "Tec-9" } function setupWeaponSelection ( resource ) if resource ~= getThisResource() then return end --if the resource started is not this one, dont bother creating the gui ---Create a window for our spawnscreen, with the title "Select your weaposn". spawnScreenMenu = guiCreateWindow ( 0.15, 0.33, 0.7, 0.34, "Select your weapons", true ) --create an OK button to allow the user to confirm their seclections, and attach it to the confirmSelection funnction spawnScreenOKButton = guiCreateButton ( 0.4, 0.85, 0.20, 0.15, "OK", true, spawnScreenMenu ) --ensure the user doesnt move or resize our spawnscreen. guiWindowSetMovable ( spawnScreenMenu, false ) guiWindowSetSizable ( spawnScreenMenu, false ) --create our gridlist, which fills up most of the window. spawnScreenGridList = guiCreateGridList ( 0, 0.1, 1, 0.9, true, spawnScreenMenu ) --Since we have 3 sets of weapons to select, we create 3 new columns, one for handgun, uzi and heavy weapon. guiGridListAddColumn ( spawnScreenGridList, "Handgun", 0.3 ) guiGridListAddColumn ( spawnScreenGridList, "Uzi", 0.3 ) -- next, we loop through our handguns table to add handgun items to the gridlist local row = 0 --define a row variable, that increases by one every time. Starts at 0 since rows begin from 0. for key,weaponName in pairs(handguns) do --add a new row to our gridlist each time guiGridListAddRow ( spawnScreenGridList ) --next, we set that rows text to the weapon name. Column is 1 since the "Handgun" column was created first. guiGridListSetItemText ( spawnScreenGridList, row, 1, weaponName, false, false ) row = row + 1 --increase the row number end --we repeat the process for other weapon lists, changing the column number row = 0 for key,weaponName in pairs(uzis) do --we dont bother creating new rows, since we already have done that --next, we set that rows text to the weapon name. Column is 2 since the "Uzis" column was created second. guiGridListSetItemText ( spawnScreenGridList, row, 2, weaponName, false, false ) row = row + 1 --increase the row number end end addEventHandler ( "onClientResourceStart", getRootElement(), setupWeaponSelection )
See Also
General functions
- guiBringToFront
- getChatboxLayout
- getChatboxCharacterLimit
- guiCreateFont
- guiBlur
- guiFocus
- guiGetAlpha
- guiGetCursorType
- guiGetEnabled
- guiGetFont
- guiGetInputEnabled
- guiGetInputMode
- guiGetPosition
- guiGetProperties
- guiGetProperty
- guiGetScreenSize
- guiGetSize
- guiGetText
- guiGetVisible
- guiMoveToBack
- guiSetAlpha
- guiSetEnabled
- guiSetFont
- guiSetInputEnabled
- guiSetInputMode
- guiSetPosition
- guiSetProperty
- guiSetSize
- guiSetText
- guiSetVisible
- isChatBoxInputActive
- isConsoleActive
- isDebugViewActive
- isMainMenuActive
- isMTAWindowActive
- isTransferBoxActive
- setChatboxCharacterLimit
- setDebugViewActive
Browsers
Buttons
Checkboxes
Comboboxes
- guiCreateComboBox
- guiComboBoxAddItem
- guiComboBoxClear
- guiComboBoxGetItemCount
- guiComboBoxGetItemText
- guiComboBoxGetSelected
- guiComboBoxIsOpen
- guiComboBoxRemoveItem
- guiComboBoxSetItemText
- guiComboBoxSetOpen
- guiComboBoxSetSelected
Edit Boxes
- guiCreateEdit
- guiEditGetCaretIndex
- guiEditGetMaxLength
- guiEditIsMasked
- guiEditIsReadOnly
- guiEditSetCaretIndex
- guiEditSetMasked
- guiEditSetMaxLength
- guiEditSetReadOnly
Gridlists
- guiCreateGridList
- guiGridListAddColumn
- guiGridListAddRow
- guiGridListAutoSizeColumn
- guiGridListClear
- guiGridListGetColumnCount
- guiGridListGetColumnTitle
- guiGridListGetColumnWidth
- guiGridListGetHorizontalScrollPosition
- guiGridListGetItemColor
- guiGridListGetItemData
- guiGridListGetItemText
- guiGridListGetRowCount
- guiGridListGetSelectedCount
- guiGridListGetSelectedItem
- guiGridListGetSelectedItems
- guiGridListGetSelectionMode
- guiGridListIsSortingEnabled
- guiGridListGetVerticalScrollPosition
- guiGridListInsertRowAfter
- guiGridListRemoveColumn
- guiGridListRemoveRow
- guiGridListSetColumnTitle
- guiGridListSetColumnWidth
- guiGridListSetHorizontalScrollPosition
- guiGridListSetItemColor
- guiGridListSetItemData
- guiGridListSetItemText
- guiGridListSetScrollBars
- guiGridListSetSelectedItem
- guiGridListSetSelectionMode
- guiGridListSetSortingEnabled
- guiGridListSetVerticalScrollPosition
Memos
- guiCreateMemo
- guiMemoGetCaretIndex
- guiMemoGetVerticalScrollPosition
- guiMemoSetVerticalScrollPosition
- guiMemoIsReadOnly
- guiMemoSetCaretIndex
- guiMemoSetReadOnly
Progressbars
Radio Buttons
Scrollbars
Scrollpanes
- guiCreateScrollPane
- guiScrollPaneGetHorizontalScrollPosition
- guiScrollPaneGetVerticalScrollPosition
- guiScrollPaneSetHorizontalScrollPosition
- guiScrollPaneSetScrollBars
- guiScrollPaneSetVerticalScrollPosition
Static Images
Tab Panels
Tabs
Text Labels
- guiCreateLabel
- guiLabelGetColor
- guiLabelGetFontHeight
- guiLabelGetTextExtent
- guiLabelSetColor
- guiLabelSetHorizontalAlign
- guiLabelSetVerticalAlign