mirror of
https://github.com/MarkuruThunderhoof/RecipeRadar.git
synced 2026-09-22 15:36:57 +00:00
208 lines
5.4 KiB
Lua
208 lines
5.4 KiB
Lua
|
|
function RecipeRadar_OptionsFrame_OnLoad()
|
|
|
|
UIPanelWindows["RecipeRadarOptionsFrame"] = { area = "center" }
|
|
RecipeRadarOptionsFrameHeaderText:SetText(RRS("Recipe Radar"))
|
|
|
|
end
|
|
|
|
function RecipeRadar_OptionsFrame_Toggle()
|
|
|
|
if (RecipeRadarOptionsFrame:IsVisible()) then
|
|
RecipeRadarOptionsFrame:Hide()
|
|
else
|
|
RecipeRadarOptionsFrame:Show()
|
|
end
|
|
|
|
end
|
|
|
|
function RecipeRadar_OptionsFrame_Init()
|
|
|
|
RecipeRadarRealmAvailability:SetChecked(
|
|
RecipeRadar_Options.RealmAvailability)
|
|
|
|
RecipeRadarShowMinimapButton:SetChecked(
|
|
RecipeRadar_Options.ShowMinimapButton)
|
|
|
|
RecipeRadarMinimapButtonPositionSlider:SetValue(
|
|
RecipeRadar_Options.MinimapButtonPosition)
|
|
|
|
RecipeRadarAutoSelectRegionButton:SetChecked(
|
|
RecipeRadar_Options.AutoSelectRegion)
|
|
RecipeRadar_OptionsFrame_AutoSelectRegion_OnClick()
|
|
|
|
RecipeRadarAutoMapVendorsButton:SetChecked(
|
|
RecipeRadar_Options.AutoMapVendors)
|
|
|
|
end
|
|
|
|
function RecipeRadar_OptionsFrame_OnShow()
|
|
|
|
RecipeRadar_OptionsFrame_Init()
|
|
UIDropDownMenu_Initialize(RecipeRadar_ContinentDropDown,
|
|
RecipeRadar_ContinentDropDown_Init)
|
|
UIDropDownMenu_Initialize(RecipeRadar_RegionDropDown,
|
|
RecipeRadar_RegionDropDown_Init)
|
|
|
|
end
|
|
|
|
function RecipeRadar_OptionsFrame_AutoSelectRegion_OnClick()
|
|
|
|
if (RecipeRadarAutoSelectRegionButton:GetChecked()) then
|
|
|
|
PlaySound("igMainMenuOptionCheckBoxOn")
|
|
RecipeRadar_Options.AutoSelectRegion = true
|
|
RecipeRadar_OptionsFrame_DisableDropDown(RecipeRadar_ContinentDropDown)
|
|
RecipeRadar_OptionsFrame_DisableDropDown(RecipeRadar_RegionDropDown)
|
|
|
|
-- auto-select the current region
|
|
RecipeRadar_NewRegion(GetRealZoneText())
|
|
UIDropDownMenu_ClearAll(RecipeRadar_ContinentDropDown)
|
|
UIDropDownMenu_Initialize(RecipeRadar_ContinentDropDown,
|
|
RecipeRadar_ContinentDropDown_Init)
|
|
UIDropDownMenu_Initialize(RecipeRadar_RegionDropDown,
|
|
RecipeRadar_RegionDropDown_Init)
|
|
|
|
else
|
|
|
|
PlaySound("igMainMenuOptionCheckBoxOff")
|
|
RecipeRadar_Options.AutoSelectRegion = false
|
|
RecipeRadar_OptionsFrame_EnableDropDown(RecipeRadar_ContinentDropDown)
|
|
RecipeRadar_OptionsFrame_EnableDropDown(RecipeRadar_RegionDropDown)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
-----------------------------------------------------------------------------
|
|
-- Continent/region drop down code
|
|
-----------------------------------------------------------------------------
|
|
|
|
function RecipeRadar_ContinentDropDown_OnLoad()
|
|
|
|
UIDropDownMenu_ClearAll(this)
|
|
UIDropDownMenu_SetWidth(140)
|
|
|
|
end
|
|
|
|
function RecipeRadar_ContinentDropDown_Init()
|
|
|
|
for index, name in RecipeRadar_Continents do
|
|
|
|
local item = { }
|
|
|
|
if ((not RecipeRadar_ContinentDropDown.selectedValue and
|
|
index == RecipeRadar_Options.CurrentContinent) or
|
|
index == RecipeRadar_ContinentDropDown.selectedValue) then
|
|
item.checked = 1
|
|
end
|
|
|
|
item.text = name
|
|
item.value = index
|
|
item.func = RecipeRadar_ContinentDropDown_OnClick
|
|
|
|
UIDropDownMenu_AddButton(item)
|
|
|
|
end
|
|
|
|
if (not RecipeRadar_ContinentDropDown.selectedValue) then
|
|
UIDropDownMenu_SetSelectedValue(RecipeRadar_ContinentDropDown,
|
|
RecipeRadar_Options.CurrentContinent)
|
|
end
|
|
|
|
end
|
|
|
|
function RecipeRadar_ContinentDropDown_OnClick()
|
|
|
|
UIDropDownMenu_SetSelectedValue(RecipeRadar_ContinentDropDown, this.value)
|
|
UIDropDownMenu_Initialize(RecipeRadar_RegionDropDown,
|
|
RecipeRadar_RegionDropDown_Init)
|
|
|
|
end
|
|
|
|
function RecipeRadar_GetContinentIndex(continent)
|
|
|
|
for index, name in RecipeRadar_Continents do
|
|
if (name == continent) then
|
|
return index
|
|
end
|
|
end
|
|
return nil
|
|
|
|
end
|
|
|
|
function RecipeRadar_RegionDropDown_OnLoad()
|
|
|
|
UIDropDownMenu_SetWidth(140)
|
|
|
|
end
|
|
|
|
function RecipeRadar_RegionDropDown_Init()
|
|
|
|
local cont = UIDropDownMenu_GetSelectedValue(RecipeRadar_ContinentDropDown)
|
|
local regions = { }
|
|
|
|
if (cont == 0) then
|
|
|
|
-- create sorted list of relevant instances
|
|
table.foreach(RecipeRadar_RegionData,
|
|
function (k, v)
|
|
if (v.Continent == 0) then
|
|
table.insert(regions, k)
|
|
end
|
|
end)
|
|
table.sort(regions)
|
|
|
|
else
|
|
|
|
-- otherwise just populate with all the continent's regions
|
|
regions = { GetMapZones(cont) }
|
|
|
|
end
|
|
|
|
|
|
for id, region in regions do
|
|
|
|
local item = { }
|
|
item.text = region
|
|
item.value = id
|
|
item.func = RecipeRadar_RegionDropDown_OnClick
|
|
|
|
UIDropDownMenu_AddButton(item)
|
|
|
|
end
|
|
|
|
if (cont == RecipeRadar_Options.CurrentContinent) then
|
|
UIDropDownMenu_SetSelectedName(RecipeRadar_RegionDropDown,
|
|
RecipeRadar_Options.CurrentRegion)
|
|
else
|
|
UIDropDownMenu_ClearAll(RecipeRadar_RegionDropDown)
|
|
end
|
|
|
|
end
|
|
|
|
function RecipeRadar_RegionDropDown_OnClick()
|
|
|
|
UIDropDownMenu_SetSelectedID(RecipeRadar_RegionDropDown, this:GetID())
|
|
RecipeRadar_NewRegion(this:GetText())
|
|
RecipeRadarListScrollFrameScrollBar:SetValue(0)
|
|
RecipeRadar_FrameUpdate()
|
|
|
|
end
|
|
|
|
function RecipeRadar_OptionsFrame_DisableDropDown(dropdown)
|
|
|
|
getglobal(dropdown:GetName().."Text"):SetVertexColor(
|
|
GRAY_FONT_COLOR.r, GRAY_FONT_COLOR.g, GRAY_FONT_COLOR.b)
|
|
getglobal(dropdown:GetName().."Button"):Disable()
|
|
|
|
end
|
|
|
|
function RecipeRadar_OptionsFrame_EnableDropDown(dropdown)
|
|
|
|
getglobal(dropdown:GetName().."Text"):SetVertexColor(
|
|
HIGHLIGHT_FONT_COLOR.r, HIGHLIGHT_FONT_COLOR.g, HIGHLIGHT_FONT_COLOR.b)
|
|
getglobal(dropdown:GetName().."Button"):Enable()
|
|
|
|
end
|