Details!: Framework (library)

Details!: Framework (library)

960k Downloads

D!Framework is a set of tools for addon development . The main focus is reduce the amount of text to type, improving the productivity.

Documentation:

Functions: https://www.curseforge.com/wow/addons/libdframework/pages/framework-functions

Steps to implement it on your addon:

- First make sure you have thise libraries installed: LibStub, AceAddon-3.0, AceComm-3.0, AceConfig-3.0, AceConsole-3.0, AceDB-3.0, AceDBOptions-3.0, AceEvent-3.0, AceGUI-3.0, AceLocale-3.0, CallbackHandler-1.0, LibDataBroker-1.1, LibDBIcon-1.0, LibSharedMedia-3.0.

- Unzip the framework file into your libraries folder and load the file load.xml.

- On your .lua file, get the framework table with: local DF = _G ["DetailsFramework"]

- Create the addon object with: local MyNewAddon = DF:CreateAddOn ("MyAddonName", "GlobalSavedVariables", Ace3BasedConfigTable)

With these steps done, your addon is ready to use the framework.

Tools:

- Frame Panels

local commonFrame = DF:CreatePanel (parent, width, height, backdropTable, backdropColor, borderColor, member, name)

local fillPanel = DF:CreateFillPanel (parent, rows, width, height, totalLines, fillRow, autoWidth, options, member, name)

local simpleFrame = DF:CreateSimplePanel (parent, width, height, title, name, options, dbTable)

local pixelBorderFrame = DF:Create1PxPanel (parent, width, height, title, name, options, titleAnchor, noSpecialFrame)

local optionsButton = DF:CreateOptionsButton (parent, callback, name)

local feedbackButton = DF:CreateFeedbackButton (parent, callback, name)

local chartFrame = DF:CreateChartPanel (parent, width, height, name)

local graphicFrame = DF:CreateGFrame (parent, width, height, lineWidth, onEnter, onLeave, member, name)

local tabContainer = DF:CreateTabContainer (parent, title, name, frameList, options)

local listBox = DF:CreateSimpleListBox (parent, name, title, emptyText, listTable, onClick, options)

local scrollBox = DF:CreateScrollBox (parent, name, refreshFunc, data, width, height, lineAmount, lineHeight, createLineFunc, autoAmount, noScroll)

local leftResizer, rightResizer = DF:CreateResizeGrips (parent)

local auraConfig = DF:CreateAuraConfigPanel (parent, name, db, methodChangeCallback, options)

DF:ColorPick (attachFrame, r, g, b, alpha, callback)

DF:IconPick (callback, closeWhenSelected, callbackParam1, callbackParam2)

DF:CreateScaleBar (parent, config)

DF:ShowPromptPanel (message, trueFunction, falseFunction)

DF:ShowTextPromptPanel (message, callback)

- Buttons

local newButton = DF:CreateButton (parent, clickFunc, width, height, text, param1, param2, texture, member, name, textShortMethod, buttonTemplate, textTemplate)

- Dropdowns

local newDropdown = DF:CreateDropDown (parent, func, defaultValue, width, height, member, name, dropdownTemplate)

- Text

local newLabel = DF:CreateLabel (parent, text, size or template, color, font, member, name, layer)

- Bar

local newBar = DF:CreateBar (parent, texture, width, height, defaultValue, member, name)

- Texture

local newTexture = DF:CreateImage (parent, texture, wight, height, layer, texCoords, member, name)

- Sliders

local newSlider = DF:CreateSlider (parent, wight, height, minValue, maxValue, step, defaultValue, isDecemal, member, name, withLabel, sliderTemplate, labelTemplate)

- Text Entry

local newTextEntry = DF:CreateTextEntry (parent, func, wight, height, member, name, withLabel, textEntryTemplate, labelTemplate)

- Tooltip

local tooltip = GameCooltip2