/trunk
</Scripts> |
</CheckButton> |
<!-- nil/1/0 checkboxes for cloak/helm --> |
<CheckButton name="ItemRackTristateTemplate" inherits="UICheckButtonTemplate" virtual="true"> |
<Size> |
<AbsDimension x="18" y="18"/> |
</Size> |
<Scripts> |
<OnClick> |
ItemRackOpt.TriStateCheckOnClick(self) |
</OnClick> |
<OnEnter> |
ItemRackOpt.TriStateCheckTooltip(self) |
</OnEnter> |
<OnLeave> |
GameTooltip:Hide() |
</OnLeave> |
</Scripts> |
</CheckButton> |
<Button name="ItemRackOptEventEditPickTypeTemplate" virtual="true"> |
<Size> |
<AbsDimension x="150" y="18"/> |
</Anchors> |
</Button> |
<CheckButton name="ItemRackOptShowHelm" inherits="ItemRackTristateTemplate"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="ItemRackOptSetsIconFrame" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="62" y="-6"/> |
</Offset> |
</Anchor> |
</Anchors> |
</CheckButton> |
<CheckButton name="ItemRackOptShowCloak" inherits="ItemRackTristateTemplate"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="ItemRackOptShowHelm" relativePoint="BOTTOMLEFT"> |
<Offset> |
<AbsDimension x="0" y="4"/> |
</Offset> |
</Anchor> |
</Anchors> |
</CheckButton> |
<CheckButton name="ItemRackOptSetsCurrentSet" inherits="ActionButtonTemplate"> |
<Anchors> |
<Anchor point="TOPLEFT" relativeTo="ItemRackOptSetsIconFrame" relativePoint="BOTTOMLEFT"> |
["ItemRackOptItemStatsKeepEquippedText"] = "Pause Queue", |
["ItemRackOptQueueEnableText"] = "Auto Queue This Slot", |
["ItemRackOptSetsHideCheckButtonText"] = "Hide", |
["ItemRackOptShowHelmText"] = "Helm", |
["ItemRackOptShowCloakText"] = "Cloak", |
["ItemRackOptEventEditBuffAnyMountText"] = "Any mount", |
["ItemRackOptEventEditBuffUnequipText"] = "Unequip when buff fades", |
["ItemRackOptEventEditBuffNotInPVPText"] = "Except in PVP instances", |
_G[i]:SetTextColor(1,1,1,1) |
end |
ItemRackOpt.TriStateCheckSetState(ItemRackOptShowHelm,nil) |
ItemRackOpt.TriStateCheckSetState(ItemRackOptShowCloak,nil) |
end |
function ItemRackOpt.InitializeSliders() |
end |
ItemRackOpt.PopulateInvIcons() |
ItemRackOpt.ValidateSetButtons() |
if(type(ItemRackOpt.selectedIcon) == "number") then |
ItemRackOptSetsCurrentSetIcon:SetToFileData(ItemRackOpt.selectedIcon) |
else |
ItemRackOptSetsCurrentSetIcon:SetTexture(ItemRackOpt.selectedIcon) |
end |
ItemRackOptSetsCurrentSetIcon:SetTexture(ItemRackOpt.selectedIcon) |
end |
function ItemRackOpt.ToggleInvSelect(self) |
idx = (offset*5) + i |
if idx<=#(ItemRackOpt.Icons) then |
texture = ItemRackOpt.Icons[idx] |
if(type(texture) == "number") then |
_G["ItemRackOptSetsIcon"..i.."Icon"]:SetToFileData(texture) |
else |
_G["ItemRackOptSetsIcon"..i.."Icon"]:SetTexture(texture) |
end |
_G["ItemRackOptSetsIcon"..i.."Icon"]:SetTexture(texture) |
item:Show() |
if texture==ItemRackOpt.selectedIcon then |
item:LockHighlight() |
function ItemRackOpt.SetsIconOnClick(self) |
local idx = self:GetID() + FauxScrollFrame_GetOffset(ItemRackOptSetsIconScrollFrame)*5 |
ItemRackOpt.selectedIcon = ItemRackOpt.Icons[idx] |
if(type(ItemRackOpt.selectedIcon) == "number") then |
ItemRackOptSetsCurrentSetIcon:SetToFileData(ItemRackOpt.selectedIcon) |
else |
ItemRackOptSetsCurrentSetIcon:SetTexture(ItemRackOpt.selectedIcon) |
end |
ItemRackOptSetsCurrentSetIcon:SetTexture(ItemRackOpt.selectedIcon) |
ItemRackOpt.SetsIconScrollFrameUpdate() |
end |
ItemRackOptSetsHideCheckButton:Disable() |
ItemRackOptSetsHideCheckButtonText:SetTextColor(.5,.5,.5,1) |
ItemRackOptSetsHideCheckButton:SetChecked(false) |
ItemRackOpt.TriStateCheckSetState(ItemRackOptShowHelm,nil) |
ItemRackOpt.TriStateCheckSetState(ItemRackOptShowCloak,nil) |
ItemRackOptShowHelm:Disable() |
ItemRackOptShowCloak:Disable() |
local setname = ItemRackOptSetsName:GetText() |
if string.len(setname)>0 then |
for i=0,19 do |
ItemRackOptSetsHideCheckButtonText:SetTextColor(1,1,1,1) |
ItemRackOptSetsHideCheckButton:SetChecked(ItemRack.IsHidden(setname)) |
ItemRackOptSetsCurrentSetIcon:SetTexture(ItemRackUser.Sets[setname].icon) |
ItemRackOpt.TriStateCheckSetState(ItemRackOptShowHelm,ItemRackUser.Sets[setname].ShowHelm) |
ItemRackOpt.TriStateCheckSetState(ItemRackOptShowCloak,ItemRackUser.Sets[setname].ShowCloak) |
ItemRackOptShowHelm:Enable() |
ItemRackOptShowCloak:Enable() |
end |
end |
ItemRack.UpdateCombatQueue() |
end |
--[[ Show/Hide/Ignore Helm/Cloak tristate checkbuttons ]] |
-- sets the state of a checkbutton to nil, 0 or 1 |
function ItemRackOpt.TriStateCheckSetState(button,value) |
local label = _G[button:GetName().."Text"] |
button.tristate = value |
if not value then |
button:SetCheckedTexture("Interface\\Buttons\\UI-CheckBox-Up") |
button:SetChecked(false) |
label:SetTextColor(.5,.5,.5) |
elseif value==0 then |
button:SetCheckedTexture("Interface\\RAIDFRAME\\ReadyCheck-NotReady") |
button:SetChecked(true) |
label:SetTextColor(1,1,1) |
elseif value==1 then |
button:SetCheckedTexture("Interface\\Buttons\\UI-CheckBox-Check") |
button:SetChecked(true) |
label:SetTextColor(1,1,1) |
end |
end |
-- rotates a checkbutton from indeterminate->unchecked->checked (for show helm/cloak) |
function ItemRackOpt.TriStateCheckOnClick(self) |
local newstate |
if not self.tristate then |
newstate = 1 -- nil->1 (show) |
elseif self.tristate==0 then |
newstate = nil -- 0->nil (ignore) |
elseif self.tristate==1 then |
newstate = 0 -- 1->0 (hide) |
end |
ItemRackOpt.TriStateCheckSetState(self,newstate) |
local setname = ItemRackOptSetsName:GetText() |
if setname and ItemRackUser.Sets[setname] then |
local which = self==ItemRackOptShowHelm and "ShowHelm" or "ShowCloak" |
ItemRackUser.Sets[setname][which] = newstate |
end |
ItemRackOpt.TriStateCheckTooltip(self) |
end |
function ItemRackOpt.TriStateCheckTooltip(self) |
local tristate_names = { ["nil"] = "Ignore", ["0"] = "Hide", ["1"] = "Show" } |
local which = self==ItemRackOptShowHelm and "Helm" or "Cloak" |
ItemRack.OnTooltip(self,which..": "..tristate_names[tostring(self.tristate)],"This determines if the "..string.lower(which).." is shown or hidden when equipped.\n\124TInterface\\Buttons\\UI-CheckBox-Up:22\124t = Ignore\n\124TInterface\\Buttons\\UI-CheckBox-Check:22\124t = Show\n\124TInterface\\RAIDFRAME\\ReadyCheck-NotReady:22\124t = Hide") |
end |
--[[ Events ]] |
ItemRackOpt.EventList = {} |
## Interface: 60200 |
## Interface: 70000 |
## Title: ItemRackOptions |
## Notes: Load-On-Demand modules for ItemRack |
## Dependencies: ItemRack, Blizzard_MacroUI |