function gui:newHeader() local header=self:newFrame(0,0,0,20,0,0,1) header:ApplyGradient({Color.white,Color.light_blue,Color.blue,trans=200}) header.last={x=0,width=0} function header:newTab(name) local font=love.graphics.getFont() local tab=self:newTextButton(name,self.last.x+self.last.width,0,font:getWidth(name)+6,20) self.last=tab tab.Visibility=0 tab.Tween=-3 tab.XTween=-2 tab.Color=Color.white tab.largest={x=0,width=0} tab.Options=tab:newFrame("Options",0,20) tab.Options.Visible=false tab.Options.Color=Color.light_gray tab:OnEnter(function(self) self.Visibility=.5 end) tab:OnExit(function(self) self.Visibility=0 end) tab:OnReleased(function(b,self) if b=="l" then self.Options.Visible=true self:addDominance() end end) tab.Options:OnExit(function(self) self.Visible=false self:removeDominance() end) function tab:newOption(name,func,HK) local opt=self.Options:newTextButton(name,0,#self.Options:getChildren()*20,0,20,0,0,1) if HK then if type(HK)=="table" then for i=1,#HK do opt:addHotKey(HK[i]):OnHotKey(func) name=name.."\t\t\t\t\t\t" local temp=opt:newTextLabel(HK[i],-(font:getWidth(HK[i])+2),0,font:getWidth(HK[i])+2,20,1) temp.Visibility=0 temp.Tween=-3 temp.XTween=-2 opt.text=name end else opt:setHotKey(HK) opt:OnHotKey(func) name=name.."\t\t\t\t\t\t" local temp=opt:newTextLabel(HK,-(font:getWidth(HK)+2),0,font:getWidth(HK)+2,20,1) temp.Visibility=0 temp.Tween=-3 temp.XTween=-2 opt.text=name end end opt.TextFormat="left" opt.Visibility=0 opt.Color=Color.white opt.Tween=-3 opt:OnEnter(function(self) self.Visibility=.5 end) opt:OnExit(function(self) self.Visibility=0 end) local font=love.graphics.getFont() local c=self:getChildren() if font:getWidth(name)+6>self.largest.width then self.largest={width=font:getWidth(name)+6} end self.Options:SetDualDim(0,20,self.largest.width,#self.Options:getChildren()*20) if func then opt:OnReleased(func) end return opt end return tab end return header end