Libra

2.7k Downloads

Library to facilitate some common tasks. Not necessarily designed to be infinitely flexible or applicable for any given situation.

local Libra = LibStub("Libra")


Libra:NewAddon(addonName, addonTable)

Table with module and event handling functions.

addonName
String identifying the addon object. should be the same as your addon folder name.
addonTable
An existing table to use as the addon object. If not provided, will create a new table.
local addon = Libra:NewAddon("MyAddon", {})


Libra:EmbedWidgets(target)

Embeds all widget creation functionality on the target table, allowing you to directly create widgets.

local MyAddon = Libra:NewAddon("MyAddon")
Libra:EmbedWidgets(MyAddon)

local dropdown = MyAddon:CreateDropdown("Menu")


Libra:CreateDropdown(type, parent)

Dropdown with a wrapper API around the FrameXML API, working around known taint issues and adding certain features such as scrollable and fully refreshable menus.

type
"Menu" for a standalone menu, "Frame" for a list frame which in turns summons the menu
parent
parent frame if "Frame" type


Libra:CreateEditbox()


Libra:CreateScrollFrame(type, parent, name)

type
"Faux" or "Hybrid"
parent
parent frame
name
frame name


Libra:CreateUIPanel(name)

ButtonFrameTemplate frame closable with escape and pushable by other frames.

name
Name to use for the frame. If not provided, will use an automatically generated name.

Better docs to be written.