-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathOptions.lua
More file actions
executable file
·67 lines (52 loc) · 2.53 KB
/
Copy pathOptions.lua
File metadata and controls
executable file
·67 lines (52 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
local addonName, GreedyQuest = ...
local L = GreedyQuest.L
GREEDYQUEST_OVERRIDE_ENTRY_8_8_2222 = {
bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background",
edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
tile = "true", tileSize = 8, edgeSize = 8,
insets = { left = 2, right = 2, top = 2, bottom = 2 },
}
local spacing = 6
local function OverrideListInitializer(rowFrame, data)
local itemName = data.ItemName
local itemValue = data.ItemValue
rowFrame.ItemName:SetText(itemName)
rowFrame.ItemValue:SetText(GetMoneyString(itemValue))
buttonDelete = rowFrame:GetChildren()
buttonDelete:SetScript("OnClick", function(self)
local row = self:GetParent()
data = row:GetData()
dataProvider = GreedyQuest.OptionsPanel.OverrideScrollList:GetDataProvider()
dataProvider:RemoveIndex(dataProvider:FindIndex(row:GetData()))
GQConfig.ValueOverrides[data.ItemName] = nil
end)
end
-- The interface options panel
function GreedyQuest:CreateOptionsFrame()
if not self.OptionsPanel then
self.OptionsPanel = GreedyQuestOptionsFrame
self.OptionsPanel.name = L.GreedyQuestTitle
self.OptionsPanel:HookScript("OnShow", function() GreedyQuest:FillScrollWithCurrentOverrides() end)
GreedyQuestOptionsFrameOverrideContainer:SetSize(SettingsPanel.Container.SettingsCanvas:GetWidth()-20, 300)
local DataProvider = CreateDataProvider()
local ScrollView = CreateScrollBoxListLinearView()
ScrollUtil.InitScrollBoxListWithScrollBar(GreedyQuestOptionsFrameOverrideContainerOverrideScrollList, GreedyQuestOptionsFrameOverrideContainerOverrideScrollBar, ScrollView)
ScrollView:SetElementInitializer("GreedyQuestOverrideEntryTemplate", OverrideListInitializer)
ScrollView:SetDataProvider(DataProvider)
self.OptionsPanel.OverrideScrollList = ScrollView
DataProvider:SetSortComparator(function(a,b) return (a and a.ItemName or "") < ((b and b.ItemName) or "") end)
GreedyQuest:FillScrollWithCurrentOverrides()
-- Make sure this is in the if statement so we don't add it multiple times
local category = Settings.RegisterCanvasLayoutCategory(self.OptionsPanel, addonName)
Settings.RegisterAddOnCategory(category)
end
return self.OptionsPanel
end
function GreedyQuest:FillScrollWithCurrentOverrides()
dataProvider = GreedyQuest.OptionsPanel.OverrideScrollList:GetDataProvider()
dataProvider:Flush()
for itemName, itemValue in pairs(GQConfig.ValueOverrides) do
dataProvider:Insert({["ItemName"] = itemName, ["ItemValue"] = itemValue})
end
end
GreedyQuestOptionsFrameEntryPanelAddItemButton:HookScript("OnClick", GreedyQuest.AddOverrideButtonClick)