diff --git a/Libs/DF/fw.lua b/Libs/DF/fw.lua
index 70e082ca..01d39c9e 100644
--- a/Libs/DF/fw.lua
+++ b/Libs/DF/fw.lua
@@ -1,6 +1,6 @@
-local dversion = 368
+local dversion = 369
local major, minor = "DetailsFramework-1.0", dversion
local DF, oldminor = LibStub:NewLibrary (major, minor)
@@ -2546,10 +2546,9 @@ end
--> ~templates
--fonts
-
DF.font_templates = DF.font_templates or {}
---> detect which language is the client and select the font accordingly
+--detect which language is the client and select the font accordingly
local clientLanguage = GetLocale()
if (clientLanguage == "enGB") then
clientLanguage = "enUS"
@@ -2557,7 +2556,7 @@ end
DF.ClientLanguage = clientLanguage
---> returns which region the language the client is running, return "western", "russia" or "asia"
+--returns which region the language the client is running, return "western", "russia" or "asia"
function DF:GetClientRegion()
if (clientLanguage == "zhCN" or clientLanguage == "koKR" or clientLanguage == "zhTW") then
return "asia"
@@ -2568,7 +2567,7 @@ function DF:GetClientRegion()
end
end
---> return the best font to use for the client language
+--return the best font to use for the client language
function DF:GetBestFontForLanguage (language, western, cyrillic, china, korean, taiwan)
if (not language) then
language = DF.ClientLanguage
@@ -2576,31 +2575,29 @@ function DF:GetBestFontForLanguage (language, western, cyrillic, china, korean,
if (language == "enUS" or language == "deDE" or language == "esES" or language == "esMX" or language == "frFR" or language == "itIT" or language == "ptBR") then
return western or "Friz Quadrata TT"
-
+
elseif (language == "ruRU") then
return cyrillic or "Arial Narrow"
-
+
elseif (language == "zhCN") then
return china or "AR CrystalzcuheiGBK Demibold"
-
+
elseif (language == "koKR") then
return korean or "2002"
-
+
elseif (language == "zhTW") then
return taiwan or "AR CrystalzcuheiGBK Demibold"
-
end
end
--DF.font_templates ["ORANGE_FONT_TEMPLATE"] = {color = "orange", size = 11, font = "Accidental Presidency"}
--DF.font_templates ["OPTIONS_FONT_TEMPLATE"] = {color = "yellow", size = 12, font = "Accidental Presidency"}
-DF.font_templates ["ORANGE_FONT_TEMPLATE"] = {color = "orange", size = 10, font = DF:GetBestFontForLanguage()}
-DF.font_templates ["OPTIONS_FONT_TEMPLATE"] = {color = "yellow", size = 9.6, font = DF:GetBestFontForLanguage()}
-
--- dropdowns
+DF.font_templates["ORANGE_FONT_TEMPLATE"] = {color = "orange", size = 10, font = DF:GetBestFontForLanguage()}
+DF.font_templates["OPTIONS_FONT_TEMPLATE"] = {color = "yellow", size = 9.6, font = DF:GetBestFontForLanguage()}
+--dropdowns
DF.dropdown_templates = DF.dropdown_templates or {}
-DF.dropdown_templates ["OPTIONS_DROPDOWN_TEMPLATE"] = {
+DF.dropdown_templates["OPTIONS_DROPDOWN_TEMPLATE"] = {
backdrop = {
edgeFile = [[Interface\Buttons\WHITE8X8]],
edgeSize = 1,
@@ -2619,10 +2616,28 @@ DF.dropdown_templates ["OPTIONS_DROPDOWN_TEMPLATE"] = {
dropiconpoints = {-2, -3},
}
--- switches
+DF.dropdown_templates["OPTIONS_DROPDOWNDARK_TEMPLATE"] = {
+ backdrop = {
+ edgeFile = [[Interface\Buttons\WHITE8X8]],
+ edgeSize = 1,
+ bgFile = [[Interface\Tooltips\UI-Tooltip-Background]],
+ tileSize = 64,
+ tile = true
+ },
+ backdropcolor = {0.1215, 0.1176, 0.1294, 0.8000},
+ backdropbordercolor = {.2, .2, .2, 1},
+ onentercolor = {.5, .5, .5, .9},
+ onenterbordercolor = {.4, .4, .4, 1},
+
+ dropicon = "Interface\\BUTTONS\\arrow-Down-Down",
+ dropiconsize = {16, 16},
+ dropiconpoints = {-2, -3},
+}
+
+--switches
DF.switch_templates = DF.switch_templates or {}
-DF.switch_templates ["OPTIONS_CHECKBOX_TEMPLATE"] = {
+DF.switch_templates["OPTIONS_CHECKBOX_TEMPLATE"] = {
backdrop = {edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true},
backdropcolor = {1, 1, 1, .5},
backdropbordercolor = {0, 0, 0, 1},
@@ -2632,7 +2647,7 @@ DF.switch_templates ["OPTIONS_CHECKBOX_TEMPLATE"] = {
disabled_backdropcolor = {1, 1, 1, .2},
onenterbordercolor = {1, 1, 1, 1},
}
-DF.switch_templates ["OPTIONS_CHECKBOX_BRIGHT_TEMPLATE"] = {
+DF.switch_templates["OPTIONS_CHECKBOX_BRIGHT_TEMPLATE"] = {
backdrop = {edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true},
backdropcolor = {1, 1, 1, .5},
backdropbordercolor = {0, 0, 0, 1},
@@ -2643,19 +2658,17 @@ DF.switch_templates ["OPTIONS_CHECKBOX_BRIGHT_TEMPLATE"] = {
onenterbordercolor = {1, 1, 1, 1},
}
--- buttons
-
+--buttons
DF.button_templates = DF.button_templates or {}
-DF.button_templates ["OPTIONS_BUTTON_TEMPLATE"] = {
+DF.button_templates["OPTIONS_BUTTON_TEMPLATE"] = {
backdrop = {edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true},
backdropcolor = {1, 1, 1, .5},
backdropbordercolor = {0, 0, 0, 1},
}
--- sliders
-
+--sliders
DF.slider_templates = DF.slider_templates or {}
-DF.slider_templates ["OPTIONS_SLIDER_TEMPLATE"] = {
+DF.slider_templates["OPTIONS_SLIDER_TEMPLATE"] = {
backdrop = {edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true},
backdropcolor = {1, 1, 1, .5},
backdropbordercolor = {0, 0, 0, 1},
@@ -2667,46 +2680,47 @@ DF.slider_templates ["OPTIONS_SLIDER_TEMPLATE"] = {
thumbcolor = {0, 0, 0, 0.5},
}
-function DF:InstallTemplate (widget_type, template_name, template, parent_name)
-
+function DF:InstallTemplate (widgetType, templateName, template, parentName)
local newTemplate = {}
-
+
--if has a parent, just copy the parent to the new template
- if (parent_name and type (parent_name) == "string") then
- local parentTemplate = DF:GetTemplate (widget_type, parent_name)
+ if (parentName and type(parentName) == "string") then
+ local parentTemplate = DF:GetTemplate(widgetType, parentName)
if (parentTemplate) then
- DF.table.copy (newTemplate, parentTemplate)
+ DF.table.copy(newTemplate, parentTemplate)
end
end
-
- --copy the template passed into the new template
- DF.table.copy (newTemplate, template)
- widget_type = string.lower (widget_type)
-
- local template_table
- if (widget_type == "font") then
- template_table = DF.font_templates
-
+ --copy the template passed into the new template
+ DF.table.copy(newTemplate, template)
+
+ widgetType = string.lower(widgetType)
+
+ local templateTable
+ if (widgetType == "font") then
+ templateTable = DF.font_templates
+
local font = template.font
if (font) then
- --> fonts passed into the template has default to western
- --> the framework will get the game client language and change the font if needed
- font = DF:GetBestFontForLanguage (nil, font)
+ --fonts passed into the template has default to western
+ --the framework will get the game client language and change the font if needed
+ font = DF:GetBestFontForLanguage(nil, font)
end
-
- elseif (widget_type == "dropdown") then
- template_table = DF.dropdown_templates
- elseif (widget_type == "button") then
- template_table = DF.button_templates
- elseif (widget_type == "switch") then
- template_table = DF.switch_templates
- elseif (widget_type == "slider") then
- template_table = DF.slider_templates
+
+ elseif (widgetType == "dropdown") then
+ templateTable = DF.dropdown_templates
+
+ elseif (widgetType == "button") then
+ templateTable = DF.button_templates
+
+ elseif (widgetType == "switch") then
+ templateTable = DF.switch_templates
+
+ elseif (widgetType == "slider") then
+ templateTable = DF.slider_templates
end
- template_table [template_name] = newTemplate
-
+ templateTable[templateName] = newTemplate
return newTemplate
end
diff --git a/Libs/DF/load.xml b/Libs/DF/load.xml
index a1d04971..54d7feaf 100644
--- a/Libs/DF/load.xml
+++ b/Libs/DF/load.xml
@@ -3,6 +3,7 @@
+
diff --git a/Libs/DF/mixins.lua b/Libs/DF/mixins.lua
index 72a6c66a..a0db5d46 100644
--- a/Libs/DF/mixins.lua
+++ b/Libs/DF/mixins.lua
@@ -211,11 +211,20 @@ DF.ScrollBoxFunctions = {
end
local okay, newLine = pcall(func, self, #self.Frames+1)
if (okay) then
+ if (not newLine) then
+ error("ScrollFrame:CreateLine() function did not returned a line, use: 'return line'")
+ end
tinsert(self.Frames, newLine)
newLine.Index = #self.Frames
return newLine
else
- error("Details! FrameWork: CreateLine(): " .. newLine)
+ error("ScrollFrame:CreateLine() error on creating a line: " .. newLine)
+ end
+ end,
+
+ CreateLines = function(self, callback, lineAmount)
+ for i = 1, lineAmount do
+ self:CreateLine(callback)
end
end,
diff --git a/Libs/DF/panel.lua b/Libs/DF/panel.lua
index 4d596eda..305b49c4 100644
--- a/Libs/DF/panel.lua
+++ b/Libs/DF/panel.lua
@@ -5430,38 +5430,38 @@ end
--mixed functions
DF.HeaderFunctions = {
- AddFrameToHeaderAlignment = function (self, frame)
+ AddFrameToHeaderAlignment = function(self, frame)
self.FramesToAlign = self.FramesToAlign or {}
- tinsert (self.FramesToAlign, frame)
+ tinsert(self.FramesToAlign, frame)
end,
--@self: an object like a line
--@headerFrame: the main header frame
--@anchor: which side the columnHeaders are attach
- AlignWithHeader = function (self, headerFrame, anchor)
+ AlignWithHeader = function(self, headerFrame, anchor)
local columnHeaderFrames = headerFrame.columnHeadersCreated
anchor = anchor or "topleft"
for i = 1, #self.FramesToAlign do
- local frame = self.FramesToAlign [i]
+ local frame = self.FramesToAlign[i]
frame:ClearAllPoints()
- local columnHeader = columnHeaderFrames [i]
+ local columnHeader = columnHeaderFrames[i]
local offset = 0
if (columnHeader.columnAlign == "right") then
offset = columnHeader:GetWidth()
if (frame:GetObjectType() == "FontString") then
- frame:SetJustifyH ("right")
+ frame:SetJustifyH("right")
end
end
- frame:SetPoint (columnHeader.columnAlign, self, anchor, columnHeader.XPosition + columnHeader.columnOffset + offset, 0)
+ frame:SetPoint(columnHeader.columnAlign, self, anchor, columnHeader.XPosition + columnHeader.columnOffset + offset, 0)
end
end,
--@self: column header button
- OnClick = function (self, buttonClicked)
+ OnClick = function(self, buttonClicked)
--get the header main frame
local headerFrame = self:GetParent()
@@ -5472,10 +5472,10 @@ DF.HeaderFunctions = {
end
--get the latest column header selected
- local previousColumnHeader = headerFrame.columnHeadersCreated [headerFrame.columnSelected]
+ local previousColumnHeader = headerFrame.columnHeadersCreated[headerFrame.columnSelected]
previousColumnHeader.Arrow:Hide()
- headerFrame:ResetColumnHeaderBackdrop (previousColumnHeader)
- headerFrame:SetBackdropColorForSelectedColumnHeader (self)
+ headerFrame:ResetColumnHeaderBackdrop(previousColumnHeader)
+ headerFrame:SetBackdropColorForSelectedColumnHeader(self)
if (headerFrame.columnSelected == self.columnIndex) then
self.order = self.order ~= "ASC" and "ASC" or "DESC"
@@ -5485,20 +5485,24 @@ DF.HeaderFunctions = {
--set the new column header selected
headerFrame.columnSelected = self.columnIndex
- headerFrame:UpdateSortArrow (self)
+ headerFrame:UpdateSortArrow(self)
if (headerFrame.options.header_click_callback) then
--callback with the main header frame, column header, column index and column order as payload
- local okay, errortext = pcall (headerFrame.options.header_click_callback, headerFrame, self, self.columnIndex, self.order)
+ local okay, errortext = pcall(headerFrame.options.header_click_callback, headerFrame, self, self.columnIndex, self.order)
if (not okay) then
- print ("DF: Header onClick callback error:", errortext)
+ print("DF: Header onClick callback error:", errortext)
end
end
end,
}
DF.HeaderCoreFunctions = {
- SetHeaderTable = function (self, newTable)
+ GetColumnWidth = function(self, columnId)
+ return self.HeaderTable[columnId].width
+ end,
+
+ SetHeaderTable = function(self, newTable)
self.columnHeadersCreated = self.columnHeadersCreated or {}
self.HeaderTable = newTable
self.NextHeader = 1
@@ -5508,72 +5512,70 @@ DF.HeaderCoreFunctions = {
end,
--return which header is current selected and the the order ASC DESC
- GetSelectedColumn = function (self)
- return self.columnSelected, self.columnHeadersCreated [self.columnSelected or 1].order
+ GetSelectedColumn = function(self)
+ return self.columnSelected, self.columnHeadersCreated[self.columnSelected or 1].order
end,
--clean up and rebuild the header following the header options
--@self: main header frame
- Refresh = function (self)
- --> refresh background frame
- self:SetBackdrop (self.options.backdrop)
- self:SetBackdropColor (unpack (self.options.backdrop_color))
- self:SetBackdropBorderColor (unpack (self.options.backdrop_border_color))
+ Refresh = function(self)
+ --refresh background frame
+ self:SetBackdrop(self.options.backdrop)
+ self:SetBackdropColor(unpack (self.options.backdrop_color))
+ self:SetBackdropBorderColor(unpack (self.options.backdrop_border_color))
- --> reset all header frames
+ --reset all header frames
for i = 1, #self.columnHeadersCreated do
- local columnHeader = self.columnHeadersCreated [i]
+ local columnHeader = self.columnHeadersCreated[i]
columnHeader.InUse = false
columnHeader:Hide()
end
local previousColumnHeader
- local growDirection = string.lower (self.options.grow_direction)
+ local growDirection = string.lower(self.options.grow_direction)
- --> update header frames
+ --update header frames
local headerSize = #self.HeaderTable
for i = 1, headerSize do
-
- --> get the header button, a new one is created if it doesn't exists yet
+ --get the header button, a new one is created if it doesn't exists yet
local columnHeader = self:GetNextHeader()
- self:UpdateColumnHeader (columnHeader, i)
+ self:UpdateColumnHeader(columnHeader, i)
- --> grow direction
+ --grow direction
if (not previousColumnHeader) then
- columnHeader:SetPoint ("topleft", self, "topleft", 0, 0)
+ columnHeader:SetPoint("topleft", self, "topleft", 0, 0)
if (growDirection == "right") then
if (self.options.use_line_separators) then
columnHeader.Separator:Show()
- columnHeader.Separator:SetWidth (self.options.line_separator_width)
- columnHeader.Separator:SetColorTexture (unpack (self.options.line_separator_color))
+ columnHeader.Separator:SetWidth(self.options.line_separator_width)
+ columnHeader.Separator:SetColorTexture(unpack(self.options.line_separator_color))
columnHeader.Separator:ClearAllPoints()
if (self.options.line_separator_gap_align) then
- columnHeader.Separator:SetPoint ("topleft", columnHeader, "topright", 0, 0)
+ columnHeader.Separator:SetPoint("topleft", columnHeader, "topright", 0, 0)
else
- columnHeader.Separator:SetPoint ("topright", columnHeader, "topright", 0, 0)
+ columnHeader.Separator:SetPoint("topright", columnHeader, "topright", 0, 0)
end
- columnHeader.Separator:SetHeight (self.options.line_separator_height)
+ columnHeader.Separator:SetHeight(self.options.line_separator_height)
end
end
-
else
if (growDirection == "right") then
- columnHeader:SetPoint ("topleft", previousColumnHeader, "topright", self.options.padding, 0)
+ columnHeader:SetPoint("topleft", previousColumnHeader, "topright", self.options.padding, 0)
if (self.options.use_line_separators) then
columnHeader.Separator:Show()
- columnHeader.Separator:SetWidth (self.options.line_separator_width)
- columnHeader.Separator:SetColorTexture (unpack (self.options.line_separator_color))
+ columnHeader.Separator:SetWidth(self.options.line_separator_width)
+ columnHeader.Separator:SetColorTexture(unpack (self.options.line_separator_color))
columnHeader.Separator:ClearAllPoints()
if (self.options.line_separator_gap_align) then
- columnHeader.Separator:SetPoint ("topleft", columnHeader, "topright", 0, 0)
+ columnHeader.Separator:SetPoint("topleft", columnHeader, "topright", 0, 0)
else
- columnHeader.Separator:SetPoint ("topleft", columnHeader, "topright", 0, 0)
+ columnHeader.Separator:SetPoint("topleft", columnHeader, "topright", 0, 0)
end
- columnHeader.Separator:SetHeight (self.options.line_separator_height)
+ columnHeader.Separator:SetHeight(self.options.line_separator_height)
if (headerSize == i) then
columnHeader.Separator:Hide()
@@ -5581,84 +5583,81 @@ DF.HeaderCoreFunctions = {
end
elseif (growDirection == "left") then
- columnHeader:SetPoint ("topright", previousColumnHeader, "topleft", -self.options.padding, 0)
+ columnHeader:SetPoint("topright", previousColumnHeader, "topleft", -self.options.padding, 0)
elseif (growDirection == "bottom") then
- columnHeader:SetPoint ("topleft", previousColumnHeader, "bottomleft", 0, -self.options.padding)
+ columnHeader:SetPoint("topleft", previousColumnHeader, "bottomleft", 0, -self.options.padding)
elseif (growDirection == "top") then
- columnHeader:SetPoint ("bottomleft", previousColumnHeader, "topleft", 0, self.options.padding)
+ columnHeader:SetPoint("bottomleft", previousColumnHeader, "topleft", 0, self.options.padding)
end
end
previousColumnHeader = columnHeader
end
- self:SetSize (self.HeaderWidth, self.HeaderHeight)
-
+ self:SetSize(self.HeaderWidth, self.HeaderHeight)
end,
--@self: main header frame
- UpdateSortArrow = function (self, columnHeader, defaultShown, defaultOrder)
-
+ UpdateSortArrow = function(self, columnHeader, defaultShown, defaultOrder)
local options = self.options
local order = defaultOrder or columnHeader.order
local arrowIcon = columnHeader.Arrow
- if (type (defaultShown) ~= "boolean") then
+ if (type(defaultShown) ~= "boolean") then
arrowIcon:Show()
else
- arrowIcon:SetShown (defaultShown)
+ arrowIcon:SetShown(defaultShown)
if (defaultShown) then
- self:SetBackdropColorForSelectedColumnHeader (columnHeader)
+ self:SetBackdropColorForSelectedColumnHeader(columnHeader)
end
end
- arrowIcon:SetAlpha (options.arrow_alpha)
+ arrowIcon:SetAlpha(options.arrow_alpha)
if (order == "ASC") then
- arrowIcon:SetTexture (options.arrow_up_texture)
- arrowIcon:SetTexCoord (unpack (options.arrow_up_texture_coords))
- arrowIcon:SetSize (unpack (options.arrow_up_size))
+ arrowIcon:SetTexture(options.arrow_up_texture)
+ arrowIcon:SetTexCoord(unpack(options.arrow_up_texture_coords))
+ arrowIcon:SetSize(unpack(options.arrow_up_size))
elseif (order == "DESC") then
- arrowIcon:SetTexture (options.arrow_down_texture)
- arrowIcon:SetTexCoord (unpack (options.arrow_down_texture_coords))
- arrowIcon:SetSize (unpack (options.arrow_down_size))
+ arrowIcon:SetTexture(options.arrow_down_texture)
+ arrowIcon:SetTexCoord(unpack(options.arrow_down_texture_coords))
+ arrowIcon:SetSize(unpack(options.arrow_down_size))
end
-
end,
--@self: main header frame
- UpdateColumnHeader = function (self, columnHeader, headerIndex)
- local headerData = self.HeaderTable [headerIndex]
+ UpdateColumnHeader = function(self, columnHeader, headerIndex)
+ local headerData = self.HeaderTable[headerIndex]
if (headerData.icon) then
- columnHeader.Icon:SetTexture (headerData.icon)
+ columnHeader.Icon:SetTexture(headerData.icon)
if (headerData.texcoord) then
- columnHeader.Icon:SetTexCoord (unpack (headerData.texcoord))
+ columnHeader.Icon:SetTexCoord(unpack(headerData.texcoord))
else
- columnHeader.Icon:SetTexCoord (0, 1, 0, 1)
+ columnHeader.Icon:SetTexCoord(0, 1, 0, 1)
end
- columnHeader.Icon:SetPoint ("left", columnHeader, "left", self.options.padding, 0)
+ columnHeader.Icon:SetPoint("left", columnHeader, "left", self.options.padding, 0)
columnHeader.Icon:Show()
end
if (headerData.text) then
- columnHeader.Text:SetText (headerData.text)
+ columnHeader.Text:SetText(headerData.text)
- --> text options
- DF:SetFontColor (columnHeader.Text, self.options.text_color)
- DF:SetFontSize (columnHeader.Text, self.options.text_size)
- DF:SetFontOutline (columnHeader.Text, self.options.text_shadow)
+ --text options
+ DF:SetFontColor(columnHeader.Text, self.options.text_color)
+ DF:SetFontSize(columnHeader.Text, self.options.text_size)
+ DF:SetFontOutline(columnHeader.Text, self.options.text_shadow)
- --> point
+ --point
if (not headerData.icon) then
- columnHeader.Text:SetPoint ("left", columnHeader, "left", self.options.padding, 0)
+ columnHeader.Text:SetPoint("left", columnHeader, "left", self.options.padding, 0)
else
- columnHeader.Text:SetPoint ("left", columnHeader.Icon, "right", self.options.padding, 0)
+ columnHeader.Text:SetPoint("left", columnHeader.Icon, "right", self.options.padding, 0)
end
columnHeader.Text:Show()
@@ -5669,43 +5668,43 @@ DF.HeaderCoreFunctions = {
if (headerData.canSort) then
columnHeader.order = "DESC"
- columnHeader.Arrow:SetTexture (self.options.arrow_up_texture)
+ columnHeader.Arrow:SetTexture(self.options.arrow_up_texture)
else
columnHeader.Arrow:Hide()
end
if (headerData.selected) then
columnHeader.Arrow:Show()
- columnHeader.Arrow:SetAlpha (.843)
- self:UpdateSortArrow (columnHeader, true, columnHeader.order)
+ columnHeader.Arrow:SetAlpha(.843)
+ self:UpdateSortArrow(columnHeader, true, columnHeader.order)
self.columnSelected = headerIndex
else
if (headerData.canSort) then
- self:UpdateSortArrow (columnHeader, false, columnHeader.order)
+ self:UpdateSortArrow(columnHeader, false, columnHeader.order)
end
end
-
- --> size
+
+ --size
if (headerData.width) then
- columnHeader:SetWidth (headerData.width)
+ columnHeader:SetWidth(headerData.width)
end
if (headerData.height) then
- columnHeader:SetHeight (headerData.height)
+ columnHeader:SetHeight(headerData.height)
end
-
- columnHeader.XPosition = self.HeaderWidth-- + self.options.padding
- columnHeader.YPosition = self.HeaderHeight-- + self.options.padding
-
+
+ columnHeader.XPosition = self.HeaderWidth -- + self.options.padding
+ columnHeader.YPosition = self.HeaderHeight -- + self.options.padding
+
columnHeader.columnAlign = headerData.align or "left"
columnHeader.columnOffset = headerData.offset or 0
-
- --> add the header piece size to the total header size
- local growDirection = string.lower (self.options.grow_direction)
-
+
+ --add the header piece size to the total header size
+ local growDirection = string.lower(self.options.grow_direction)
+
if (growDirection == "right" or growDirection == "left") then
self.HeaderWidth = self.HeaderWidth + columnHeader:GetWidth() + self.options.padding
self.HeaderHeight = math.max (self.HeaderHeight, columnHeader:GetHeight())
-
+
elseif (growDirection == "top" or growDirection == "bottom") then
self.HeaderWidth = math.max (self.HeaderWidth, columnHeader:GetWidth())
self.HeaderHeight = self.HeaderHeight + columnHeader:GetHeight() + self.options.padding
@@ -5717,63 +5716,63 @@ DF.HeaderCoreFunctions = {
--reset column header backdrop
--@self: main header frame
- ResetColumnHeaderBackdrop = function (self, columnHeader)
- columnHeader:SetBackdrop (self.options.header_backdrop)
- columnHeader:SetBackdropColor (unpack (self.options.header_backdrop_color))
- columnHeader:SetBackdropBorderColor (unpack (self.options.header_backdrop_border_color))
+ ResetColumnHeaderBackdrop = function(self, columnHeader)
+ columnHeader:SetBackdrop(self.options.header_backdrop)
+ columnHeader:SetBackdropColor(unpack(self.options.header_backdrop_color))
+ columnHeader:SetBackdropBorderColor(unpack(self.options.header_backdrop_border_color))
end,
--@self: main header frame
- SetBackdropColorForSelectedColumnHeader = function (self, columnHeader)
- columnHeader:SetBackdropColor (unpack (self.options.header_backdrop_color_selected))
+ SetBackdropColorForSelectedColumnHeader = function(self, columnHeader)
+ columnHeader:SetBackdropColor(unpack(self.options.header_backdrop_color_selected))
end,
--clear the column header
--@self: main header frame
- ClearColumnHeader = function (self, columnHeader)
- columnHeader:SetSize (self.options.header_width, self.options.header_height)
- self:ResetColumnHeaderBackdrop (columnHeader)
+ ClearColumnHeader = function(self, columnHeader)
+ columnHeader:SetSize(self.options.header_width, self.options.header_height)
+ self:ResetColumnHeaderBackdrop(columnHeader)
columnHeader:ClearAllPoints()
- columnHeader.Icon:SetTexture ("")
+ columnHeader.Icon:SetTexture("")
columnHeader.Icon:Hide()
- columnHeader.Text:SetText ("")
+ columnHeader.Text:SetText("")
columnHeader.Text:Hide()
end,
--get the next column header, create one if doesn't exists
--@self: main header frame
- GetNextHeader = function (self)
+ GetNextHeader = function(self)
local nextHeader = self.NextHeader
- local columnHeader = self.columnHeadersCreated [nextHeader]
+ local columnHeader = self.columnHeadersCreated[nextHeader]
if (not columnHeader) then
--create a new column header
- local newHeader = CreateFrame ("button", "$parentHeaderIndex" .. nextHeader, self,"BackdropTemplate")
- newHeader:SetScript ("OnClick", DF.HeaderFunctions.OnClick)
+ local newHeader = CreateFrame("button", "$parentHeaderIndex" .. nextHeader, self, "BackdropTemplate")
+ newHeader:SetScript("OnClick", DF.HeaderFunctions.OnClick)
--header icon
- DF:CreateImage (newHeader, "", self.options.header_height, self.options.header_height, "ARTWORK", nil, "Icon", "$parentIcon")
+ DF:CreateImage(newHeader, "", self.options.header_height, self.options.header_height, "ARTWORK", nil, "Icon", "$parentIcon")
--header separator
- DF:CreateImage (newHeader, "", 1, 1, "ARTWORK", nil, "Separator", "$parentSeparator")
+ DF:CreateImage(newHeader, "", 1, 1, "ARTWORK", nil, "Separator", "$parentSeparator")
--header name text
- DF:CreateLabel (newHeader, "", self.options.text_size, self.options.text_color, "GameFontNormal", "Text", "$parentText", "ARTWORK")
+ DF:CreateLabel(newHeader, "", self.options.text_size, self.options.text_color, "GameFontNormal", "Text", "$parentText", "ARTWORK")
--header selected and order icon
- DF:CreateImage (newHeader, self.options.arrow_up_texture, 12, 12, "ARTWORK", nil, "Arrow", "$parentArrow")
+ DF:CreateImage(newHeader, self.options.arrow_up_texture, 12, 12, "ARTWORK", nil, "Arrow", "$parentArrow")
- newHeader.Arrow:SetPoint ("right", newHeader, "right", -1, 0)
+ newHeader.Arrow:SetPoint("right", newHeader, "right", -1, 0)
newHeader.Separator:Hide()
newHeader.Arrow:Hide()
- self:UpdateSortArrow (newHeader, false, "DESC")
+ self:UpdateSortArrow(newHeader, false, "DESC")
- tinsert (self.columnHeadersCreated, newHeader)
+ tinsert(self.columnHeadersCreated, newHeader)
columnHeader = newHeader
end
- self:ClearColumnHeader (columnHeader)
+ self:ClearColumnHeader(columnHeader)
self.NextHeader = self.NextHeader + 1
return columnHeader
end,
@@ -5817,21 +5816,21 @@ local default_header_options = {
line_separator_gap_align = false,
}
-function DF:CreateHeader (parent, headerTable, options, frameName)
- local f = CreateFrame ("frame", frameName or "$parentHeaderLine", parent,"BackdropTemplate")
+function DF:CreateHeader(parent, headerTable, options, frameName)
+ local newHeader = CreateFrame("frame", frameName or "$parentHeaderLine", parent, "BackdropTemplate")
- DF:Mixin (f, DF.OptionsFunctions)
- DF:Mixin (f, DF.HeaderCoreFunctions)
+ DF:Mixin(newHeader, DF.OptionsFunctions)
+ DF:Mixin(newHeader, DF.HeaderCoreFunctions)
- f:BuildOptionsTable (default_header_options, options)
+ newHeader:BuildOptionsTable(default_header_options, options)
- f:SetBackdrop (f.options.backdrop)
- f:SetBackdropColor (unpack (f.options.backdrop_color))
- f:SetBackdropBorderColor (unpack (f.options.backdrop_border_color))
+ newHeader:SetBackdrop(newHeader.options.backdrop)
+ newHeader:SetBackdropColor(unpack(newHeader.options.backdrop_color))
+ newHeader:SetBackdropBorderColor(unpack(newHeader.options.backdrop_border_color))
- f:SetHeaderTable (headerTable)
+ newHeader:SetHeaderTable(headerTable)
- return f
+ return newHeader
end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
diff --git a/Libs/DF/textentry.lua b/Libs/DF/textentry.lua
index 9793dd37..9b4ae9fa 100644
--- a/Libs/DF/textentry.lua
+++ b/Libs/DF/textentry.lua
@@ -1,21 +1,11 @@
local DF = _G ["DetailsFramework"]
if (not DF or not DetailsFrameworkCanLoad) then
- return
+ return
end
local _
-local _rawset = rawset --> lua local
-local _rawget = rawget --> lua local
-local _setmetatable = setmetatable --> lua local
-local _unpack = unpack --> lua local
-local _type = type --> lua local
-local _math_floor = math.floor --> lua local
local loadstring = loadstring --> lua local
-local _string_len = string.len --> lua local
-
-
-local cleanfunction = function() end
local APITextEntryFunctions = false
do
@@ -25,14 +15,13 @@ do
HasHook = DF.HasHook,
ClearHooks = DF.ClearHooks,
RunHooksForWidget = DF.RunHooksForWidget,
-
dversion = DF.dversion,
}
--check if there's a metaPrototype already existing
if (_G[DF.GlobalWidgetControlNames["textentry"]]) then
--get the already existing metaPrototype
- local oldMetaPrototype = _G[DF.GlobalWidgetControlNames ["textentry"]]
+ local oldMetaPrototype = _G[DF.GlobalWidgetControlNames["textentry"]]
--check if is older
if ( (not oldMetaPrototype.dversion) or (oldMetaPrototype.dversion < DF.dversion) ) then
--the version is older them the currently loading one
@@ -43,150 +32,164 @@ do
end
else
--first time loading the framework
- _G[DF.GlobalWidgetControlNames ["textentry"]] = metaPrototype
+ _G[DF.GlobalWidgetControlNames["textentry"]] = metaPrototype
end
end
-local TextEntryMetaFunctions = _G[DF.GlobalWidgetControlNames ["textentry"]]
+local TextEntryMetaFunctions = _G[DF.GlobalWidgetControlNames["textentry"]]
DF.TextEntryCounter = DF.TextEntryCounter or 1
------------------------------------------------------------------------------------------------------------
---> metatables
+--metatables
+ TextEntryMetaFunctions.__call = function(object, value)
- TextEntryMetaFunctions.__call = function (_table, value)
- --> unknow
end
-
+
------------------------------------------------------------------------------------------------------------
---> members
+--members
+ --tooltip
+ local gmember_tooltip = function(object)
+ return object:GetTooltip()
+ end
- --> tooltip
- local gmember_tooltip = function (_object)
- return _object:GetTooltip()
+ --shown
+ local gmember_shown = function(object)
+ return object:IsShown()
end
- --> shown
- local gmember_shown = function (_object)
- return _object:IsShown()
+
+ --frame width
+ local gmember_width = function(object)
+ return object.editbox:GetWidth()
end
- --> frame width
- local gmember_width = function (_object)
- return _object.editbox:GetWidth()
+
+ --frame height
+ local gmember_height = function(object)
+ return object.editbox:GetHeight()
end
- --> frame height
- local gmember_height = function (_object)
- return _object.editbox:GetHeight()
+
+ --get text
+ local gmember_text = function(object)
+ return object.editbox:GetText()
end
- --> get text
- local gmember_text = function (_object)
- return _object.editbox:GetText()
+
+ --return if the text entry has focus
+ local gmember_hasfocus = function(object)
+ return object:HasFocus()
end
TextEntryMetaFunctions.GetMembers = TextEntryMetaFunctions.GetMembers or {}
- TextEntryMetaFunctions.GetMembers ["tooltip"] = gmember_tooltip
- TextEntryMetaFunctions.GetMembers ["shown"] = gmember_shown
- TextEntryMetaFunctions.GetMembers ["width"] = gmember_width
- TextEntryMetaFunctions.GetMembers ["height"] = gmember_height
- TextEntryMetaFunctions.GetMembers ["text"] = gmember_text
+ TextEntryMetaFunctions.GetMembers["tooltip"] = gmember_tooltip
+ TextEntryMetaFunctions.GetMembers["shown"] = gmember_shown
+ TextEntryMetaFunctions.GetMembers["width"] = gmember_width
+ TextEntryMetaFunctions.GetMembers["height"] = gmember_height
+ TextEntryMetaFunctions.GetMembers["text"] = gmember_text
+ TextEntryMetaFunctions.GetMembers["hasfocus"] = gmember_hasfocus
- TextEntryMetaFunctions.__index = function (_table, _member_requested)
- local func = TextEntryMetaFunctions.GetMembers [_member_requested]
+ TextEntryMetaFunctions.__index = function(object, key)
+ local func = TextEntryMetaFunctions.GetMembers[key]
if (func) then
- return func (_table, _member_requested)
+ return func(object, key)
end
-
- local fromMe = _rawget (_table, _member_requested)
+
+ local fromMe = rawget(object, key)
if (fromMe) then
return fromMe
end
-
- return TextEntryMetaFunctions [_member_requested]
+
+ return TextEntryMetaFunctions[key]
end
-
+
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
- --> tooltip
- local smember_tooltip = function (_object, _value)
- return _object:SetTooltip (_value)
+ --tooltip
+ local smember_tooltip = function(object, value)
+ return object:SetTooltip(value)
end
- --> show
- local smember_show = function (_object, _value)
- if (_value) then
- return _object:Show()
+
+ --show
+ local smember_show = function(object, value)
+ if (value) then
+ return object:Show()
else
- return _object:Hide()
+ return object:Hide()
end
end
- --> hide
- local smember_hide = function (_object, _value)
- if (not _value) then
- return _object:Show()
+
+ --hide
+ local smember_hide = function(object, value)
+ if (not value) then
+ return object:Show()
else
- return _object:Hide()
- end
- end
- --> frame width
- local smember_width = function (_object, _value)
- return _object.editbox:SetWidth (_value)
- end
- --> frame height
- local smember_height = function (_object, _value)
- return _object.editbox:SetHeight (_value)
- end
- --> set text
- local smember_text = function (_object, _value)
- return _object.editbox:SetText (_value)
- end
- --> set multiline
- local smember_multiline = function (_object, _value)
- if (_value) then
- return _object.editbox:SetMultiLine (true)
- else
- return _object.editbox:SetMultiLine (false)
+ return object:Hide()
end
end
- --> text horizontal pos
- local smember_horizontalpos = function (_object, _value)
- return _object.editbox:SetJustifyH (string.lower (_value))
+
+ --frame width
+ local smember_width = function(object, value)
+ return object.editbox:SetWidth(value)
end
-
+
+ --frame height
+ local smember_height = function(object, value)
+ return object.editbox:SetHeight(value)
+ end
+
+ --set text
+ local smember_text = function(object, value)
+ return object.editbox:SetText(value)
+ end
+
+ --set multiline
+ local smember_multiline = function(object, value)
+ if (value) then
+ return object.editbox:SetMultiLine(true)
+ else
+ return object.editbox:SetMultiLine(false)
+ end
+ end
+
+ --text horizontal pos
+ local smember_horizontalpos = function(object, value)
+ return object.editbox:SetJustifyH (string.lower(value))
+ end
+
TextEntryMetaFunctions.SetMembers = TextEntryMetaFunctions.SetMembers or {}
- TextEntryMetaFunctions.SetMembers ["tooltip"] = smember_tooltip
- TextEntryMetaFunctions.SetMembers ["show"] = smember_show
- TextEntryMetaFunctions.SetMembers ["hide"] = smember_hide
- TextEntryMetaFunctions.SetMembers ["width"] = smember_width
- TextEntryMetaFunctions.SetMembers ["height"] = smember_height
- TextEntryMetaFunctions.SetMembers ["text"] = smember_text
- TextEntryMetaFunctions.SetMembers ["multiline"] = smember_multiline
- TextEntryMetaFunctions.SetMembers ["align"] = smember_horizontalpos
-
- TextEntryMetaFunctions.__newindex = function (_table, _key, _value)
- local func = TextEntryMetaFunctions.SetMembers [_key]
+ TextEntryMetaFunctions.SetMembers["tooltip"] = smember_tooltip
+ TextEntryMetaFunctions.SetMembers["show"] = smember_show
+ TextEntryMetaFunctions.SetMembers["hide"] = smember_hide
+ TextEntryMetaFunctions.SetMembers["width"] = smember_width
+ TextEntryMetaFunctions.SetMembers["height"] = smember_height
+ TextEntryMetaFunctions.SetMembers["text"] = smember_text
+ TextEntryMetaFunctions.SetMembers["multiline"] = smember_multiline
+ TextEntryMetaFunctions.SetMembers["align"] = smember_horizontalpos
+
+ TextEntryMetaFunctions.__newindex = function(object, key, value)
+ local func = TextEntryMetaFunctions.SetMembers[key]
if (func) then
- return func (_table, _value)
+ return func(object, value)
else
- return _rawset (_table, _key, _value)
+ return rawset(object, key, value)
end
end
------------------------------------------------------------------------------------------------------------
---> methods
+--methods
local cleanfunction = function()end
- function TextEntryMetaFunctions:SetEnterFunction (func, param1, param2)
+ function TextEntryMetaFunctions:SetEnterFunction(func, param1, param2)
if (func) then
- _rawset (self, "func", func)
+ rawset (self, "func", func)
else
- _rawset (self, "func", cleanfunction)
+ rawset (self, "func", cleanfunction)
end
-
+
if (param1 ~= nil) then
- _rawset (self, "param1", param1)
+ rawset (self, "param1", param1)
end
if (param2 ~= nil) then
- _rawset (self, "param2", param2)
+ rawset (self, "param2", param2)
end
end
---> set point
+--set point
function TextEntryMetaFunctions:SetPoint (MyAnchor, SnapTo, HisAnchor, x, y, Width)
if (type (MyAnchor) == "boolean" and MyAnchor and self.space) then
@@ -232,7 +235,7 @@ DF.TextEntryCounter = DF.TextEntryCounter or 1
return self.editbox:GetText()
end
---> frame levels
+--frame levels
function TextEntryMetaFunctions:GetFrameLevel()
return self.editbox:GetFrameLevel()
end
@@ -257,12 +260,16 @@ DF.TextEntryCounter = DF.TextEntryCounter or 1
return self.editbox:SetBackdropBorderColor(...)
end
---> select all text
+--select all text
function TextEntryMetaFunctions:SelectAll()
self.editbox:HighlightText()
end
+
+ function TextEntryMetaFunctions:SetAutoSelectTextOnFocus(value)
+ self.autoSelectAllText = value
+ end
---> set labal description
+--set labal description
function TextEntryMetaFunctions:SetLabelText (text)
if (text) then
self.label:SetText (text)
@@ -296,13 +303,13 @@ DF.TextEntryCounter = DF.TextEntryCounter or 1
-- tooltip
function TextEntryMetaFunctions:SetTooltip (tooltip)
if (tooltip) then
- return _rawset (self, "have_tooltip", tooltip)
+ return rawset (self, "have_tooltip", tooltip)
else
- return _rawset (self, "have_tooltip", nil)
+ return rawset (self, "have_tooltip", nil)
end
end
function TextEntryMetaFunctions:GetTooltip()
- return _rawget (self, "have_tooltip")
+ return rawget (self, "have_tooltip")
end
--> hooks
@@ -409,34 +416,33 @@ DF.TextEntryCounter = DF.TextEntryCounter or 1
end
end
- local OnEnterPressed = function (textentry, byScript)
- local capsule = textentry.MyObject
+ local OnEnterPressed = function(textentry, byScript)
+ local object = textentry.MyObject
- if (capsule.ignoreNextCallback) then
- DF.Schedules.RunNextTick(function() capsule.ignoreNextCallback = nil end)
+ if (object.ignoreNextCallback) then
+ DF.Schedules.RunNextTick(function() object.ignoreNextCallback = nil end)
return
end
- local kill = capsule:RunHooksForWidget ("OnEnterPressed", textentry, capsule, capsule.text)
+ local kill = object:RunHooksForWidget("OnEnterPressed", textentry, object, object.text)
if (kill) then
return
end
-
- local texto = DF:trim (textentry:GetText())
- if (_string_len (texto) > 0) then
- textentry.text = texto
- if (textentry.MyObject.func) then
- textentry.MyObject.func (textentry.MyObject.param1, textentry.MyObject.param2, texto, textentry, byScript or textentry)
+
+ local text = DF:Trim(textentry:GetText())
+ if (string.len(text) > 0) then
+ textentry.text = text
+ if (textentry.MyObject.func) then
+ textentry.MyObject.func(textentry.MyObject.param1, textentry.MyObject.param2, text, textentry, byScript or textentry)
end
else
textentry:SetText ("")
textentry.MyObject.currenttext = ""
end
-
- if (not capsule.NoClearFocusOnEnterPressed) then
+
+ if (not object.NoClearFocusOnEnterPressed) then
textentry.focuslost = true --> quando estiver editando e clicar em outra caixa
textentry:ClearFocus()
-
if (textentry.MyObject.tab_on_enter and textentry.MyObject.next) then
textentry.MyObject.next:SetFocus()
end
@@ -454,68 +460,64 @@ DF.TextEntryCounter = DF.TextEntryCounter or 1
textentry.focuslost = true
textentry:ClearFocus()
end
-
- local OnSpacePressed = function (textentry)
- local capsule = textentry.MyObject
-
- local kill = capsule:RunHooksForWidget ("OnSpacePressed", textentry, capsule)
+
+ local OnSpacePressed = function(textEntry)
+ local object = textEntry.MyObject
+ local kill = object:RunHooksForWidget ("OnSpacePressed", textEntry, object)
if (kill) then
return
end
end
-
- local OnEditFocusLost = function (textentry)
- local capsule = textentry.MyObject
+ local OnEditFocusLost = function(textEntry)
+ local object = textEntry.MyObject
- if (capsule.ignoreNextCallback) then
- DF.Schedules.RunNextTick(function() capsule.ignoreNextCallback = nil end)
+ if (object.ignoreNextCallback) then
+ DF.Schedules.RunNextTick(function() object.ignoreNextCallback = nil end)
return
end
- if (textentry:IsShown()) then
-
- local kill = capsule:RunHooksForWidget ("OnEditFocusLost", textentry, capsule, capsule.text)
+ if (textEntry:IsShown()) then
+ local kill = object:RunHooksForWidget("OnEditFocusLost", textEntry, object, object.text)
if (kill) then
return
end
-
- if (not textentry.focuslost) then
- local texto = DF:trim (textentry:GetText())
- if (_string_len (texto) > 0) then
- textentry.MyObject.currenttext = texto
- if (textentry.MyObject.func) then
- textentry.MyObject.func (textentry.MyObject.param1, textentry.MyObject.param2, texto, textentry, nil)
- end
- else
- textentry:SetText ("")
- textentry.MyObject.currenttext = ""
- end
- else
- textentry.focuslost = false
- end
-
- textentry.MyObject.label:SetTextColor (.8, .8, .8, 1)
+ if (not textEntry.focuslost) then
+ local text = DF:Trim(textEntry:GetText())
+ if (string.len(text) > 0) then
+ textEntry.MyObject.currenttext = text
+ if (textEntry.MyObject.func) then
+ textEntry.MyObject.func(textEntry.MyObject.param1, textEntry.MyObject.param2, text, textEntry, nil)
+ end
+ else
+ textEntry:SetText("")
+ textEntry.MyObject.currenttext = ""
+ end
+ else
+ textEntry.focuslost = false
+ end
+
+ textEntry.MyObject.label:SetTextColor (.8, .8, .8, 1)
end
end
-
- local OnEditFocusGained = function (textentry)
-
- local capsule = textentry.MyObject
-
- local kill = capsule:RunHooksForWidget ("OnEditFocusGained", textentry, capsule)
+
+ local OnEditFocusGained = function(textentry)
+ local object = textentry.MyObject
+ local kill = object:RunHooksForWidget ("OnEditFocusGained", textentry, object)
if (kill) then
return
end
+ textentry.MyObject.label:SetTextColor(1, 1, 1, 1)
- textentry.MyObject.label:SetTextColor (1, 1, 1, 1)
+ if (object.autoSelectAllText) then
+ object:SelectAll()
+ end
end
-
- local OnChar = function (textentry, char)
- local capsule = textentry.MyObject
-
- local kill = capsule:RunHooksForWidget ("OnChar", textentry, char, capsule)
+
+ local OnChar = function(textentry, char)
+ local object = textentry.MyObject
+ local kill = object:RunHooksForWidget ("OnChar", textentry, char, object)
if (kill) then
return
end
@@ -729,7 +731,7 @@ function DF:NewTextEntry (parent, container, name, member, w, h, func, param1, p
TextEntryObject.editbox:SetScript ("OnTextChanged", OnTextChanged)
TextEntryObject.editbox:SetScript ("OnTabPressed", OnTabPressed)
- _setmetatable (TextEntryObject, TextEntryMetaFunctions)
+ setmetatable (TextEntryObject, TextEntryMetaFunctions)
if (with_label) then
local label = DF:CreateLabel (TextEntryObject.editbox, with_label, nil, nil, nil, "label", nil, "overlay")
@@ -1309,1261 +1311,4 @@ function DF.DecodeString (data)
result = string.format('%s%s%s%s',result,string.char(lor(lsh(chars[1],2), rsh(chars[2],4))),(chars[3] ~= nil) and string.char(lor(lsh(chars[2],4), rsh(chars[3],2))) or "",(chars[4] ~= nil) and string.char(lor(lsh(chars[3],6) % 192, (chars[4]))) or "")
end
return result
-end
-
-
-DF.AutoCompleteAPI = {
- "local",
- "AddTrackedAchievement", -- [1]
- "CanShowAchievementUI", -- [2]
- "ClearAchievementComparisonUnit", -- [3]
- "GetAchievementCategory", -- [4]
- "GetAchievementComparisonInfo", -- [5]
- "GetAchievementCriteriaInfo", -- [6]
- "GetAchievementInfo", -- [7]
- "GetAchievementInfoFromCriteria", -- [8]
- "GetAchievementLink", -- [9]
- "GetAchievementNumCriteria", -- [10]
- "GetAchievementNumRewards", -- [11]
- "GetCategoryInfo", -- [12]
- "GetCategoryList", -- [13]
- "GetCategoryNumAchievements", -- [14]
- "GetComparisonAchievementPoints", -- [15]
- "GetComparisonCategoryNumAchievements", -- [16]
- "GetComparisonStatistic", -- [17]
- "GetLatestCompletedAchievements", -- [18]
- "GetLatestCompletedComparisonAchievements", -- [19]
- "GetLatestUpdatedComparisonStatsGetLatestUpdatedStats", -- [20]
- "GetNextAchievement", -- [21]
- "GetNumComparisonCompletedAchievements", -- [22]
- "GetNumCompletedAchievements", -- [23]
- "GetPreviousAchievement", -- [24]
- "GetStatistic", -- [25]
- "GetStatisticsCategoryList", -- [26]
- "GetTotalAchievementPoints", -- [27]
- "GetTrackedAchievements", -- [28]
- "GetNumTrackedAchievements", -- [29]
- "RemoveTrackedAchievement", -- [30]
- "SetAchievementComparisonUnit", -- [31]
- "ActionButtonDown", -- [32]
- "ActionButtonUp", -- [33]
- "ActionHasRange", -- [34]
- "CameraOrSelectOrMoveStart", -- [35]
- "CameraOrSelectOrMoveStop", -- [36]
- "ChangeActionBarPage", -- [37]
- "GetActionBarPage", -- [38]
- "GetActionBarToggles", -- [39]
- "GetActionCooldown", -- [40]
- "GetActionCount", -- [41]
- "GetActionInfo", -- [42]
- "GetActionText", -- [43]
- "GetActionTexture", -- [44]
- "GetBonusBarOffset", -- [45]
- "GetMouseButtonClicked", -- [46]
- "GetMultiCastBarOffset", -- [47]
- "GetPossessInfo", -- [48]
- "HasAction", -- [49]
- "IsActionInRange", -- [50]
- "IsAttackAction", -- [51]
- "IsAutoRepeatAction", -- [52]
- "IsCurrentAction", -- [53]
- "IsConsumableAction", -- [54]
- "IsEquippedAction", -- [55]
- "IsUsableAction", -- [56]
- "PetHasActionBar", -- [57]
- "PickupAction", -- [58]
- "PickupPetAction", -- [59]
- "PlaceAction", -- [60]
- "SetActionBarToggles", -- [61]
- "StopAttack", -- [62]
- "TurnOrActionStart", -- [63]
- "TurnOrActionStop", -- [64]
- "UseAction", -- [65]
- "AcceptDuel", -- [66]
- "AttackTarget", -- [67]
- "CancelDuel", -- [68]
- "CancelLogout", -- [69]
- "ClearTutorials", -- [70]
- "CancelSummon", -- [71]
- "ConfirmSummon", -- [72]
- "DescendStop", -- [73]
- "Dismount", -- [74]
- "FlagTutorial", -- [75]
- "ForceQuit", -- [76]
- "GetPVPTimer", -- [77]
- "GetSummonConfirmAreaName", -- [78]
- "GetSummonConfirmSummoner", -- [79]
- "GetSummonConfirmTimeLeft", -- [80]
- "RandomRoll", -- [81]
- "SetPVP", -- [82]
- "StartDuel", -- [84]
- "TogglePVP", -- [85]
- "ToggleSheath", -- [86]
- "UseSoulstone", -- [87]
- "CanSolveArtifact", -- [89]
- "UIParent", -- [90]
- "GetArtifactInfoByRace", -- [91]
- "GetArtifactProgress", -- [92]
- "GetNumArtifactsByRace", -- [93]
- "GetSelectedArtifactInfo", -- [94]
- "IsArtifactCompletionHistoryAvailable", -- [95]
- "ItemAddedToArtifact", -- [96]
- "RemoveItemFromArtifact", -- [97]
- "RequestArtifactCompletionHistory", -- [98]
- "SocketItemToArtifact", -- [99]
- "AcceptArenaTeam", -- [101]
- "ArenaTeamInviteByName", -- [102]
- "ArenaTeamSetLeaderByName", -- [103]
- "ArenaTeamLeave", -- [104]
- "ArenaTeamRoster", -- [105]
- "ArenaTeamUninviteByName", -- [106]
- "ArenaTeamDisband", -- [107]
- "DeclineArenaTeam", -- [108]
- "GetArenaTeam", -- [109]
- "GetArenaTeamGdfInf", -- [110]
- "oGetArenaTeamRosterInfo", -- [111]
- "GetBattlefieldTeamInfo", -- [112]
- "GetCurrentArenaSeason", -- [113]
- "GetInspectArenaTeamData", -- [114]
- "GetNumArenaTeamMembers", -- [115]
- "GetPreviousArenaSeason", -- [116]
- "IsActiveBattlefieldArena", -- [117]
- "IsArenaTeamCaptain", -- [118]
- "IsInArenaTeam", -- [119]
- "CalculateAuctionDeposit", -- [121]
- "CanCancelAuction", -- [122]
- "CancelSell", -- [123]
- "CanSendAuctionQuery", -- [124]
- "CancelAuction", -- [125]
- "ClickAuctionSellItemButton", -- [126]
- "CloseAuctionHouse", -- [127]
- "GetAuctionHouseDepositRate", -- [128]
- "GetAuctionInvTypes", -- [129]
- "GetAuctionItemClasses", -- [130]
- "GetAuctionItemInfo", -- [131]
- "GetAuctionItemLink", -- [132]
- "GetAuctionItemSubClasses", -- [133]
- "GetAuctionItemTimeLeft", -- [134]
- "GetAuctionSellItemInfo", -- [135]
- "GetBidderAuctionItems", -- [136]
- "GetNumAuctionItems", -- [137]
- "GetOwnerAuctionItems", -- [138]
- "GetSelectedAuctionItem", -- [139]
- "IsAuctionSortReversed", -- [140]
- "PlaceAuctionBid", -- [141]
- "QueryAuctionItems", -- [142]
- "SetAuctionsTabShowing", -- [143]
- "SetSelectedAuctionItem", -- [144]
- "SortAuctionItems", -- [145]
- "StartAuction", -- [146]
- "BankButtonIDToInvSlotID", -- [148]
- "CloseBankFrame", -- [149]
- "GetBankSlotCost", -- [150]
- "GetNumBankSlots", -- [151]
- "PurchaseSlot", -- [152]
- "AcceptAreaSpiritHeal", -- [154]
- "AcceptBattlefieldPort", -- [155]
- "CancelAreaSpiritHeal", -- [156]
- "CanJoinBattlefieldAsGroup", -- [157]
- "CheckSpiritHealerDist", -- [158]
- "GetAreaSpiritHealerTime", -- [159]
- "GetBattlefieldEstimatedWaitTime", -- [160]
- "GetBattlefieldFlagPosition", -- [161]
- "GetBattlefieldInstanceExpiration", -- [162]
- "GetBattlefieldInstanceRunTime", -- [163]
- "GetBattlefieldMapIconScale", -- [164]
- "GetBattlefieldPortExpiration", -- [165]
- "GetBattlefieldPosition", -- [166]
- "GetBattlefieldScore", -- [167]
- "GetBattlefieldStatData", -- [168]
- "GetBattlefieldStatInfo", -- [169]
- "GetBattlefieldStatus", -- [170]
- "GetBattlefieldTimeWaited", -- [171]
- "GetBattlefieldWinner", -- [172]
- "GetBattlegroundInfo", -- [173]
- "GetNumBattlefieldFlagPositions", -- [174]
- "GetNumBattlefieldPositions", -- [175]
- "GetNumBattlefieldScores", -- [176]
- "GetNumBattlefieldStats", -- [177]
- "GetNumWorldStateUI", -- [178]
- "GetWintergraspWaitTime", -- [179]
- "GetWorldStateUIInfo", -- [180]
- "IsPVPTimerRunning", -- [181]
- "JoinBattlefield", -- [182]
- "LeaveBattlefield", -- [183]
- "ReportPlayerIsPVPAFK", -- [184]
- "RequestBattlefieldPositions", -- [185]
- "RequestBattlefieldScoreData", -- [186]
- "RequestBattlegroundInstanceInfo", -- [187]
- "SetBattlefieldScoreFaction", -- [188]
- "GetBinding", -- [190]
- "GetBindingAction", -- [191]
- "GetBindingKey", -- [192]
- "GetBindingText", -- [193]
- "GetCurrentBindingSet", -- [194]
- "GetNumBindings", -- [195]
- "LoadBindings", -- [196]
- "RunBinding", -- [197]
- "SaveBindings", -- [198]
- "SetBinding", -- [199]
- "SetBindingSpell", -- [200]
- "SetBindingClick", -- [201]
- "SetBindingItem", -- [202]
- "SetBindingMacro", -- [203]
- "SetConsoleKey", -- [204]
- "SetOverrideBinding", -- [205]
- "SetOverrideBindingSpell", -- [206]
- "SetOverrideBindingClick", -- [207]
- "SetOverrideBindingItem", -- [208]
- "SetOverrideBindingMacro", -- [209]
- "ClearOverrideBindings", -- [210]
- "SetMouselookOverrideBinding", -- [211]
- "IsModifierKeyDown", -- [212]
- "IsModifiedClick", -- [213]
- "IsMouseButtonDown", -- [214]
- "CancelUnitBuff", -- [216]
- "CancelShapeshiftForm", -- [217]
- "CancelItemTempEnchantment", -- [218]
- "GetWeaponEnchantInfo", -- [219]
- "UnitAura", -- [220]
- "UnitBuff", -- [221]
- "UnitDebuff", -- [222]
- "AddChatWindowChannel", -- [224]
- "ChannelBan", -- [225]
- "ChannelInvite", -- [226]
- "ChannelKick", -- [227]
- "ChannelModerator", -- [228]
- "ChannelMute", -- [229]
- "ChannelToggleAnnouncements", -- [230]
- "ChannelUnban", -- [231]
- "ChannelUnmoderator", -- [232]
- "ChannelUnmute", -- [233]
- "DisplayChannelOwner", -- [234]
- "DeclineInvite", -- [235]
- "EnumerateServerChannels", -- [236]
- "GetChannelList", -- [237]
- "GetChannelName", -- [238]
- "GetChatWindowChannels", -- [239]
- "JoinChannelByName", -- [240]
- "LeaveChannelByName", -- [241]
- "ListChannelByName", -- [242]
- "ListChannels", -- [243]
- "RemoveChatWindowChannel", -- [244]
- "SendChatMessage", -- [245]
- "SetChannelOwner", -- [246]
- "SetChannelPassword", -- [247]
- "AcceptResurrect", -- [249]
- "AcceptXPLoss", -- [250]
- "CheckBinderDist", -- [251]
- "ConfirmBinder", -- [252]
- "DeclineResurrect", -- [253]
- "DestroyTotem", -- [254]
- "GetBindLocation", -- [255]
- "GetComboPoints", -- [256]
- "GetCorpseRecoveryDelay", -- [257]
- "GetCurrentTitle", -- [258]
- "GetMirrorTimerInfo", -- [259]
- "GetMirrorTimerProgress", -- [260]
- "GetMoney", -- [261]
- "GetNumTitles", -- [262]
- "GetPlayerFacing", -- [263]
- "GetPVPDesired", -- [264]
- "GetReleaseTimeRemaining", -- [265]
- "GetResSicknessDuration", -- [266]
- "GetRestState", -- [267]
- "GetRuneCooldown", -- [268]
- "GetRuneCount", -- [269]
- "GetRuneType", -- [270]
- "GetTimeToWellRested", -- [271]
- "GetTitleName", -- [272]
- "GetUnitPitch", -- [273]
- "GetXPExhaustion", -- [274]
- "HasFullControl", -- [275]
- "HasSoulstone", -- [276]
- "IsFalling", -- [277]
- "IsFlying", -- [278]
- "IsFlyableArea", -- [279]
- "IsIndoors", -- [280]
- "IsMounted", -- [281]
- "IsOutdoors", -- [282]
- "IsOutOfBounds", -- [283]
- "IsResting", -- [284]
- "IsStealthed", -- [285]
- "IsSwimming", -- [286]
- "IsTitleKnown", -- [287]
- "IsXPUserDisabled", -- [288]
- "NotWhileDeadError", -- [289]
- "ResurrectHasSickness", -- [290]
- "ResurrectHasTimer", -- [291]
- "ResurrectGetOfferer", -- [292]
- "RetrieveCorpse", -- [293]
- "SetCurrentTitle", -- [294]
- "TargetTotem", -- [295]
- "GetArmorPenetration", -- [296]
- "GetAttackPowerForStat", -- [297]
- "GetAverageItemLevel", -- [298]
- "GetBlockChance", -- [299]
- "GetCombatRating", -- [300]
- "GetCombatRatingBonus", -- [301]
- "GetCritChance", -- [302]
- "GetCritChanceFromAgility", -- [303]
- "GetDodgeChance", -- [304]
- "GetExpertise", -- [305]
- "GetExpertisePercent", -- [306]
- "GetManaRegen", -- [307]
- "GetMaxCombatRatingBonus", -- [308]
- "GetParryChance", -- [309]
- "GetPetSpellBonusDamage", -- [310]
- "GetPowerRegen", -- [311]
- "GetSpellBonusDamage", -- [312]
- "GetRangedCritChance", -- [313]
- "GetSpellBonusHealing", -- [314]
- "GetSpellCritChance", -- [315]
- "GetShieldBlock", -- [316]
- "GetSpellCritChanceFromIntellect", -- [317]
- "GetSpellPenetration", -- [318]
- "AddChatWindowChannel", -- [319]
- "ChangeChatColor", -- [320]
- "ChatFrame_AddChannel", -- [321]
- "ChatFrame_AddMessageEventFilter", -- [322]
- "ChatFrame_GetMessageEventFilters", -- [323]
- "ChatFrame_OnHyperlinkShow", -- [324]
- "ChatFrame_RemoveMessageEventFilter", -- [325]
- "GetAutoCompleteResults", -- [326]
- "GetChatTypeIndex", -- [327]
- "GetChatWindowChannels", -- [328]
- "GetChatWindowInfo", -- [329]
- "GetChatWindowMessages", -- [330]
- "JoinChannelByName", -- [331]
- "LoggingChat", -- [332]
- "LoggingCombat", -- [333]
- "RemoveChatWindowChannel", -- [334]
- "RemoveChatWindowMessages", -- [335]
- "SetChatWindowAlpha", -- [336]
- "SetChatWindowColor", -- [337]
- "SetChatWindowDocked", -- [338]
- "SetChatWindowLocked", -- [339]
- "SetChatWindowName", -- [340]
- "SetChatWindowShown", -- [341]
- "SetChatWindowSize", -- [342]
- "SetChatWindowUninteractable", -- [343]
- "DoEmote", -- [345]
- "GetDefaultLanguage", -- [346]
- "GetLanguageByIndex", -- [347]
- "GetNumLanguages", -- [348]
- "GetRegisteredAddonMessagePrefixes", -- [349]
- "IsAddonMessagePrefixRegistered", -- [350]
- "RegisterAddonMessagePrefix", -- [352]
- "SendAddonMessage", -- [353]
- "SendChatMessage", -- [354]
- "CallCompanion", -- [356]
- "DismissCompanion", -- [357]
- "GetCompanionInfo", -- [358]
- "GetNumCompanions", -- [359]
- "GetCompanionCooldown", -- [360]
- "PickupCompanion", -- [361]
- "SummonRandomCritter", -- [362]
- "ContainerIDToInventoryID", -- [364]
- "GetBagName", -- [365]
- "GetContainerItemCooldown", -- [366]
- "GetContainerItemDurability", -- [367]
- "GetContainerItemGems", -- [368]
- "GetContainerItemID", -- [369]
- "GetContainerItemInfo", -- [370]
- "GetContainerItemLink", -- [371]
- "GetContainerNumSlots", -- [372]
- "GetContainerItemQuestInfo", -- [373]
- "GetContainerNumFreeSlots", -- [374]
- "OpenAllBags", -- [376]
- "CloseAllBags", -- [377]
- "PickupBagFromSlot", -- [378]
- "PickupContainerItem", -- [379]
- "PutItemInBackpack", -- [380]
- "PutItemInBag", -- [381]
- "PutKeyInKeyRing", -- [382]
- "SplitContainerItem", -- [383]
- "ToggleBackpack", -- [384]
- "ToggleBag", -- [385]
- "GetCoinText", -- [388]
- "GetCoinTextureString", -- [389]
- "GetCurrencyInfo", -- [390]
- "GetCurrencyListSize", -- [391]
- "GetCurrencyListInfo", -- [392]
- "ExpandCurrencyList", -- [393]
- "SetCurrencyUnused", -- [394]
- "GetNumWatchedTokens", -- [395]
- "GetBackpackCurrencyInfo", -- [396]
- "SetCurrencyBackpack", -- [397]
- "AutoEquipCursorItem", -- [399]
- "ClearCursor", -- [400]
- "CursorCanGoInSlot", -- [401]
- "CursorHasItem", -- [402]
- "CursorHasMoney", -- [403]
- "CursorHasSpell", -- [404]
- "DeleteCursorItem", -- [405]
- "DropCursorMoney", -- [406]
- "DropItemOnUnit", -- [407]
- "EquipCursorItem", -- [408]
- "GetCursorInfo", -- [409]
- "GetCursorPosition", -- [410]
- "HideRepairCursor", -- [411]
- "InRepairMode", -- [412]
- "PickupAction", -- [413]
- "PickupBagFromSlot", -- [414]
- "PickupContainerItem", -- [415]
- "PickupInventoryItem", -- [416]
- "PickupItem", -- [417]
- "PickupMacro", -- [418]
- "PickupMerchantItem", -- [419]
- "PickupPetAction", -- [420]
- "PickupSpell", -- [421]
- "PickupStablePet", -- [422]
- "PickupTradeMoney", -- [423]
- "PlaceAction", -- [424]
- "PutItemInBackpack", -- [425]
- "PutItemInBag", -- [426]
- "ResetCursor", -- [427]
- "SetCursor", -- [428]
- "ShowContainerSellCursor", -- [429]
- "ShowInspectCursor", -- [430]
- "ShowInventorySellCursor", -- [431]
- "ShowMerchantSellCursor", -- [432]
- "ShowRepairCursor", -- [433]
- "SplitContainerItem", -- [434]
- "GetWeaponEnchantInfo", -- [435]
- "ReplaceEnchant", -- [436]
- "ReplaceTradeEnchant", -- [437]
- "BindEnchant", -- [438]
- "CollapseFactionHeader", -- [439]
- "CollapseAllFactionHeaders", -- [440]
- "ExpandFactionHeader", -- [441]
- "ExpandAllFactionHeaders", -- [442]
- "FactionToggleAtWar", -- [443]
- "GetFactionInfo", -- [444]
- "GetNumFactions", -- [445]
- "GetSelectedFaction", -- [446]
- "GetWatchedFactionInfo", -- [447]
- "IsFactionInactive", -- [448]
- "SetFactionActive", -- [449]
- "SetFactionInactive", -- [450]
- "SetSelectedFaction", -- [451]
- "SetWatchedFactionIndex", -- [452]
- "UnitFactionGroup", -- [453]
- "CreateFrame", -- [454]
- "CreateFont", -- [455]
- "GetFramesRegisteredForEvent", -- [456]
- "GetNumFrames", -- [457]
- "EnumerateFrames", -- [458]
- "GetMouseFocus", -- [459]
- "ToggleDropDownMenu", -- [460]
- "UIFrameFadeIn", -- [461]
- "UIFrameFadeOut", -- [462]
- "UIFrameFlash", -- [463]
- "EasyMenu", -- [464]
- "AddFriend", -- [466]
- "AddOrRemoveFriend", -- [467]
- "GetFriendInfo", -- [468]
- "SetFriendNotes", -- [469]
- "GetNumFriends", -- [470]
- "GetSelectedFriend", -- [471]
- "RemoveFriend", -- [472]
- "SetSelectedFriend", -- [473]
- "ShowFriends", -- [474]
- "ToggleFriendsFrame", -- [475]
- "GetNumGlyphSockets", -- [477]
- "GetGlyphSocketInfo", -- [478]
- "GetGlyphLink", -- [479]
- "GlyphMatchesSocket", -- [480]
- "PlaceGlyphInSocket", -- [481]
- "RemoveGlyphFromSocket", -- [482]
- "SpellCanTargetGlyph", -- [483]
- "CanComplainChat", -- [485]
- "CanComplainInboxItem", -- [486]
- "ComplainChat", -- [487]
- "ComplainInboxItem", -- [488]
- "CloseGossip", -- [501]
- "ForceGossip", -- [502]
- "GetGossipActiveQuests", -- [503]
- "GetGossipAvailableQuests", -- [504]
- "GetGossipOptions", -- [505]
- "GetGossipText", -- [506]
- "GetNumGossipActiveQuests", -- [507]
- "GetNumGossipAvailableQuests", -- [508]
- "GetNumGossipOptions", -- [509]
- "SelectGossipActiveQuest", -- [510]
- "SelectGossipAvailableQuest", -- [511]
- "SelectGossipOption", -- [512]
- "AcceptGroup", -- [514]
- "ConfirmReadyCheck", -- [515]
- "ConvertToRaid", -- [516]
- "DeclineGroup", -- [517]
- "DoReadyCheck", -- [518]
- "GetLootMethod", -- [519]
- "GetLootThreshold", -- [520]
- "GetMasterLootCandidate", -- [521]
- "GetNumPartyMembers", -- [522]
- "GetRealNumPartyMembers", -- [523]
- "GetPartyLeaderIndex", -- [524]
- "GetPartyMember", -- [525]
- "InviteUnit", -- [526]
- "IsPartyLeader", -- [527]
- "LeaveParty", -- [528]
- "PromoteToLeader", -- [529]
- "SetLootMethod", -- [530]
- "SetLootThreshold", -- [531]
- "UninviteUnit", -- [532]
- "UnitInParty", -- [533]
- "UnitIsPartyLeader", -- [534]
- "AcceptGuild", -- [536]
- "BuyGuildCharter", -- [537]
- "CanEditGuildEvent", -- [538]
- "CanEditGuildInfo", -- [539]
- "CanEditMOTD", -- [540]
- "CanEditOfficerNote", -- [541]
- "CanEditPublicNote", -- [542]
- "CanGuildDemote", -- [543]
- "CanGuildInvite", -- [544]
- "CanGuildPromote", -- [545]
- "CanGuildRemove", -- [546]
- "CanViewOfficerNote", -- [547]
- "CloseGuildRegistrar", -- [548]
- "CloseGuildRoster", -- [549]
- "CloseTabardCreation", -- [550]
- "DeclineGuild", -- [551]
- "GetGuildCharterCost", -- [552]
- "GetGuildEventInfo", -- [553]
- "GetGuildInfo", -- [554]
- "GetGuildInfoText", -- [555]
- "GetGuildRosterInfo", -- [556]
- "GetGuildRosterLastOnline", -- [557]
- "GetGuildRosterMOTD", -- [558]
- "GetGuildRosterSelection", -- [559]
- "GetGuildRosterShowOffline", -- [560]
- "GetNumGuildEvents", -- [561]
- "GetNumGuildMembers", -- [562]
- "GetTabardCreationCost", -- [563]
- "GetTabardInfo", -- [564]
- "GuildControlAddRank", -- [565]
- "GuildControlDelRank", -- [566]
- "GuildControlGetNumRanks", -- [567]
- "GuildControlGetRankFlags", -- [568]
- "GuildControlGetRankName", -- [569]
- "GuildControlSaveRank", -- [570]
- "GuildControlSetRank", -- [571]
- "GuildControlSetRankFlag", -- [572]
- "GuildDemote", -- [573]
- "GuildDisband", -- [574]
- "GuildInfo", -- [575]
- "GuildInvite", -- [576]
- "GuildLeave", -- [577]
- "GuildPromote", -- [578]
- "GuildRoster", -- [579]
- "GuildRosterSetOfficerNote", -- [580]
- "GuildRosterSetPublicNote", -- [581]
- "GuildSetMOTD", -- [582]
- "GuildSetLeader", -- [583]
- "GuildUninvite", -- [584]
- "IsGuildLeader", -- [585]
- "IsInGuild", -- [586]
- "QueryGuildEventLog", -- [587]
- "SetGuildInfoText", -- [588]
- "SetGuildRosterSelection", -- [589]
- "SetGuildRosterShowOffline", -- [590]
- "SortGuildRoster", -- [591]
- "UnitGetGuildXP", -- [592]
- "AutoStoreGuildBankItem", -- [593]
- "BuyGuildBankTab", -- [594]
- "CanGuildBankRepair", -- [595]
- "CanWithdrawGuildBankMoney", -- [596]
- "CloseGuildBankFrame", -- [597]
- "DepositGuildBankMoney", -- [598]
- "GetCurrentGuildBankTab", -- [599]
- "GetGuildBankItemInfo", -- [600]
- "GetGuildBankItemLink", -- [601]
- "GetGuildBankMoney", -- [602]
- "GetGuildBankMoneyTransaction", -- [603]
- "GetGuildBankTabCost", -- [604]
- "GetGuildBankTabInfo", -- [605]
- "GetGuildBankTabPermissions", -- [606]
- "GetGuildBankText", -- [607]
- "GetGuildBankTransaction", -- [608]
- "GetGuildTabardFileNames", -- [611]
- "GetNumGuildBankMoneyTransactions", -- [612]
- "GetNumGuildBankTabs", -- [613]
- "GetNumGuildBankTransactions", -- [614]
- "PickupGuildBankItem", -- [615]
- "PickupGuildBankMoney", -- [616]
- "QueryGuildBankLog", -- [617]
- "QueryGuildBankTab", -- [618]
- "SetCurrentGuildBankTab", -- [619]
- "SetGuildBankTabInfo", -- [620]
- "SetGuildBankTabPermissions", -- [621]
- "SplitGuildBankItem", -- [624]
- "WithdrawGuildBankMoney", -- [625]
- "GetHolidayBGHonorCurrencyBonuses", -- [627]
- "GetInspectHonorData", -- [628]
- "GetPVPLifetimeStats", -- [629]
- "GetPVPRankInfo", -- [630]
- "GetPVPRankProgress", -- [631]
- "GetPVPSessionStats", -- [632]
- "GetPVPYesterdayStats", -- [633]
- "GetRandomBGHonorCurrencyBonuses", -- [634]
- "HasInspectHonorData", -- [635]
- "RequestInspectHonorData", -- [636]
- "UnitPVPName", -- [637]
- "UnitPVPRank", -- [638]
- "AddIgnore", -- [640]
- "AddOrDelIgnore", -- [641]
- "DelIgnore", -- [642]
- "GetIgnoreName", -- [643]
- "GetNumIgnores", -- [644]
- "GetSelectedIgnore", -- [645]
- "SetSelectedIgnore", -- [646]
- "CanInspect", -- [648]
- "CheckInteractDistance", -- [649]
- "ClearInspectPlayer", -- [650]
- "GetInspectArenaTeamData", -- [651]
- "HasInspectHonorData", -- [652]
- "RequestInspectHonorData", -- [653]
- "GetInspectHonorData", -- [654]
- "NotifyInspect", -- [655]
- "InspectUnit", -- [656]
- "CanShowResetInstances", -- [658]
- "GetBattlefieldInstanceExpiration", -- [659]
- "GetBattlefieldInstanceInfo", -- [660]
- "GetBattlefieldInstanceRunTime", -- [661]
- "GetInstanceBootTimeRemaining", -- [662]
- "GetInstanceInfo", -- [663]
- "GetNumSavedInstances", -- [664]
- "GetSavedInstanceInfo", -- [665]
- "IsInInstance", -- [666]
- "ResetInstances", -- [667]
- "GetDungeonDifficulty", -- [668]
- "SetDungeonDifficulty", -- [669]
- "GetInstanceDifficulty", -- [670]
- "GetInstanceLockTimeRemaining", -- [671]
- "GetInstanceLockTimeRemainingEncounter", -- [672]
- "AutoEquipCursorItem", -- [674]
- "BankButtonIDToInvSlotID", -- [675]
- "CancelPendingEquip", -- [676]
- "ConfirmBindOnUse", -- [677]
- "ContainerIDToInventoryID", -- [678]
- "CursorCanGoInSlot", -- [679]
- "EquipCursorItem", -- [680]
- "EquipPendingItem", -- [681]
- "GetInventoryAlertStatus", -- [682]
- "GetInventoryItemBroken", -- [683]
- "GetInventoryItemCooldown", -- [684]
- "GetInventoryItemCount", -- [685]
- "GetInventoryItemDurability", -- [686]
- "GetInventoryItemGems", -- [687]
- "GetInventoryItemID", -- [688]
- "GetInventoryItemLink", -- [689]
- "GetInventoryItemQuality", -- [690]
- "GetInventoryItemTexture", -- [691]
- "GetInventorySlotInfo", -- [692]
- "GetWeaponEnchantInfo", -- [693]
- "HasWandEquipped", -- [694]
- "IsInventoryItemLocked", -- [695]
- "KeyRingButtonIDToInvSlotID", -- [696]
- "PickupBagFromSlot", -- [697]
- "PickupInventoryItem", -- [698]
- "UpdateInventoryAlertStatus", -- [699]
- "UseInventoryItem", -- [700]
- "EquipItemByName", -- [702]
- "GetAuctionItemLink", -- [703]
- "GetContainerItemLink", -- [704]
- "GetItemCooldown", -- [705]
- "GetItemCount", -- [706]
- "GetItemFamily", -- [707]
- "GetItemIcon", -- [708]
- "GetItemInfo", -- [709]
- "GetItemQualityColor", -- [710]
- "GetItemSpell", -- [711]
- "GetItemStats", -- [712]
- "GetMerchantItemLink", -- [713]
- "GetQuestItemLink", -- [714]
- "GetQuestLogItemLink", -- [715]
- "GetTradePlayerItemLink", -- [716]
- "GetTradeSkillItemLink", -- [717]
- "GetTradeSkillReagentItemLink", -- [718]
- "GetTradeTargetItemLink", -- [719]
- "IsUsableItem", -- [720]
- "IsConsumableItem", -- [721]
- "IsCurrentItem", -- [722]
- "IsEquippedItem", -- [723]
- "IsEquippableItem", -- [724]
- "IsEquippedItemType", -- [725]
- "IsItemInRange", -- [726]
- "ItemHasRange", -- [727]
- "OffhandHasWeapon", -- [728]
- "SplitContainerItem", -- [729]
- "SetItemRef", -- [730]
- "AcceptSockets", -- [731]
- "ClickSocketButton", -- [732]
- "CloseSocketInfo", -- [733]
- "GetSocketItemInfo", -- [734]
- "GetSocketItemRefundable", -- [735]
- "GetSocketItemBoundTradeable", -- [736]
- "GetNumSockets", -- [737]
- "GetSocketTypes", -- [738]
- "GetExistingSocketInfo", -- [739]
- "GetExistingSocketLink", -- [740]
- "GetNewSocketInfo", -- [741]
- "GetNewSocketLink", -- [742]
- "SocketInventoryItem", -- [743]
- "SocketContainerItem", -- [744]
- "CloseItemText", -- [745]
- "ItemTextGetCreator", -- [746]
- "ItemTextGetItem", -- [747]
- "ItemTextGetMaterial", -- [748]
- "ItemTextGetPage", -- [749]
- "ItemTextGetText", -- [750]
- "ItemTextHasNextPage", -- [751]
- "ItemTextNextPage", -- [752]
- "ItemTextPrevPage", -- [753]
- "GetMinimapZoneText", -- [755]
- "GetRealZoneText", -- [756]
- "GetSubZoneText", -- [757]
- "GetZonePVPInfo", -- [758]
- "GetZoneText", -- [759]
- "CompleteLFGRoleCheck", -- [760]
- "GetLFGDeserterExpiration", -- [761]
- "GetLFGRandomCooldownExpiration", -- [762]
- "GetLFGBootProposal", -- [763]
- "GetLFGMode", -- [764]
- "GetLFGQueueStats", -- [765]
- "GetLFGRoles", -- [766]
- "GetLFGRoleUpdate", -- [767]
- "GetLFGRoleUpdateSlot", -- [768]
- "SetLFGBootVote", -- [769]
- "SetLFGComment", -- [770]
- "SetLFGRoles", -- [771]
- "UninviteUnit", -- [772]
- "UnitGroupRolesAssigned", -- [773]
- "UnitHasLFGDeserter", -- [774]
- "UnitHasLFGRandomCooldown", -- [775]
- "CloseLoot", -- [777]
- "ConfirmBindOnUse", -- [778]
- "ConfirmLootRoll", -- [779]
- "ConfirmLootSlot", -- [780]
- "GetLootMethod", -- [781]
- "GetLootRollItemInfo", -- [782]
- "GetLootRollItemLink", -- [783]
- "GetLootRollTimeLeft", -- [784]
- "GetLootSlotInfo", -- [785]
- "GetLootSlotLink", -- [786]
- "GetLootThreshold", -- [787]
- "GetMasterLootCandidate", -- [788]
- "GetNumLootItems", -- [789]
- "GetOptOutOfLoot", -- [790]
- "GiveMasterLoot", -- [791]
- "IsFishingLoot", -- [792]
- "LootSlot", -- [793]
- "LootSlotIsCoin", -- [794]
- "LootSlotIsCurrency", -- [795]
- "LootSlotIsItem", -- [796]
- "RollOnLoot", -- [797]
- "SetLootMethod", -- [798]
- "SetLootPortrait", -- [799]
- "SetLootThreshold", -- [800]
- "SetOptOutOfLoot", -- [801]
- "CursorHasMacro", -- [804]
- "DeleteMacro", -- [805]
- "GetMacroBody", -- [807]
- "GetMacroIconInfo", -- [808]
- "GetMacroItemIconInfo", -- [809]
- "GetMacroIndexByName", -- [810]
- "GetMacroInfo", -- [811]
- "GetNumMacroIcons", -- [812]
- "GetNumMacroItemIcons", -- [813]
- "GetNumMacros", -- [814]
- "PickupMacro", -- [815]
- "RunMacro", -- [816]
- "RunMacroText", -- [817]
- "SecureCmdOptionParse", -- [818]
- "StopMacro", -- [819]
- "AutoLootMailItem", -- [821]
- "CheckInbox", -- [822]
- "ClearSendMail", -- [823]
- "ClickSendMailItemButton", -- [824]
- "CloseMail", -- [825]
- "DeleteInboxItem", -- [826]
- "GetCoinIcon", -- [827]
- "GetInboxHeaderInfo", -- [828]
- "GetInboxItem", -- [829]
- "GetInboxItemLink", -- [830]
- "GetInboxNumItems", -- [831]
- "GetInboxText", -- [832]
- "GetInboxInvoiceInfo", -- [833]
- "GetNumPackages", -- [834]
- "GetNumStationeries", -- [835]
- "GetPackageInfo", -- [836]
- "GetSelectedStationeryTexture", -- [837]
- "GetSendMailCOD", -- [838]
- "GetSendMailItem", -- [839]
- "GetSendMailItemLink", -- [840]
- "GetSendMailMoney", -- [841]
- "GetSendMailPrice", -- [842]
- "GetStationeryInfo", -- [843]
- "HasNewMail", -- [844]
- "InboxItemCanDelete", -- [845]
- "ReturnInboxItem", -- [846]
- "SelectPackage", -- [847]
- "SelectStationery", -- [848]
- "SendMail", -- [849]
- "SetSendMailCOD", -- [850]
- "SetSendMailMoney", -- [851]
- "TakeInboxItem", -- [852]
- "TakeInboxMoney", -- [853]
- "TakeInboxTextItem", -- [854]
- "ClickLandmark", -- [856]
- "GetCorpseMapPosition", -- [857]
- "GetCurrentMapContinent", -- [858]
- "GetCurrentMapDungeonLevel", -- [859]
- "GetNumDungeonMapLevels", -- [860]
- "GetCurrentMapAreaID", -- [861]
- "GetCurrentMapZone", -- [862]
- "GetMapContinents", -- [863]
- "GetMapDebugObjectInfo", -- [864]
- "GetMapInfo", -- [865]
- "GetMapLandmarkInfo", -- [866]
- "GetMapOverlayInfo", -- [867]
- "GetMapZones", -- [868]
- "GetNumMapDebugObjects", -- [869]
- "GetNumMapLandmarks", -- [870]
- "GetNumMapOverlays", -- [871]
- "GetPlayerMapPosition", -- [872]
- "ProcessMapClick", -- [873]
- "RequestBattlefieldPositions", -- [874]
- "SetDungeonMapLevel", -- [875]
- "SetMapByID", -- [876]
- "SetMapToCurrentZone", -- [877]
- "SetMapZoom", -- [878]
- "SetupFullscreenScale", -- [879]
- "UpdateMapHighlight", -- [880]
- "CreateWorldMapArrowFrame", -- [881]
- "UpdateWorldMapArrowFrames", -- [882]
- "ShowWorldMapArrowFrame", -- [883]
- "PositionWorldMapArrowFrame", -- [884]
- "ZoomOut", -- [885]
- "BuyMerchantItem", -- [887]
- "BuybackItem", -- [888]
- "CanMerchantRepair", -- [889]
- "CloseMerchant", -- [890]
- "GetBuybackItemInfo", -- [891]
- "GetBuybackItemLink", -- [892]
- "GetMerchantItemCostInfo", -- [893]
- "GetMerchantItemCostItem", -- [894]
- "GetMerchantItemInfo", -- [895]
- "GetMerchantItemLink", -- [896]
- "GetMerchantItemMaxStack", -- [897]
- "GetMerchantNumItems", -- [898]
- "GetRepairAllCost", -- [899]
- "HideRepairCursor", -- [900]
- "InRepairMode", -- [901]
- "PickupMerchantItem", -- [902]
- "RepairAllItems", -- [903]
- "ShowMerchantSellCursor", -- [904]
- "ShowRepairCursor", -- [905]
- "GetNumBuybackItems", -- [906]
- "CastPetAction", -- [908]
- "ClosePetStables", -- [909]
- "DropItemOnUnit", -- [910]
- "GetPetActionCooldown", -- [911]
- "GetPetActionInfo", -- [912]
- "GetPetActionSlotUsable", -- [913]
- "GetPetActionsUsable", -- [914]
- "GetPetExperience", -- [915]
- "GetPetFoodTypes", -- [916]
- "GetPetHappiness", -- [917]
- "GetPetIcon", -- [918]
- "GetPetTimeRemaining", -- [919]
- "GetStablePetFoodTypes", -- [920]
- "GetStablePetInfo", -- [921]
- "HasPetSpells", -- [922]
- "HasPetUI", -- [923]
- "PetAbandon", -- [924]
- "PetAggressiveMode", -- [925]
- "PetAttack", -- [926]
- "IsPetAttackActive", -- [927]
- "PetStopAttack", -- [928]
- "PetCanBeAbandoned", -- [929]
- "PetCanBeDismissed", -- [930]
- "PetCanBeRenamed", -- [931]
- "PetDefensiveMode", -- [932]
- "PetDismiss", -- [933]
- "PetFollow", -- [934]
- "PetHasActionBar", -- [935]
- "PetPassiveMode", -- [936]
- "PetRename", -- [937]
- "PetWait", -- [938]
- "PickupPetAction", -- [939]
- "PickupStablePet", -- [940]
- "SetPetStablePaperdoll", -- [941]
- "TogglePetAutocast", -- [942]
- "ToggleSpellAutocast", -- [943]
- "GetSpellAutocast", -- [944]
- "AddQuestWatch", -- [946]
- "GetActiveLevel", -- [947]
- "GetActiveTitle", -- [948]
- "GetAvailableLevel", -- [949]
- "GetAvailableTitle", -- [950]
- "GetAvailableQuestInfo", -- [951]
- "GetGreetingText", -- [952]
- "GetNumQuestLeaderBoards", -- [953]
- "GetNumQuestWatches", -- [954]
- "GetObjectiveText", -- [955]
- "GetProgressText", -- [956]
- "GetQuestGreenRange", -- [957]
- "GetQuestIndexForWatch", -- [958]
- "GetQuestLink", -- [959]
- "GetQuestLogGroupNum", -- [960]
- "GetQuestLogLeaderBoard", -- [961]
- "GetQuestLogTitle", -- [962]
- "GetQuestReward", -- [963]
- "GetRewardArenaPoints", -- [964]
- "GetRewardHonor", -- [965]
- "GetRewardMoney", -- [966]
- "GetRewardSpell", -- [967]
- "GetRewardTalents", -- [968]
- "GetRewardText", -- [969]
- "GetRewardTitle", -- [970]
- "GetRewardXP", -- [971]
- "IsQuestWatched", -- [972]
- "IsUnitOnQuest", -- [973]
- "QuestFlagsPVP", -- [974]
- "QuestGetAutoAccept", -- [975]
- "RemoveQuestWatch", -- [976]
- "ShiftQuestWatches", -- [977]
- "SortQuestWatches", -- [978]
- "QueryQuestsCompleted", -- [979]
- "GetQuestsCompleted", -- [980]
- "QuestIsDaily", -- [981]
- "QuestIsWeekly", -- [982]
- "ClearRaidMarker", -- [984]
- "ConvertToRaid", -- [985]
- "ConvertToParty", -- [986]
- "DemoteAssistant", -- [987]
- "GetAllowLowLevelRaid", -- [988]
- "GetNumRaidMembers", -- [989]
- "GetRealNumRaidMembers", -- [990]
- "GetPartyAssignment", -- [991]
- "GetPartyAssignment", -- [992]
- "GetRaidRosterInfo", -- [993]
- "GetRaidTargetIndex", -- [994]
- "GetReadyCheckStatus", -- [995]
- "InitiateRolePoll", -- [996]
- "IsRaidLeader", -- [997]
- "IsRaidOfficer", -- [998]
- "PlaceRaidMarker", -- [999]
- "PromoteToAssistant", -- [1000]
- "RequestRaidInfo", -- [1001]
- "SetPartyAssignment", -- [1002]
- "SetAllowLowLevelRaid", -- [1003]
- "SetRaidRosterSelection", -- [1004]
- "SetRaidSubgroup", -- [1005]
- "SwapRaidSubgroup", -- [1006]
- "SetRaidTarget", -- [1007]
- "UnitInRaid", -- [1008]
- "LFGGetDungeonInfoByID", -- [1009]
- "GetInstanceLockTimeRemainingEncounter", -- [1010]
- "RefreshLFGList", -- [1011]
- "SearchLFGGetEncounterResults", -- [1012]
- "SearchLFGGetJoinedID", -- [1013]
- "SearchLFGGetNumResults", -- [1014]
- "SearchLFGGetPartyResults", -- [1015]
- "SearchLFGGetResults", -- [1016]
- "SearchLFGJoin", -- [1017]
- "SearchLFGLeave", -- [1018]
- "SearchLFGSort", -- [1019]
- "SetLFGComment", -- [1020]
- "ClearAllLFGDungeons", -- [1021]
- "JoinLFG", -- [1022]
- "LeaveLFG", -- [1023]
- "RequestLFDPartyLockInfo", -- [1024]
- "RequestLFDPlayerLockInfo", -- [1025]
- "SetLFGDungeon", -- [1026]
- "SetLFGDungeonEnabled", -- [1027]
- "SetLFGHeaderCollapsed", -- [1028]
- "GetAddOnCPUUsage", -- [1029]
- "GetAddOnMemoryUsage", -- [1030]
- "GetEventCPUUsage", -- [1031]
- "GetFrameCPUUsage", -- [1032]
- "GetFunctionCPUUsage", -- [1033]
- "GetScriptCPUUsage", -- [1034]
- "ResetCPUUsage", -- [1035]
- "UpdateAddOnCPUUsage", -- [1036]
- "UpdateAddOnMemoryUsage", -- [1037]
- "issecure", -- [1038]
- "forceinsecure", -- [1039]
- "issecurevariable", -- [1040]
- "securecall", -- [1041]
- "hooksecurefunc", -- [1042]
- "InCombatLockdown", -- [1043]
- "CombatTextSetActiveUnit", -- [1046]
- "DownloadSettings", -- [1047]
- "GetCVar", -- [1048]
- "GetCVarDefault", -- [1049]
- "GetCVarBool", -- [1050]
- "GetCVarInfo", -- [1051]
- "GetCurrentMultisampleFormat", -- [1052]
- "GetCurrentResolution", -- [1053]
- "GetGamma", -- [1054]
- "GetMultisampleFormats", -- [1055]
- "GetRefreshRates", -- [1056]
- "GetScreenResolutions", -- [1057]
- "GetVideoCaps", -- [1058]
- "IsThreatWarningEnabled", -- [1059]
- "RegisterCVar", -- [1060]
- "ResetPerformanceValues", -- [1061]
- "ResetTutorials", -- [1062]
- "SetCVar", -- [1063]
- "SetEuropeanNumbers", -- [1064]
- "SetGamma", -- [1065]
- "SetLayoutMode", -- [1066]
- "SetMultisampleFormat", -- [1067]
- "SetScreenResolution", -- [1068]
- "ShowCloak", -- [1069]
- "ShowHelm", -- [1070]
- "ShowNumericThreat", -- [1071]
- "ShowingCloak", -- [1072]
- "ShowingHelm", -- [1073]
- "UploadSettings", -- [1074]
- "AbandonSkill", -- [1076]
- "CastShapeshiftForm", -- [1078]
- "CastSpell", -- [1079]
- "CastSpellByName", -- [1080]
- "GetMultiCastTotemSpells", -- [1081]
- "GetNumShapeshiftForms", -- [1082]
- "GetNumSpellTabs", -- [1083]
- "GetShapeshiftForm", -- [1084]
- "GetShapeshiftFormCooldown", -- [1085]
- "GetShapeshiftFormInfo", -- [1086]
- "GetSpellAutocast", -- [1087]
- "GetSpellBookItemInfo", -- [1088]
- "GetSpellBookItemName", -- [1089]
- "GetSpellCooldown", -- [1090]
- "GetSpellDescription", -- [1091]
- "GetSpellInfo", -- [1092]
- "GetSpellLink", -- [1093]
- "GetSpellTabInfo", -- [1094]
- "GetSpellTexture", -- [1095]
- "GetTotemInfo", -- [1096]
- "IsAttackSpell", -- [1097]
- "IsAutoRepeatSpell", -- [1098]
- "IsPassiveSpell", -- [1099]
- "IsSpellInRange", -- [1100]
- "IsUsableSpell", -- [1101]
- "PickupSpell", -- [1102]
- "QueryCastSequence", -- [1103]
- "SetMultiCastSpell", -- [1104]
- "SpellCanTargetUnit", -- [1105]
- "SpellHasRange", -- [1106]
- "SpellIsTargeting", -- [1107]
- "SpellStopCasting", -- [1108]
- "SpellStopTargeting", -- [1109]
- "SpellTargetUnit", -- [1110]
- "ToggleSpellAutocast", -- [1111]
- "UnitCastingInfo", -- [1112]
- "UnitChannelInfo", -- [1113]
- "ConsoleExec", -- [1115]
- "DetectWowMouse", -- [1116]
- "GetBuildInfo", -- [1117]
- "geterrorhandler", -- [1118]
- "GetCurrentKeyBoardFocus", -- [1119]
- "GetExistingLocales", -- [1120]
- "GetFramerate", -- [1121]
- "GetGameTime", -- [1122]
- "GetLocale", -- [1123]
- "GetCursorPosition", -- [1124]
- "GetNetStats", -- [1125]
- "GetRealmName", -- [1126]
- "GetScreenHeight", -- [1127]
- "GetScreenWidth", -- [1128]
- "GetText", -- [1129]
- "GetTime", -- [1130]
- "IsAltKeyDown", -- [1131]
- "InCinematic", -- [1132]
- "IsControlKeyDown", -- [1133]
- "IsDebugBuild", -- [1134]
- "IsDesaturateSupported", -- [1135]
- "IsLeftAltKeyDown", -- [1136]
- "IsLeftControlKeyDown", -- [1137]
- "IsLeftShiftKeyDown", -- [1138]
- "IsLinuxClient", -- [1139]
- "IsLoggedIn", -- [1140]
- "IsMacClient", -- [1141]
- "IsRightAltKeyDown", -- [1142]
- "IsRightControlKeyDown", -- [1143]
- "IsRightShiftKeyDown", -- [1144]
- "IsShiftKeyDown", -- [1145]
- "IsStereoVideoAvailable", -- [1146]
- "IsWindowsClient", -- [1147]
- "OpeningCinematic", -- [1148]
- "PlayMusic", -- [1149]
- "PlaySound", -- [1150]
- "PlaySoundFile", -- [1151]
- "ReloadUI", -- [1152]
- "RepopMe", -- [1153]
- "RequestTimePlayed", -- [1154]
- "RestartGx", -- [1155]
- "RunScript", -- [1156]
- "Screenshot", -- [1157]
- "SetAutoDeclineGuildInvites", -- [1158]
- "seterrorhandler", -- [1159]
- "StopCinematic", -- [1160]
- "StopMusic", -- [1161]
- "UIParentLoadAddOn", -- [1162]
- "TakeScreenshot", -- [1163]
- "BuyTrainerService", -- [1168]
- "CheckTalentMasterDist", -- [1169]
- "ConfirmTalentWipe", -- [1170]
- "GetActiveTalentGroup", -- [1171]
- "GetNumTalentTabs", -- [1172]
- "GetNumTalents", -- [1173]
- "GetTalentInfo", -- [1174]
- "GetTalentLink", -- [1175]
- "GetTalentPrereqs", -- [1176]
- "GetTalentTabInfo", -- [1177]
- "LearnTalent", -- [1178]
- "SetActiveTalentGroup", -- [1179]
- "GetNumTalentGroups", -- [1180]
- "GetActiveTalentGroup", -- [1181]
- "AddPreviewTalentPoints", -- [1182]
- "GetGroupPreviewTalentPointsSpent", -- [1183]
- "GetPreviewTalentPointsSpent", -- [1184]
- "GetUnspentTalentPoints", -- [1185]
- "LearnPreviewTalents", -- [1186]
- "ResetGroupPreviewTalentPoints", -- [1187]
- "ResetPreviewTalentPoints", -- [1188]
- "AssistUnit", -- [1190]
- "AttackTarget", -- [1191]
- "ClearTarget", -- [1192]
- "ClickTargetTradeButton", -- [1193]
- "TargetLastEnemy", -- [1194]
- "TargetLastTarget", -- [1195]
- "TargetNearestEnemy", -- [1196]
- "TargetNearestEnemyPlayer", -- [1197]
- "TargetNearestFriend", -- [1198]
- "TargetNearestFriendPlayer", -- [1199]
- "TargetNearestPartyMember", -- [1200]
- "TargetNearestRaidMember", -- [1201]
- "TargetUnit", -- [1202]
- "ToggleBackpack", -- [1204]
- "ToggleBag", -- [1205]
- "ToggleCharacter", -- [1206]
- "ToggleFriendsFrame", -- [1207]
- "ToggleSpellBook", -- [1208]
- "TradeSkill", -- [1209]
- "CloseTradeSkill", -- [1210]
- "CollapseTradeSkillSubClass", -- [1211]
- "PickupPlayerMoney", -- [1212]
- "PickupTradeMoney", -- [1213]
- "SetTradeMoney", -- [1214]
- "ReplaceTradeEnchant", -- [1215]
- "AssistUnit", -- [1217]
- "CheckInteractDistance", -- [1218]
- "DropItemOnUnit", -- [1219]
- "FollowUnit", -- [1220]
- "FocusUnit", -- [1221]
- "ClearFocus", -- [1222]
- "GetUnitName", -- [1223]
- "GetUnitPitch", -- [1224]
- "GetUnitSpeed", -- [1225]
- "InviteUnit", -- [1226]
- "IsUnitOnQuest", -- [1227]
- "SpellCanTargetUnit", -- [1228]
- "SpellTargetUnit", -- [1229]
- "TargetUnit", -- [1230]
- "UnitAffectingCombat", -- [1231]
- "UnitArmor", -- [1232]
- "UnitAttackBothHands", -- [1233]
- "UnitAttackPower", -- [1234]
- "UnitAttackSpeed", -- [1235]
- "UnitAura", -- [1236]
- "UnitBuff", -- [1237]
- "UnitCanAssist", -- [1238]
- "UnitCanAttack", -- [1239]
- "UnitCanCooperate", -- [1240]
- "UnitClass", -- [1241]
- "UnitClassification", -- [1242]
- "UnitCreatureFamily", -- [1243]
- "UnitCreatureType", -- [1244]
- "UnitDamage", -- [1245]
- "UnitDebuff", -- [1246]
- "UnitDefense", -- [1247]
- "UnitDetailedThreatSituation", -- [1248]
- "UnitExists", -- [1249]
- "UnitFactionGroup", -- [1250]
- "UnitGroupRolesAssigned", -- [1251]
- "UnitGUID", -- [1252]
- "GetPlayerInfoByGUID", -- [1253]
- "UnitHasLFGDeserter", -- [1254]
- "UnitHasLFGRandomCooldown", -- [1255]
- "UnitHasRelicSlot", -- [1256]
- "UnitHealth", -- [1257]
- "UnitHealthMax", -- [1258]
- "UnitInParty", -- [1259]
- "UnitInRaid", -- [1260]
- "UnitInBattleground", -- [1261]
- "UnitIsInMyGuild", -- [1262]
- "UnitInRange", -- [1263]
- "UnitIsAFK", -- [1264]
- "UnitIsCharmed", -- [1265]
- "UnitIsConnected", -- [1266]
- "UnitIsCorpse", -- [1267]
- "UnitIsDead", -- [1268]
- "UnitIsDeadOrGhost", -- [1269]
- "UnitIsDND", -- [1270]
- "UnitIsEnemy", -- [1271]
- "UnitIsFeignDeath", -- [1272]
- "UnitIsFriend", -- [1273]
- "UnitIsGhost", -- [1274]
- "UnitIsPVP", -- [1275]
- "UnitIsPVPFreeForAll", -- [1276]
- "UnitIsPVPSanctuary", -- [1277]
- "UnitIsPartyLeader", -- [1278]
- "UnitIsPlayer", -- [1279]
- "UnitIsPossessed", -- [1280]
- "UnitIsRaidOfficer", -- [1281]
- "UnitIsSameServer", -- [1282]
- "UnitIsTapped", -- [1283]
- "UnitIsTappedByPlayer", -- [1284]
- "UnitIsTappedByAllThreatList", -- [1285]
- "UnitIsTrivial", -- [1286]
- "UnitIsUnit", -- [1287]
- "UnitIsVisible", -- [1288]
- "UnitLevel", -- [1289]
- "UnitMana", -- [1290]
- "UnitManaMax", -- [1291]
- "UnitName", -- [1292]
- "UnitOnTaxi", -- [1293]
- "UnitPlayerControlled", -- [1294]
- "UnitPlayerOrPetInParty", -- [1295]
- "UnitPlayerOrPetInRaid", -- [1296]
- "UnitPVPName", -- [1297]
- "UnitPVPRank", -- [1298]
- "UnitPower", -- [1299]
- "UnitPowerMax", -- [1300]
- "UnitPowerType", -- [1301]
- "UnitRace", -- [1302]
- "UnitRangedAttack", -- [1303]
- "UnitRangedAttackPower", -- [1304]
- "UnitRangedDamage", -- [1305]
- "UnitReaction", -- [1306]
- "UnitResistance", -- [1307]
- "UnitSelectionColor", -- [1308]
- "UnitSex", -- [1309]
- "UnitStat", -- [1310]
- "UnitThreatSituation", -- [1311]
- "UnitUsingVehicle", -- [1312]
- "GetThreatStatusColor", -- [1313]
- "UnitXP", -- [1314]
- "UnitXPMax", -- [1315]
- "SetPortraitTexture", -- [1316]
- "SetPortraitToTexture", -- [1317]
- "tinsert", -- [1318]
-}
-
--- endp
+end
\ No newline at end of file
diff --git a/Libs/DF/util.lua b/Libs/DF/util.lua
new file mode 100644
index 00000000..1f699142
--- /dev/null
+++ b/Libs/DF/util.lua
@@ -0,0 +1,24 @@
+
+local DetailsFramework = _G["DetailsFramework"]
+if (not DetailsFramework or not DetailsFrameworkCanLoad) then
+ return
+end
+local _
+
+local DF = DetailsFramework
+
+--backdrop namespace
+DF.BackdropUtil = {}
+
+function DF.BackdropUtil:SetColorStripe(frame, index, backdrop, color1, color2)
+ if (backdrop == nil or type(backdrop) == "table") then
+ frame:SetBackdrop(backdrop and {bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true})
+ end
+ if (index % 2 == 0) then
+ local r, g, b, a = DF:ParseColors(color1 or {.2, .2, .2, 0.5})
+ frame:SetBackdropColor(r, g, b, a)
+ else
+ local r, g, b, a = DF:ParseColors(color2 or {.3, .3, .3, 0.5})
+ frame:SetBackdropColor(r, g, b, a)
+ end
+end
\ No newline at end of file