rendered paste bodyidPopbar = {}-- general stuff ------------------function idPopbar:Enable() local oldActionButton_HideGrid oldActionButton_HideGrid = ActionButton_HideGrid ActionButton_HideGrid = function(Button) Button = Button or this if string.find(Button:GetName(), 'idPopbarButton') then idPopbar:alterButtonLooks(Button) end oldActionButton_HideGrid(Button) end self.PoppedBar = false MainMenuBar:Hide() self:setupMainbar()end-- button bindings ----------------function idPopbar:ButtonDown(nButton) if self.PoppedBar then Button = getglobal('idPopbarButton'..nButton) if Button:GetButtonState() == 'NORMAL' then Button:SetButtonState('PUSHED') end endendfunction idPopbar:ButtonUp(nButton) if self.PoppedBar then Button = getglobal('idPopbarButton'..nButton) if Button:GetButtonState() == 'PUSHED' then Button:SetButtonState('NORMAL') UseAction(ActionButton_GetPagedID(Button), 0, onSelf) if IsCurrentAction(ActionButton_GetPagedID(Button)) then Button:SetChecked(1) else Button:SetChecked(0) end end self:unpopBar(nButton) else self:popBar(nButton) endendfunction idPopbar:popBar(nBar) local nButtonIdStart = nBar * 12 - 11 local nButtonIdEnd = nButtonIdStart + 12endfunction idPopbar:unpopBar(nBar) self.Mainbar['Drawer'..nBar]:Hide()end-- bar looks ----------------------function idPopbar:alterButtonLooks(Button) bg = getglobal(Button:GetName()..'NormalTexture2') or getglobal(Button:GetName()..'NormalTexture') ic = getglobal(Button:GetName()..'Icon') bg:SetAlpha(0) ic:SetTexCoord(0.07, 0.93, 0.07, 0.93)endfunction idPopbar:giveStandardBackground(Frame) Frame:SetBackdrop({ bgFile = 'Interface\\Tooltips\\UI-Tooltip-Background', edgeFile = '', tile = true, tileSize = 16, edgeSize = 0, insets = { left = 0, right = 0, top = 0, bottom = 0 } }) Frame:SetBackdropColor(0,0,0,0.4)endfunction idPopbar:addBar(name, first, last) local Button local totalWidth local totalHeight Button = getglobal(name..first) Button:ClearAllPoints() Button:SetPoint('CENTER', UIParent, 'CENTER') for i=first+1, last do Button = getglobal(name..i) Button:ClearAllPoints() Button:SetPoint('LEFT', getglobal(name..i-1), 'RIGHT') end totalWidth = ((last-first)+1)*getglobal(name..first):GetWidth() totalHeight = getglobal(name..first):GetHeight() return totalWidth, totalHeightendfunction idPopbar:addDrawer() local Drawer = CreateFrame('Button', nil, UIParent) Drawer:SetWidth(20) Drawer:SetHeight(40) self:giveStandardBackground(Drawer) return Drawerendfunction idPopbar:setupMainbar() local Mainbar = CreateFrame('frame', nil, UIParent) Mainbar.Drawer1 = self:addDrawer() Mainbar.Drawer2 = self:addDrawer() Mainbar.Drawer3 = self:addDrawer() Mainbar.Drawer4 = self:addDrawer() Mainbar.Drawer5 = self:addDrawer() Mainbar:SetWidth(Mainbar.Drawer1:GetWidth()) Mainbar:SetHeight(Mainbar.Drawer1:GetHeight()*5+4) -- plus 1px padding Mainbar.Drawer1:ClearAllPoints() Mainbar.Drawer1:SetPoint('BOTTOMLEFT', Mainbar, 'BOTTOMLEFT') for i=2,5 do Mainbar['Drawer'..i]:ClearAllPoints() Mainbar['Drawer'..i]:SetPoint('BOTTOM', Mainbar['Drawer'..i-1], 'TOP', 0, 1) end Mainbar:ClearAllPoints() Mainbar:SetPoint('BOTTOMRIGHT', UIParent, 'BOTTOMRIGHT', -2, 2) Mainbar:Show() self.Mainbar = MainbarendidPopbar:Enable()