Skip to content

Panel Reference

This document describes every custom panel bundled with Lilia. Each entry lists the base Garry's Mod panel it derives from, a short description of its purpose, and a small code snippet demonstrating typical usage.


Overview

The panel library provides a comprehensive set of custom Derma panels that extend Garry's Mod's native VGUI system with enhanced functionality, consistent styling, and framework-specific features. These panels automatically integrate with Lilia's theming system, localization framework, and core libraries, ensuring a cohesive user experience across all interface components. The system includes specialized panels for character management, inventory systems, vendor interfaces, communication tools, and various UI controls, all designed to work seamlessly within the Lilia framework ecosystem.


Panel Summary

Panel Name Base Panel Description
liaMarkupPanel DPanel Renders text using Garry's Mod markup.
liaCharInfo EditablePanel Displays character details in the F1 menu.
liaMenu EditablePanel Main F1 menu housing multiple tabs.
liaClasses EditablePanel Allows players to view and join classes.
liaModelPanel DModelPanel Model viewer with custom lighting.
FacingModelPanel DModelPanel Model viewer locked to the head angle.
DProgressBar DPanel Generic progress bar for timed actions.
liaNotice DLabel Small blur-backed notification label.
noticePanel DPanel Larger notification with optional buttons.
liaChatBox DPanel Custom chat box with commands and tabs.
liaSpawnIcon DModelPanel Spawn icon with improved positioning.
VoicePanel DPanel HUD element showing players using voice.
liaHorizontalScroll DPanel Horizontally scrolling container.
liaHorizontalScrollBar DVScrollBar Scrollbar companion for the horizontal container.
liaItemMenu EditablePanel Context menu for world items.
liaAttribBar DPanel Widget for assigning attribute points.
liaCharacterAttribs liaCharacterCreateStep Step for attribute selection.
liaCharacterAttribsRow DPanel Displays a single attribute row.
liaItemIcon SpawnIcon Icon specialised for Lilia items.
BlurredDFrame DFrame Frame with a blurred background.
SemiTransparentDFrame DFrame Frame drawn with partial transparency.
SemiTransparentDPanel DPanel Panel drawn with partial transparency.
liaDoorMenu DFrame Door permissions and ownership menu.
liaRoster EditablePanel Lists members of a faction or class.
liaScoreboard EditablePanel Replacement scoreboard.
liaSheet DPanel Filterable sheet used for building lists.
liaCharacter EditablePanel Main screen for character management.
liaCharBGMusic DPanel Handles menu background music playback.
liaCharacterCreation EditablePanel Multi-step character creation window.
liaCharacterCreateStep DScrollPanel Base panel for creation steps.
liaCharacterConfirm SemiTransparentDFrame Confirmation dialog used in the menu.
liaCharacterBiography liaCharacterCreateStep Step for entering name and description.
liaCharacterFaction liaCharacterCreateStep Step for selecting a faction.
liaCharacterModel liaCharacterCreateStep Step for choosing a player model.
liaInventory DFrame Base inventory window.
liaGridInventory liaInventory Inventory arranged in a grid of slots.
liaGridInvItem liaItemIcon Item icon used inside grid inventories.
liaGridInventoryPanel DPanel Container that manages a grid of item icons.
Vendor EditablePanel Vendor shop interface.
VendorItem DPanel Single item entry in the vendor menu.
VendorEditor DFrame Admin window for configuring vendors.
VendorFactionEditor DFrame Editor for vendor faction and class access.
VendorBodygroupEditor DFrame Editor for adjusting a vendor's bodygroups and skin.
liaHugeButton DButton Large button with prominent styling.
liaBigButton DButton Button using a big font size.
liaMediumButton DButton Standard medium button.
liaSmallButton DButton Compact button for tight layouts.
liaMiniButton DButton Very small button variant.
liaNoBGButton DButton Text-only button with no background.
liaQuick EditablePanel Quick settings panel showing options flagged with isQuick.
liaCheckbox DButton Checkbox that draws the config icons.
liaItemList DFrame Generic list frame for displaying items.
liaItemSelector DFrame Item selection dialog with search and filtering.
liaDListView DFrame Enhanced list view with search, sorting, and context menus.

Panel Details


liaMarkupPanel

Purpose

Panel that renders text using Garry's Mod markup language and wraps markup.Parse so formatted chat messages can be displayed easily.

Base Panel

DPanel

Realm

Client.

Example Usage

-- Create a markup panel for displaying formatted text
local markupPanel = vgui.Create("liaMarkupPanel")
markupPanel:SetText("This is **bold** and *italic* text!")
markupPanel:SetSize(200, 100)

liaCharInfo

Purpose

Displays the current character's stats and fields in the F1 menu. The panel updates periodically and can show plugin-defined information.

Base Panel

EditablePanel

Realm

Client.

Example Usage

-- Character info is automatically created in the F1 menu
-- No manual creation needed - it's part of the main menu system

liaMenu

Purpose

Main F1 menu housing tabs like Character, Help and Settings. It controls switching between tabs and can be opened on demand.

Base Panel

EditablePanel

Realm

Client.

Example Usage

-- Open the main F1 menu
lia.menu.toggle()

-- Check if menu is open
if lia.menu.isOpen() then
    print("Menu is currently open")
end

liaClasses

Purpose

Lists available classes in the F1 menu and shows requirements for each. Players may click a button to join a class when eligible.

Base Panel

EditablePanel

Realm

Client.

Example Usage

-- Create a liaclasses
local panel = vgui.Create("liaClasses")
panel:SetSize(200, 100)

liaModelPanel

Purpose

Displays a model with custom lighting and mouse controls for rotation and zoom. Useful for previewing items or player characters.

Base Panel

DModelPanel

Realm

Client.

Example Usage

-- Create a liamodelpanel
local panel = vgui.Create("liaModelPanel")
panel:SetSize(400, 300)
panel:Center()
panel:MakePopup()

FacingModelPanel

Purpose

Variant of liaModelPanel that locks the camera to the model's head bone, ideal for mugshots or scoreboard avatars.

Base Panel

DModelPanel

Realm

Client.

Example Usage

-- Create a facingmodelpanel
local panel = vgui.Create("FacingModelPanel")
panel:SetSize(400, 300)
panel:Center()
panel:MakePopup()

DProgressBar

Purpose

Simple progress bar panel. Update its fraction each frame to visually represent timed actions.

Base Panel

DPanel

Realm

Client.

Functions

  • SetFraction(fraction) – sets the current progress fraction between 0 and 1.
  • SetProgress(startTime, endTime) – defines the progress window; defaults to a five second duration when no values are provided.
  • SetText(text) – text displayed in the centre of the bar.
  • SetBarColor(color) – overrides the default bar colour.

Example Usage

-- Create a progress bar
local progressBar = vgui.Create("DProgressBar")
progressBar:SetSize(200, 20)
progressBar:SetFraction(0.5) -- 50% complete
progressBar:SetText("Loading...")
progressBar:SetBarColor(Color(0, 255, 0)) -- Green bar

liaNotice

Purpose

Small label for quick notifications. It draws a blurred backdrop and fades away after a short delay.

Base Panel

DLabel

Realm

Client.

Behaviour

  • When start and endTime fields are populated, a colour bar fills from left to right to indicate progress.

Example Usage

-- Create a notification
local notice = vgui.Create("liaNotice")
notice:SetText("This is a notification!")
notice:SetPos(10, 10)
notice:SetSize(200, 30)

noticePanel

Purpose

Expanded version of liaNotice supporting more text and optional buttons. Often used for yes/no prompts.

Base Panel

DPanel

Realm

Client.

Functions

  • CalcWidth(padding) – recalculates the panel width based on the inner label and supplied padding.

Example Usage

-- Create a notice panel
local notice = vgui.Create("noticePanel")
notice:SetText("Are you sure you want to delete this item?")
notice:SetSize(300, 100)
notice:Center()

liaChatBox

Purpose

In-game chat window supporting multiple tabs, command prefix detection and color-coded messages.

Base Panel

DPanel

Realm

Client.

Functions

  • setActive(state) – opens or closes the chat entry box.
  • addFilterButton(filter) – inserts a filter toggle for a chat class.
  • addText(...) – appends one or more strings or colours to the chat history.
  • setFilter(filter, state) – enables or disables visibility for a chat class.

Example Usage

-- Chat box is automatically created by the framework
-- Access it through lia.chatbox if needed
if lia.chatbox then
    lia.chatbox.addText("Welcome to the server!")
end

liaSpawnIcon

Purpose

Improved spawn icon built on DModelPanel. It centers models and applies good lighting for use in inventories or lists.

Base Panel

DModelPanel

Realm

Client.

Functions

  • setHidden(hidden) – toggles lighting and colour to hide or reveal the model.
  • OnMousePressed() – forwards clicks to DoClick when defined.

Example Usage

-- Create a spawn icon
local icon = vgui.Create("liaSpawnIcon")
icon:SetSize(64, 64)
icon:SetModel("models/player.mdl")
icon.DoClick = function()
    print("Icon clicked!")
end

VoicePanel

Purpose

HUD element that lists players using voice chat. Each entry fades out after a player stops talking.

Base Panel

DPanel

Realm

Client.

Functions

  • Setup(client) – initialises the entry with the speaking player.
  • UpdateIcon() – refreshes the icon based on voice type.
  • FadeOut(anim, delta) – animation callback used to fade the panel when speech ends.

Example Usage

-- Voice panel is automatically managed by the framework
-- No manual creation needed - it's part of the HUD system

liaHorizontalScroll

Purpose

Container that arranges child panels in a single row. Often paired with a custom scrollbar when content overflows.

Base Panel

DPanel

Realm

Client.

Functions

  • AddItem(panel) – parents panel to the internal canvas.
  • ScrollToChild(child) – animates the scrollbar so child becomes centred.
  • GetHBar() – returns the companion horizontal scrollbar panel.
  • Clear() – removes all child panels from the canvas.

Example Usage

-- Create a horizontal scroll container
local scroll = vgui.Create("liaHorizontalScroll")
scroll:SetSize(400, 100)

-- Add items to the scroll
local item1 = vgui.Create("DPanel")
item1:SetSize(80, 80)
scroll:AddItem(item1)

liaHorizontalScrollBar

Purpose

Custom scrollbar paired with liaHorizontalScroll. It moves the canvas horizontally when items overflow.

Base Panel

DVScrollBar

Realm

Client.

Functions

  • SetScroll(offset) – manually adjusts the scroll position.

Example Usage

-- Usually created automatically with liaHorizontalScroll
-- Access through scroll:GetHBar() if manual control needed
local scroll = vgui.Create("liaHorizontalScroll")
local scrollbar = scroll:GetHBar()
scrollbar:SetScroll(0.5) -- Scroll to 50% position

liaItemMenu

Purpose

Panel shown when you interact with an item entity. Displays item info and action buttons.

Base Panel

EditablePanel

Realm

Client.

Functions

  • addBtn(text, cb) – helper to append a button that calls cb when pressed.
  • openInspect() – opens a 3D model viewer for the item.
  • buildButtons() – populates action buttons based on the item's functions table.
  • SetEntity(ent) – assigns the world entity and refreshes the panel contents.
  • Think() – closes the menu if the entity becomes invalid or too far away.

Example Usage

-- Called from GM:ItemShowEntityMenu
if IsValid(liaItemMenuInstance) then liaItemMenuInstance:Remove() end
liaItemMenuInstance = vgui.Create("liaItemMenu")
liaItemMenuInstance:SetEntity(entity)

liaAttribBar

Purpose

Interactive bar used during character creation to assign starting attribute points.

Base Panel

DPanel

Realm

Client.

Functions

  • getValue() – returns the current value.
  • setValue(v) – sets the bar to v.
  • setBoost(v) – displays a temporary boost amount.
  • setMax(m) – changes the maximum allowed value (default 10).
  • SetText(text) – sets the label text.
  • setReadOnly() – removes the increment and decrement buttons.

Example Usage

-- Create an attribute bar
local attribBar = vgui.Create("liaAttribBar")
attribBar:SetSize(200, 30)
attribBar:SetText("Strength")
attribBar:setMax(10)
attribBar:setValue(5)

liaCharacterAttribs

Purpose

Character creation step panel for distributing attribute points across stats.

Base Panel

liaCharacterCreateStep

Realm

Client.

Functions

  • updatePointsLeft() – refreshes the remaining points label.
  • onDisplay() – loads saved attribute values into the rows.
  • addAttribute(key, info) – creates a liaCharacterAttribsRow for the attribute.
  • onPointChange(key, delta) – validates and applies a point change request.

Example Usage

-- Usually created as part of character creation flow
-- No manual creation needed - it's part of the character creation system

liaCharacterAttribsRow

Purpose

Represents a single attribute with its description and current points, including buttons for adjustment.

Base Panel

DPanel

Realm

Client.

Functions

  • setAttribute(key, info) – sets which attribute the row represents and updates its tooltip.
  • delta(amount) – requests a point change of amount from the parent panel.
  • addButton(symbol, delta) – internal helper that creates the increment/decrement buttons.
  • updateQuantity() – refreshes the displayed point total.

Example Usage

-- Usually created by liaCharacterAttribs panel
-- No manual creation needed - it's part of the attribute system

liaItemIcon

Purpose

Spawn icon specialised for Lilia item tables. Displays custom tooltips and supports right-click menus.

Base Panel

SpawnIcon

Realm

Client.

Functions

  • getItem() – returns the associated item table if available.
  • setItemType(itemTypeOrID) – assigns an item by unique ID or type string and updates the model and tooltip.
  • openActionMenu() – builds and shows the context menu for the item.
  • updateTooltip() – refreshes the tooltip text using the current item data.
  • ItemDataChanged() – hook that re-runs updateTooltip when the item data changes.

Example Usage

-- Create an item icon
local icon = vgui.Create("liaItemIcon")
icon:SetSize(64, 64)
icon:setItemType("weapon_pistol")
icon.DoRightClick = function()
    icon:openActionMenu()
end

BlurredDFrame

Purpose

Frame that draws a screen blur behind its contents. Useful for overlay menus that shouldn't fully obscure the game.

Base Panel

DFrame

Realm

Client.

Example Usage

-- Create a blurred frame
local frame = vgui.Create("BlurredDFrame")
frame:SetSize(400, 300)
frame:Center()
frame:MakePopup()

SemiTransparentDFrame

Purpose

Simplified frame with a semi-transparent background, ideal for pop-up windows where the game should remain partially visible.

Base Panel

DFrame

Realm

Client.

Example Usage

-- Create a semi-transparent frame
local frame = vgui.Create("SemiTransparentDFrame")
frame:SetSize(500, 400)
frame:Center()
frame:MakePopup()

SemiTransparentDPanel

Purpose

Basic panel that paints itself with partial transparency. Often used inside SemiTransparentDFrame as an inner container.

Base Panel

DPanel

Realm

Client.

Example Usage

-- Create a semi-transparent panel
local panel = vgui.Create("SemiTransparentDPanel")
panel:SetSize(200, 100)
panel:SetPos(10, 10)

liaDoorMenu

Purpose

Interface for property doors showing ownership and faction access. Owners can lock, sell or share the door through this menu.

Base Panel

DFrame

Realm

Client.

Functions

  • setDoor(door, accessData, fallback) – populates the list of players with their access levels for door.
  • CheckAccess(minimum) – returns true if the local player meets the required access level.
  • Think() – automatically closes the menu when the door becomes invalid or inaccessible.

Example Usage

-- Door menu is usually created when interacting with a door
-- No manual creation needed - it's part of the door system

liaRoster

Purpose

Lists players in a faction or class roster and supports context actions such as kicking members.

Base Panel

EditablePanel

Realm

Client.

Functions

  • SetRosterType(type) – chooses which roster to display. Passing "faction" requests faction data from the server.
  • Populate(data, canKick) – fills the sheet with data rows and enables kick options when canKick is true.
  • PerformLayout() – sizes the panel to its children and refreshes the internal sheet layout.

Example Usage

-- Create a roster panel
local roster = vgui.Create("liaRoster")
roster:SetSize(400, 300)
roster:SetRosterType("faction")
roster:Populate(rosterData, true) -- true = can kick members

liaScoreboard

Purpose

Replacement scoreboard that groups players by team or faction and displays additional stats like ping and play time.

Base Panel

EditablePanel

Realm

Client.

Functions

  • ApplyConfig() – applies skin and colour configuration before showing the board.
  • updateStaff() – refreshes the staff list portion based on current players.
  • addPlayer(player, parent) – inserts a player row into the given category panel.

Example Usage

-- Scoreboard is automatically created by the framework
-- No manual creation needed - it's part of the HUD system

liaSheet

Purpose

Scrollable sheet used to build filterable lists with rows of arbitrary content.

Base Panel

DPanel

Realm

Client.

Functions

  • SetPlaceholderText(text) – sets the search box placeholder.
  • SetSpacing(y) – vertical spacing between rows (default 8).
  • SetPadding(p) – padding around row contents (default 10).
  • Clear() – removes all rows.
  • AddRow(builder) – adds a custom row using builder(panel, row); returns the row table.
  • AddPanelRow(widget, opts) – inserts an existing panel as a row.
  • AddTextRow(data) – creates a text row from title, desc, and right fields.
  • AddSubsheetRow(cfg) – adds a collapsible subsheet for grouped entries.
  • AddPreviewRow(data) – displays an HTML preview thumbnail.
  • AddListViewRow(cfg) – embeds a DListView into a row.
  • AddIconLayoutRow(cfg) – embeds a DIconLayout into a row.
  • RegisterCustomFilter(row, fn) – registers an extra filter function for Refresh.
  • Refresh() – re-applies the search filter to all rows.

Example Usage

-- Create a sheet
local sheet = vgui.Create("liaSheet")
sheet:SetSize(400, 300)
sheet:SetPlaceholderText("Search...")

-- Add a text row
sheet:AddTextRow({
    title = "Example Item",
    desc = "This is a description",
    right = "Value"
})

liaCharacter

Purpose

Main panel of the character selection menu. Lists the player's characters with options to create, delete or load them.

Base Panel

EditablePanel

Realm

Client.

Example Usage

-- Character panel is automatically created by the framework
-- No manual creation needed - it's part of the character system

liaCharBGMusic

Purpose

Small panel that plays ambient music when the main menu is open. It fades the track in and out as the menu is shown or closed.

Base Panel

DPanel

Realm

Client.

Example Usage

-- Background music panel is automatically created by the framework
-- No manual creation needed - it's part of the menu system

liaCharacterCreation

Purpose

Parent panel that hosts each character creation step such as biography, faction and model. It provides navigation buttons and validates input before advancing.

Base Panel

EditablePanel

Realm

Client.

Example Usage

-- liacharactercreation is usually created by the framework
-- No manual creation needed - it's part of the character system

liaCharacterCreateStep

Purpose

Scroll panel used as the foundation for each creation step. Provides helpers for saving user input and moving forward in the flow.

Base Panel

DScrollPanel

Realm

Client.

Example Usage

-- liacharactercreatestep is usually created by the framework
-- No manual creation needed - it's part of the character system

liaCharacterConfirm

Purpose

Confirmation dialog used for dangerous actions like deleting a character. Inherits from SemiTransparentDFrame for a consistent overlay look.

Base Panel

SemiTransparentDFrame

Realm

Client.

Example Usage

-- liacharacterconfirm is usually created by the framework
-- No manual creation needed - it's part of the character system

liaCharacterBiography

Purpose

Step where players input their character's name and optional backstory. These values are validated and stored for later steps.

Base Panel

liaCharacterCreateStep

Realm

Client.

Example Usage

-- liacharacterbiography is usually created by the framework
-- No manual creation needed - it's part of the character system

liaCharacterFaction

Purpose

Allows the player to choose from available factions. The selected faction updates the model panel and determines accessible classes.

Base Panel

liaCharacterCreateStep

Realm

Client.

Example Usage

-- liacharacterfaction is usually created by the framework
-- No manual creation needed - it's part of the character system

liaCharacterModel

Purpose

Lets the player browse and select a player model appropriate for the chosen faction. Clicking an icon saves the choice and refreshes the preview.

Base Panel

liaCharacterCreateStep

Realm

Client.

Example Usage

-- liacharactermodel is usually created by the framework
-- No manual creation needed - it's part of the character system

liaInventory

Purpose

Main inventory frame for characters. It listens for network updates and renders items in the layout provided by its subclass.

Base Panel

DFrame

Realm

Client.

Example Usage

-- Create a liainventory
local inventory = vgui.Create("liaInventory")
inventory:SetSize(400, 300)
inventory:Center()
inventory:MakePopup()

liaGridInventory

Purpose

Subclass of liaInventory that arranges item icons into a fixed grid. Often used for storage containers or equipment screens.

Base Panel

liaInventory

Realm

Client.

Example Usage

-- Create a liagridinventory
local inventory = vgui.Create("liaGridInventory")
inventory:SetSize(400, 300)
inventory:Center()
inventory:MakePopup()

liaGridInvItem

Purpose

Specialized icon used by liaGridInventory. Supports drag-and-drop for moving items between slots.

Base Panel

liaItemIcon

Realm

Client.

Example Usage

-- Create a liagridinvitem
local inventory = vgui.Create("liaGridInvItem")
inventory:SetSize(400, 300)
inventory:Center()
inventory:MakePopup()

liaGridInventoryPanel

Purpose

Container responsible for laying out liaGridInvItem icons in rows and columns. Handles drag-and-drop and keeps the grid in sync with item data.

Base Panel

DPanel

Realm

Client.

Example Usage

-- Create a liagridinventorypanel
local panel = vgui.Create("liaGridInventoryPanel")
panel:SetSize(400, 300)
panel:Center()
panel:MakePopup()

Vendor

Purpose

Main vendor window that lists items the NPC will buy or sell. Provides buttons for transactions and updates when the player's inventory changes.

Base Panel

EditablePanel

Realm

Client.

Example Usage

-- Create a vendor
local vendor = vgui.Create("Vendor")
vendor:SetSize(500, 400)
vendor:Center()
vendor:MakePopup()

VendorItem

Purpose

Panel representing an individual item within the vendor list. Shows price information and handles clicks for buying or selling.

Base Panel

DPanel

Realm

Client.

Example Usage

-- Create a vendoritem
local vendor = vgui.Create("VendorItem")
vendor:SetSize(500, 400)
vendor:Center()
vendor:MakePopup()

VendorEditor

Purpose

Administrative window for editing a vendor's inventory and settings, including item prices and faction permissions.

Base Panel

DFrame

Realm

Client.

Example Usage

-- Create a vendoreditor
local vendor = vgui.Create("VendorEditor")
vendor:SetSize(500, 400)
vendor:Center()
vendor:MakePopup()

VendorFactionEditor

Purpose

Secondary editor for selecting which factions and player classes can trade with the vendor.

Base Panel

DFrame

Realm

Client.

Example Usage

-- Create a vendorfactioneditor
local vendor = vgui.Create("VendorFactionEditor")
vendor:SetSize(500, 400)
vendor:Center()
vendor:MakePopup()

VendorBodygroupEditor

Purpose

Window for adjusting a vendor's bodygroups and skin.

Base Panel

DFrame

Realm

Client.

Example Usage

-- Create a vendorbodygroupeditor
local vendor = vgui.Create("VendorBodygroupEditor")
vendor:SetSize(500, 400)
vendor:Center()
vendor:MakePopup()

liaHugeButton

Purpose

Large button styled with liaHugeFont and an underline effect on hover. lua local btn = vgui.Create("liaHugeButton") btn:SetText("Play") btn:SetSelected(true) -- keep underline visible

Base Panel

DButton

Realm

Client.

Example Usage

-- Create a liahugebutton
local button = vgui.Create("liaHugeButton")
button:SetText("Click Me")
button:SetSize(100, 30)
button.DoClick = function()
    print("Button clicked!")
end

liaBigButton

Purpose

Big-font button with the same underline hover animation.

Base Panel

DButton

Realm

Client.

Example Usage

-- Create a liabigbutton
local button = vgui.Create("liaBigButton")
button:SetText("Click Me")
button:SetSize(100, 30)
button.DoClick = function()
    print("Button clicked!")
end

liaMediumButton

Purpose

Medium-size button using liaMediumFont.

Base Panel

DButton

Realm

Client.

Example Usage

-- Create a liamediumbutton
local button = vgui.Create("liaMediumButton")
button:SetText("Click Me")
button:SetSize(100, 30)
button.DoClick = function()
    print("Button clicked!")
end

liaSmallButton

Purpose

Small button sized for compact layouts.

Base Panel

DButton

Realm

Client.

Example Usage

-- Create a liasmallbutton
local button = vgui.Create("liaSmallButton")
button:SetText("Click Me")
button:SetSize(100, 30)
button.DoClick = function()
    print("Button clicked!")
end

liaMiniButton

Purpose

Tiny button using liaMiniFont for dense interfaces.

Base Panel

DButton

Realm

Client.

Example Usage

-- Create a liaminibutton
local button = vgui.Create("liaMiniButton")
button:SetText("Click Me")
button:SetSize(100, 30)
button.DoClick = function()
    print("Button clicked!")
end

liaNoBGButton

Purpose

Text-only button that still shows the underline animation.

Base Panel

DButton

Realm

Client.

Example Usage

-- Create a lianobgbutton
local button = vgui.Create("liaNoBGButton")
button:SetText("Click Me")
button:SetSize(100, 30)
button.DoClick = function()
    print("Button clicked!")
end

liaQuick

Purpose

Quick settings menu that lists options flagged with isQuick.

Base Panel

EditablePanel

Realm

Client.

Example Usage

-- Create a liaquick
local panel = vgui.Create("liaQuick")
panel:SetSize(200, 100)

Functions:

  • addCategory(text) – inserts a non-interactive section label.
  • addButton(text, cb) – adds a clickable button that triggers cb when pressed.
  • addSpacer() – draws a thin divider line.
  • addSlider(text, cb, val, min, max, dec) – slider control that calls cb(panel, value); default range 0–100.
  • addCheck(text, cb, checked) – checkbox row; invokes cb(panel, state) when toggled.
  • setIcon(char) – sets the icon character displayed on the expand button.
  • populateOptions() – fills the panel using registered quick options.

Example Usage:

vgui.Create("liaQuick")

liaCheckbox

Purpose

Checkbox that paints the same checkmark icons used in the configuration menu.

Base Panel

DButton

Realm

Client.

Example Usage

-- Create a liacheckbox
local panel = vgui.Create("liaCheckbox")
panel:SetSize(200, 100)

Functions:

  • SetChecked(state) – toggles the checkmark and fires OnChange.
  • GetChecked() – returns whether the box is checked.
  • DoClick() – default click handler that flips the checked state.

Example Usage:

local cb = vgui.Create("liaCheckbox")
cb:SetChecked(true)

liaItemList

Purpose

Generic list frame for displaying items with search functionality and context menus.

Base Panel

DFrame

Realm

Client.

Example Usage

-- Create a liaitemlist
local panel = vgui.Create("liaItemList")
panel:SetSize(200, 100)

liaItemSelector

Purpose

Item selection dialog with search and filtering capabilities for choosing items from a list.

Base Panel

DFrame

Realm

Client.

Example Usage

-- Create a liaitemselector
local panel = vgui.Create("liaItemSelector")
panel:SetSize(200, 100)

liaDListView

Purpose

Enhanced list view with search, sorting, and context menus. Features a search box, refresh button, and status bar showing total count.

Base Panel

DFrame

Realm

Client.

Example Usage

-- Create a liadlistview
local panel = vgui.Create("liaDListView")
panel:SetSize(200, 100)

Functions:

  • SetWindowTitle(title) – sets the window title.
  • SetPlaceholderText(text) – sets the search box placeholder text.
  • SetColumns(columns) – defines the list columns.
  • SetData(rows) – populates the list with data rows.
  • SetSort(column, desc) – sets the sort column and direction.
  • Populate() – refreshes the list based on current search filter.