-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathElmsMarkersMenu.lua
More file actions
129 lines (125 loc) · 3.15 KB
/
Copy pathElmsMarkersMenu.lua
File metadata and controls
129 lines (125 loc) · 3.15 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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
ElmsMarkers = ElmsMarkers or { }
function ElmsMarkers.buildMenu()
local panelData = {
type = "panel",
name = "Elms Markers",
displayName = "Elms Markers",
author = "bitrock",
version = ""..ElmsMarkers.version,
registerForDefaults = true,
registerForRefresh = true
}
local options = {
{
type = "header",
name = "Settings",
},
{
type = "checkbox",
name = "Enabled",
tooltip = "Toggles the UI",
default = ElmsMarkers.defaults.enabled,
getFunc = function()
return ElmsMarkers.savedVars.enabled
end,
setFunc = function(value)
ElmsMarkers.savedVars.enabled = value
ElmsMarkers.CheckActivation()
end,
},
{
type = "button",
name = "Clear Zone",
tooltip = "This will clear all markers from this zone",
isDangerous = true,
func = function(value)
ElmsMarkers.ClearZone()
end,
},
{
type = "dropdown",
name = "Icon",
tooltip = "Icon to use for the next marker placements",
choices = ElmsMarkers.options,
scrollable = true,
getFunc = function()
return ElmsMarkers.reverseOptionMap[ElmsMarkers.savedVars.selectedIconTexture]
end,
setFunc = function(value)
ElmsMarkers.savedVars.selectedIconTexture = ElmsMarkers.optionMap[value]
end,
},
{
type = "slider",
name = "Icon size",
min = 12,
max = 192,
default = ElmsMarkers.defaults.selectedIconSize,
getFunc = function()
return ElmsMarkers.savedVars.selectedIconSize
end,
setFunc = function(value)
ElmsMarkers.savedVars.selectedIconSize = value
ElmsMarkers.CheckActivation()
end,
},
{
type = "checkbox",
name = "Subscribe to Group Lead",
tooltip = "Automatically updates your zone's markers with the group lead's added/removed markers",
default = ElmsMarkers.defaults.subscribeToLead,
getFunc = function()
return ElmsMarkers.savedVars.subscribeToLead
end,
setFunc = function(value)
ElmsMarkers.savedVars.subscribeToLead = value
ElmsMarkers.CheckActivation()
end,
},
{
type = "header",
name = " Import",
},
{
type = "editbox",
name = "Config",
tooltip = "Insert a valid ElmsMarkers string to import new icons into your zone",
default = ElmsMarkers.defaults.configStringImport,
isMultiline = true,
isExtraWide = true,
getFunc = function()
return ElmsMarkers.savedVars.configStringImport
end,
setFunc = function(value)
ElmsMarkers.savedVars.configStringImport = value
end,
},
{
type = "button",
name = "Import",
tooltip = "Import a config string for this zone",
func = function(value)
ElmsMarkers.ParseImportConfigString()
end,
},
{
type = "header",
name = " Export String",
},
{
type = "editbox",
name = "Config",
tooltip = "String that describes the icons you have configured to this zone",
default = ElmsMarkers.defaults.configStringExport,
isMultiline = true,
isExtraWide = true,
getFunc = function()
return ElmsMarkers.savedVars.configStringExport
end,
setFunc = function(value)
end,
},
}
LibAddonMenu2:RegisterAddonPanel(ElmsMarkers.name.."Options", panelData)
LibAddonMenu2:RegisterOptionControls(ElmsMarkers.name.."Options", options)
end