comparison classes/Overlay.lua @ 155:806a61b331a0

Pushed the state implementation into Bar
author Flick <flickerstreak@gmail.com>
date Fri, 15 May 2009 22:38:19 +0000
parents df67685b340e
children 8cc187143acd
comparison
equal deleted inserted replaced
154:df67685b340e 155:806a61b331a0
25 25
26 -- 26 --
27 -- Wrap some of the bar manipulators to make them state-aware 27 -- Wrap some of the bar manipulators to make them state-aware
28 -- 28 --
29 local function SetAnchor( bar, point, frame, relPoint, x, y ) 29 local function SetAnchor( bar, point, frame, relPoint, x, y )
30 local state = bar:GetState() 30 local state = bar:GetSecureState()
31 if state then 31 if state then
32 local anchorstate = bar:GetStateProperty(state, "anchorEnable") 32 local anchorstate = bar:GetStateProperty(state, "anchorEnable")
33 if anchorstate then 33 if anchorstate then
34 bar:SetStateProperty(state, "anchorFrame", frame) 34 bar:SetStateProperty(state, "anchorFrame", frame)
35 bar:SetStateProperty(state, "anchorPoint", point) 35 bar:SetStateProperty(state, "anchorPoint", point)
42 end 42 end
43 bar:SetAnchor(point, frame, relPoint, x, y) 43 bar:SetAnchor(point, frame, relPoint, x, y)
44 end 44 end
45 45
46 local function GetStateScale( bar ) 46 local function GetStateScale( bar )
47 local state = bar:GetState() 47 local state = bar:GetSecureState()
48 if state and bar:GetStateProperty(state, "enableScale") then 48 if state and bar:GetStateProperty(state, "enableScale") then
49 return bar:GetStateProperty(state, "scale") 49 return bar:GetStateProperty(state, "scale")
50 end 50 end
51 end 51 end
52 52
53 local function SetStateScale( bar, scale ) 53 local function SetStateScale( bar, scale )
54 local state = bar:GetState() 54 local state = bar:GetSecureState()
55 if state and bar:GetStateProperty(state, "enableScale") then 55 if state and bar:GetStateProperty(state, "enableScale") then
56 bar:SetStateProperty(state, "scale", scale) 56 bar:SetStateProperty(state, "scale", scale)
57 end 57 end
58 end 58 end
59 59
555 RecomputeGrid(bar) 555 RecomputeGrid(bar)
556 end 556 end
557 GameTooltipTextRight2:SetText(format("%d x %d",r,c)) 557 GameTooltipTextRight2:SetText(format("%d x %d",r,c))
558 558
559 local ss = GetStateScale(bar) 559 local ss = GetStateScale(bar)
560 local state = bar:GetState()
561 if ss then 560 if ss then
562 GameTooltipTextRight4:SetText(format("%d%%", scale*100)) 561 GameTooltipTextRight4:SetText(format("%d%%", scale*100))
563 else 562 else
564 local size = (bw == bh) and tostring(bw) or format("%d x %d",bw,bh) 563 local size = (bw == bh) and tostring(bw) or format("%d x %d",bw,bh)
565 GameTooltipTextRight3:SetText(size) 564 GameTooltipTextRight3:SetText(size)
590 ) 589 )
591 corner:SetScript("OnMouseUp", 590 corner:SetScript("OnMouseUp",
592 function() 591 function()
593 local ss = GetStateScale(bar) 592 local ss = GetStateScale(bar)
594 if ss then 593 if ss then
595 local state = bar:GetState()
596 SetStateScale(bar, ComputeBarScale(bar, overlay)) 594 SetStateScale(bar, ComputeBarScale(bar, overlay))
597 end 595 end
598 StopResize() 596 StopResize()
599 end) 597 end)
600 corner:SetScript("OnEnter", 598 corner:SetScript("OnEnter",
601 function() 599 function()
602 local bw, bh = GetButtonSize(bar) 600 local bw, bh = GetButtonSize(bar)
603 local r, c, s = bar:GetButtonGrid() 601 local r, c, s = bar:GetButtonGrid()
604 local size = (bw == bh) and tostring(bw) or format("%d x %d",bw,bh) 602 local size = (bw == bh) and tostring(bw) or format("%d x %d",bw,bh)
605 local ss = GetStateScale(bar) 603 local ss = GetStateScale(bar)
606 local state = bar:GetState() 604 local state = bar:GetSecureState()
607 GameTooltip:SetOwner(f, "ANCHOR_"..point) 605 GameTooltip:SetOwner(f, "ANCHOR_"..point)
608 if ss then 606 if ss then
609 GameTooltip:AddLine(format("%s (%s: %s)", bar:GetName(), L["State"], state)) 607 GameTooltip:AddLine(format("%s (%s: %s)", bar:GetName(), L["State"], state))
610 else 608 else
611 GameTooltip:AddLine(bar:GetName()) 609 GameTooltip:AddLine(bar:GetName())
650 ) 648 )
651 649
652 local function UpdateDragTooltip() 650 local function UpdateDragTooltip()
653 GameTooltip:SetOwner(f, "ANCHOR_TOPRIGHT") 651 GameTooltip:SetOwner(f, "ANCHOR_TOPRIGHT")
654 local ss = GetStateScale(bar) 652 local ss = GetStateScale(bar)
655 local state = bar:GetState() 653 local state = bar:GetSecureState()
656 if ss then 654 if ss then
657 GameTooltip:AddLine(format("%s (%s: %s)", bar:GetName(), L["State"], state)) 655 GameTooltip:AddLine(format("%s (%s: %s)", bar:GetName(), L["State"], state))
658 else 656 else
659 GameTooltip:AddLine(bar:GetName()) 657 GameTooltip:AddLine(bar:GetName())
660 end 658 end
758 end 756 end
759 757
760 function Bar.Overlay:Hide() 758 function Bar.Overlay:Hide()
761 self.frame:Hide() 759 self.frame:Hide()
762 end 760 end
761
762 function Bar.Overlay:IsShown()
763 return self.frame:IsShown()
764 end
765
766 function Bar.Overlay:RefreshControls()
767 self.frame:RefreshControls()
768 end