mirror of
https://github.com/MarkuruThunderhoof/RecipeRadar.git
synced 2026-10-05 21:39:59 +00:00
Now usable with "custom git addon" feature of launchers
This commit is contained in:
@@ -0,0 +1,207 @@
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user