bdActionbars

bdActionbars

21.8k Downloads

Actionbar Shift for Druids is Missing

pquerner opened this issue ยท 8 comments

commented

^title

commented

Its called "ElvUI_StanceBar" I dont know if this is just ElvUI or if its called "StanceBar" in Default UI too.

commented

Its called "ElvUI_StanceBar" I dont know if this is just ElvUI or if its called "StanceBar" in Default UI too.

commented

image

commented

Its moveable, but I had to change "num rows" to 1 so it resizes itself. And then I could click and move the frame properly.

commented
local addon, ab = ...
local config = bdCore.config.profile['Actionbars']

--if (bdCore.isLegion) then return end

bdCore:makeMovable(ab.stancebar)

StanceBarFrame:SetParent(ab.stancebar)
StanceBarFrame:SetScript("OnHide", function() ab.stancebar:Hide() end)
StanceBarFrame:SetScript("OnShow", function() ab.stancebar:Show() end)
--StanceBarFrame:SetPoint("TOPLEFT", ab.stancebar, "TOPLEFT", -7, 0)
--StanceBarFrame:EnableMouse(false)
--StanceBarLeft:Hide()
--StanceBarLeft.Show = nil
--StanceBarRight:Hide()
--StanceBarRight.Show = nil

function ab.stancebar:Update()
	config = bdCore.config.profile['Actionbars']
	local num = GetNumShapeshiftForms()
	local rows = math.floor(num/config.stancebarrows)
	local index = 1
	local lastrow = StanceButton1
	local lastbutton = nil
	ab:Size(ab.stancebar,'stancebarrows',num)
	
	for i = 1, NUM_STANCE_SLOTS do
		local Button = _G["StanceButton"..i]
		local border = bdCore.config.persistent['General'].border
		Button:SetSize(config.buttonsize,config.buttonsize)
		Button:ClearAllPoints()
		Button:SetFrameStrata("BACKGROUND")
		Button:SetFrameLevel(15)
		Button:SetAttribute("flyoutDirection","UP")
		ab:skinButton(Button,"stancebar",ab.stancebar)
		if (not lastbutton) then
			Button:SetPoint("TOPLEFT", self, "TOPLEFT", 0, 0)
		else
			Button:SetPoint("LEFT", lastbutton, "RIGHT", config.buttonspacing+border, 0)
			if (i > rows and index >= rows) then
				Button:SetPoint("TOPLEFT", lastrow, "BOTTOMLEFT", 0, -config.buttonspacing-border)
				index = 0
				lastrow = Button
			end
		end
		index = index + 1
		lastbutton = Button
		
		ab.stancebar["Button"..i] = Button
	end
end
--dCore:hookEvent("bd_reconfig",function() ab.stancebar:Update() end)

ab.stancebar:RegisterEvent("PLAYER_ENTERING_WORLD")
ab.stancebar:RegisterEvent("PLAYER_TALENT_UPDATE")
ab.stancebar:RegisterEvent("SPELLS_CHANGED")
ab.stancebar:SetScript("OnEvent", function(self, event, ...)
	ab.stancebar:Update()
end)

ab.stancebar:Update()

RegisterStateDriver(ab.stancebar, "visibility", "[vehicleui][petbattle][overridebar] hide; show")
commented

Now all its missing is the hotkey text. I think its this line, not triggering for "Special Action Button 1...10"
https://github.com/blooblahguy/bdActionbars/blob/master/core.lua#L57

commented
local addon, ab = ...
local config = bdCore.config.profile['Actionbars']

--if (bdCore.isLegion) then return end

bdCore:makeMovable(ab.stancebar)

StanceBarFrame:SetParent(ab.stancebar)
StanceBarFrame:SetScript("OnHide", function() ab.stancebar:Hide() end)
StanceBarFrame:SetScript("OnShow", function() ab.stancebar:Show() end)
--StanceBarFrame:SetPoint("TOPLEFT", ab.stancebar, "TOPLEFT", -7, 0)
--StanceBarFrame:EnableMouse(false)
--StanceBarLeft:Hide()
--StanceBarLeft.Show = nil
--StanceBarRight:Hide()
--StanceBarRight.Show = nil

function ab.stancebar:Update()
	config = bdCore.config.profile['Actionbars']
	local num = GetNumShapeshiftForms()
	local rows = math.floor(num/config.stancebarrows)
	local index = 1
	local lastrow = StanceButton1
	local lastbutton = nil
	ab:Size(ab.stancebar,'stancebarrows',num)

	for i = 1, NUM_STANCE_SLOTS do
		local Button = _G["StanceButton"..i]
		local border = bdCore.config.persistent['General'].border
		Button:SetSize(config.buttonsize,config.buttonsize)
		Button:ClearAllPoints()
		Button:SetFrameStrata("BACKGROUND")
		Button:SetFrameLevel(15)
		Button:SetAttribute("flyoutDirection","UP")
		ab:skinButton(Button,"stancebar",ab.stancebar)
		if (not lastbutton) then
			Button:SetPoint("TOPLEFT", self, "TOPLEFT", 0, 0)
		else
			Button:SetPoint("LEFT", lastbutton, "RIGHT", config.buttonspacing+border, 0)
			if (i > rows and index >= rows) then
				Button:SetPoint("TOPLEFT", lastrow, "BOTTOMLEFT", 0, -config.buttonspacing-border)
				index = 0
				lastrow = Button
			end
		end
		index = index + 1
		lastbutton = Button

		ab.stancebar["Button"..i] = Button
	end
end
--dCore:hookEvent("bd_reconfig",function() ab.stancebar:Update() end)

ab.stancebar:RegisterEvent("PLAYER_ENTERING_WORLD")
ab.stancebar:RegisterEvent("UPDATE_SHAPESHIFT_FORMS")
ab.stancebar:RegisterEvent("SPELL_UPDATE_COOLDOWN")
ab.stancebar:RegisterEvent("SPELL_UPDATE_USABLE")
ab.stancebar:RegisterEvent("PLAYER_AURAS_CHANGED")
ab.stancebar:RegisterEvent("PLAYER_REGEN_ENABLED")
ab.stancebar:RegisterEvent("ACTIONBAR_PAGE_CHANGED")
ab.stancebar:SetScript("OnEvent", function(self, event, ...)
	ab.stancebar:Update()
end)

ab.stancebar:Update()

RegisterStateDriver(ab.stancebar, "visibility", "[vehicleui][petbattle][overridebar] hide; show")