GuiCreateGridList: Difference between revisions
(added oop example) |
mNo edit summary |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
element guiCreateGridList ( float x, float y, float width, float height, bool relative, | element guiCreateGridList ( float x, float y, float width, float height, [ bool relative = false, gui-element parent = nil ] ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{OOP||[[Element/GUI/Gridlist|GuiGridList]]}} | {{OOP||[[Element/GUI/Gridlist|GuiGridList]]}} | ||
Line 15: | Line 15: | ||
*'''width:''' A float of the width of the GUI gridlist. 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. | *'''height:''' A float of the height of the GUI gridlist. This is affected by the ''relative'' argument. | ||
===Optional Arguments=== | ===Optional Arguments=== | ||
{{OptionalArg}} | {{OptionalArg}} | ||
*'''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. | |||
*'''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. | *'''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. | ||
Line 27: | Line 27: | ||
'''Example 1:''' This example creates a player list on the right of the screen with 1 column and fills it | '''Example 1:''' This example creates a player list on the right of the screen with 1 column and fills it | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
local playerList = guiCreateGridList(0.80, 0.40, 0.15, 0.35, true) | |||
guiGridListAddColumn(playerList, "Player", 0.85) | |||
for _, player in ipairs(getElementsByType("player")) do | |||
guiGridListAddRow(playerList, getPlayerName(player)) | |||
end | end | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''Example 2:''' Using [[OOP]] we can write | '''Example 2:''' Using [[OOP]] we can write shorter and cleaner code (Requires <oop>true<oop> in the meta file). This creates a player list with 2 columns. | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
local list = GuiGridList(0.80, 0.40, 0.15, 0.35, true) | local list = GuiGridList(0.80, 0.40, 0.15, 0.35, true) | ||
Line 47: | Line 41: | ||
list:addColumn("name", 0.75) | list:addColumn("name", 0.75) | ||
for | for index, player in ipairs(getElementsByType("player")) do | ||
list:addRow( | list:addRow(index, player.name) | ||
end | end | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Latest revision as of 08:09, 30 October 2023
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 = false, gui-element parent = nil ] )
OOP Syntax Help! I don't understand this!
- Method: GuiGridList(...)
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.
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.
- 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.
- 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
local playerList = guiCreateGridList(0.80, 0.40, 0.15, 0.35, true) guiGridListAddColumn(playerList, "Player", 0.85) for _, player in ipairs(getElementsByType("player")) do guiGridListAddRow(playerList, getPlayerName(player)) end
Example 2: Using OOP we can write shorter and cleaner code (Requires <oop>true<oop> in the meta file). This 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 index, player in ipairs(getElementsByType("player")) do list:addRow(index, player.name) end
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
Windows
Input
GUI
- onClientGUIAccepted
- onClientGUIBlur
- onClientGUIChanged
- onClientGUIClick
- onClientGUIComboBoxAccepted
- onClientGUIDoubleClick
- onClientGUIFocus
- onClientGUIMouseDown
- onClientGUIMouseUp
- onClientGUIMove
- onClientGUIScroll
- onClientGUISize
- onClientGUITabSwitched
- onClientMouseEnter
- onClientMouseLeave
- onClientMouseMove
- onClientMouseWheel