feat: icons tab added and option to turn on/off unused item to red

This commit is contained in:
Salikh Gurgenidze
2026-01-04 21:49:13 +04:00
parent 7661625803
commit 1ceccc9875
8 changed files with 302 additions and 150 deletions
+4
View File
@@ -47,6 +47,7 @@ function DB:Initialize()
bgTransparency = 0.15,
showTrackedItems = true,
showTooltipCounts = true,
markUnusableItems = true,
bagViewType = "single", -- single, category
bankViewType = "single", -- single, category
trackedItems = {},
@@ -117,6 +118,9 @@ function DB:Initialize()
if Guda_CharDB.settings.questBarPinnedItems == nil then
Guda_CharDB.settings.questBarPinnedItems = {}
end
if Guda_CharDB.settings.markUnusableItems == nil then
Guda_CharDB.settings.markUnusableItems = true
end
-- Initialize this character's data
if not Guda_DB.characters[fullName] then
+1 -1
View File
@@ -2,7 +2,7 @@
## Title: Guda
## Notes: All-in-one bag and bank addon for World of Warcraft 1.12.1 (Turtle WoW)
## Author: Vati
## Version: 1.5.6
## Version: 1.5.7
## SavedVariables: Guda_DB
## SavedVariablesPerCharacter: Guda_CharDB
+15
View File
@@ -6,6 +6,9 @@ local addon = Guda
local SortEngine = {}
addon.Modules.SortEngine = SortEngine
-- Flag to track if sorting is currently in progress
SortEngine.sortingInProgress = false
--===========================================================================
-- CONSTANTS
--===========================================================================
@@ -1386,6 +1389,12 @@ end
--===========================================================================
function SortEngine:ExecuteSort(sortFunction, analyzeFunction, updateFrame, sortType)
-- Check if sorting is already in progress
if self.sortingInProgress then
addon:Print("Sorting already in progress, please wait...")
return false, "sorting in progress"
end
-- Clear property cache at the start of a sort operation
self:ClearCache()
@@ -1397,6 +1406,9 @@ function SortEngine:ExecuteSort(sortFunction, analyzeFunction, updateFrame, sort
return false, "already sorted"
end
-- Set sorting flag
self.sortingInProgress = true
-- Print analysis results
addon:Print("Sorting %s... (%d/%d items need sorting, estimated %d passes)",
sortType, analysis.itemsOutOfPlace, analysis.totalItems, analysis.passes)
@@ -1429,6 +1441,7 @@ function SortEngine:ExecuteSort(sortFunction, analyzeFunction, updateFrame, sort
frame:SetScript("OnUpdate", function()
if GetTime() - startTime >= 0.7 then
frame:SetScript("OnUpdate", nil)
SortEngine.sortingInProgress = false
updateFrame()
end
end)
@@ -1443,6 +1456,7 @@ function SortEngine:ExecuteSort(sortFunction, analyzeFunction, updateFrame, sort
frame:SetScript("OnUpdate", function()
if GetTime() - startTime >= 0.7 then
frame:SetScript("OnUpdate", nil)
SortEngine.sortingInProgress = false
updateFrame()
end
end)
@@ -1463,6 +1477,7 @@ function SortEngine:ExecuteSort(sortFunction, analyzeFunction, updateFrame, sort
frame:SetScript("OnUpdate", function()
if GetTime() - startTime >= 0.7 then
frame:SetScript("OnUpdate", nil)
SortEngine.sortingInProgress = false
updateFrame()
end
end)
+10
View File
@@ -1358,6 +1358,12 @@ function Guda_BagFrame_MergeStacks()
return
end
-- Check if sorting is already in progress
if addon.Modules.SortEngine.sortingInProgress then
addon:Print("Sorting already in progress, please wait...")
return
end
local bagIDs = addon.Constants.BAGS
local moveQueue = {}
@@ -1450,6 +1456,9 @@ function Guda_BagFrame_MergeStacks()
return
end
-- Set sorting flag
addon.Modules.SortEngine.sortingInProgress = true
-- Process queue with delays
local queueIndex = 1
local retryCount = 0
@@ -1458,6 +1467,7 @@ function Guda_BagFrame_MergeStacks()
local function ProcessNextMove()
if queueIndex > table.getn(moveQueue) then
addon:Print("Merged " .. totalMoves .. " stack(s)")
addon.Modules.SortEngine.sortingInProgress = false
BagFrame:Update()
return
end
+11 -1
View File
@@ -998,6 +998,12 @@ function Guda_BankFrame_MergeStacks()
return
end
-- Check if sorting is already in progress
if addon.Modules.SortEngine.sortingInProgress then
addon:Print("Sorting already in progress, please wait...")
return
end
local bagIDs = addon.Constants.BANK_BAGS
local moveQueue = {}
@@ -1090,14 +1096,18 @@ function Guda_BankFrame_MergeStacks()
return
end
-- Set sorting flag
addon.Modules.SortEngine.sortingInProgress = true
-- Process queue with delays
local queueIndex = 1
local retryCount = 0
local totalMoves = table.getn(moveQueue)
local function ProcessNextMove()
if queueIndex > table.getn(moveQueue) then
addon:Print("Merged " .. totalMoves .. " stack(s)")
addon.Modules.SortEngine.sortingInProgress = false
BankFrame:Update()
return
end
+20 -2
View File
@@ -193,6 +193,20 @@ local function Guda_ItemButton_UpdateUsableTint(self)
SetItemButtonTextureVertexColor(self, 1.0, 1.0, 1.0)
end
-- Check if feature is enabled
local markUnusable = true
if Guda and Guda.Modules and Guda.Modules.DB then
markUnusable = Guda.Modules.DB:GetSetting("markUnusableItems")
if markUnusable == nil then
markUnusable = true
end
end
-- If feature is disabled, just return after clearing
if not markUnusable then
return
end
-- Only evaluate for live (player) items; DB cached items from other chars cannot be scanned
if not self or not self.hasItem or not self.bagID or not self.slotID or self.isReadOnly or self.otherChar then
return
@@ -1097,10 +1111,14 @@ function Guda_ItemButton_OnEnter(self)
-- For live mode: use SetBagItem for all bags
GameTooltip:SetBagItem(self.bagID, self.slotID)
end
GameTooltip:Show()
-- Handle merchant sell cursor (same approach as BagShui)
-- TESTING: Print item info to console for debugging
--local name, link, itemQuality, iLevel, itemCategory, itemType, itemStackCount, itemSubType, itemTexture, itemEquipLoc, itemSellPrice = addon.Modules.Utils:GetItemInfo(self.itemData.link)
--addon:Print("name:" .. tostring(name) .. " link:" .. tostring(link) .. " quality:" .. tostring(itemQuality) .. " iLevel:" .. tostring(iLevel) .. " category:" .. tostring(itemCategory) .. " type:" .. tostring(itemType) .. " subType:" .. tostring(itemSubType) .. " stackCount:" .. tostring(itemStackCount) .. " equipLoc:" .. tostring(itemEquipLoc) .. " sellPrice:" .. tostring(itemSellPrice))
-- Handle merchant sell cursor (same approach as BagShui)
if MerchantFrame:IsShown() and not self.isBank and not self.otherChar and self.hasItem then
ShowContainerSellCursor(self.bagID, self.slotID)
else
+60 -5
View File
@@ -28,9 +28,10 @@ function Guda_SettingsPopup_OnLoad(self)
end
-- Set tab names
PanelTemplates_SetNumTabs(self, 2)
PanelTemplates_SetNumTabs(self, 3)
getglobal(self:GetName().."Tab1"):SetText("General")
getglobal(self:GetName().."Tab2"):SetText("Quick Guide")
getglobal(self:GetName().."Tab2"):SetText("Icons")
getglobal(self:GetName().."Tab3"):SetText("Quick Guide")
PanelTemplates_SetTab(self, 1)
-- Set How to Use text
@@ -57,12 +58,18 @@ end
function Guda_SettingsPopup_Tab_OnClick(id)
local frame = Guda_SettingsPopup
PanelTemplates_SetTab(frame, id)
-- Hide all tabs
getglobal(frame:GetName().."_GeneralTab"):Hide()
getglobal(frame:GetName().."_IconsTab"):Hide()
getglobal(frame:GetName().."_HowToUseTab"):Hide()
-- Show selected tab
if id == 1 then
getglobal(frame:GetName().."_GeneralTab"):Show()
getglobal(frame:GetName().."_HowToUseTab"):Hide()
elseif id == 2 then
getglobal(frame:GetName().."_IconsTab"):Show()
else
getglobal(frame:GetName().."_GeneralTab"):Hide()
getglobal(frame:GetName().."_HowToUseTab"):Show()
end
end
@@ -948,6 +955,54 @@ function Guda_SettingsPopup_ShowTooltipCountsCheckbox_OnClick(self)
end
end
-- Mark Unusable Items Checkbox OnLoad
function Guda_SettingsPopup_MarkUnusableCheckbox_OnLoad(self)
local text = getglobal(self:GetName().."Text")
if text then
text:SetText("Mark Unusable Items")
-- Increase font size
local font, _, flags = text:GetFont()
if font then
text:SetFont(font, 13, flags)
end
end
-- Tooltip
self.tooltipText = "Show a red tint on items that your character cannot use (wrong class, level, etc.)."
local markUnusable = true
if Guda and Guda.Modules and Guda.Modules.DB then
markUnusable = Guda.Modules.DB:GetSetting("markUnusableItems")
if markUnusable == nil then
markUnusable = true
end
end
self:SetChecked(markUnusable and 1 or 0)
end
-- Mark Unusable Items Checkbox OnClick
function Guda_SettingsPopup_MarkUnusableCheckbox_OnClick(self)
local isChecked = self:GetChecked() == 1
-- Save setting
if Guda and Guda.Modules and Guda.Modules.DB then
Guda.Modules.DB:SetSetting("markUnusableItems", isChecked)
end
-- Update bag and bank frames to apply/remove the red tint
local bagFrame = getglobal("Guda_BagFrame")
if bagFrame and bagFrame:IsShown() then
Guda.Modules.BagFrame:Update()
end
local bankFrame = getglobal("Guda_BankFrame")
if bankFrame and bankFrame:IsShown() then
Guda.Modules.BankFrame:Update()
end
end
-- Bag View Type Button OnClick
function Guda_SettingsPopup_BagViewTypeButton_OnClick()
local current = Guda.Modules.DB:GetSetting("bagViewType") or "single"
+181 -141
View File
@@ -3,7 +3,7 @@
<!-- Settings Popup Frame -->
<Frame name="Guda_SettingsPopup" toplevel="true" movable="true" enableMouse="true" hidden="true" parent="UIParent" frameStrata="DIALOG">
<Size>
<AbsDimension x="550" y="590"/>
<AbsDimension x="510" y="590"/>
</Size>
<Anchors>
@@ -72,6 +72,20 @@
</OnClick>
</Scripts>
</Button>
<Button name="$parentTab3" inherits="CharacterFrameTabButtonTemplate" id="3">
<Anchors>
<Anchor point="LEFT" relativeTo="$parentTab2" relativePoint="RIGHT">
<Offset>
<AbsDimension x="-16" y="0"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnClick>
Guda_SettingsPopup_Tab_OnClick(3)
</OnClick>
</Scripts>
</Button>
<!-- Close Button -->
<Button name="$parent_CloseButton" inherits="UIPanelCloseButton">
@@ -95,7 +109,7 @@
<!-- Bag Columns Slider -->
<Slider name="Guda_SettingsPopup_BagColumnsSlider" inherits="OptionsSliderTemplate">
<Size>
<AbsDimension x="500" y="17"/>
<AbsDimension x="460" y="17"/>
</Size>
<Anchors>
<Anchor point="TOP">
@@ -117,7 +131,7 @@
<!-- Bank Columns Slider -->
<Slider name="Guda_SettingsPopup_BankColumnsSlider" inherits="OptionsSliderTemplate">
<Size>
<AbsDimension x="500" y="17"/>
<AbsDimension x="460" y="17"/>
</Size>
<Anchors>
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="Guda_SettingsPopup_BagColumnsSlider">
@@ -136,79 +150,13 @@
</Scripts>
</Slider>
<!-- Icon Size Slider -->
<Slider name="Guda_SettingsPopup_IconSizeSlider" inherits="OptionsSliderTemplate">
<Size>
<AbsDimension x="500" y="17"/>
</Size>
<Anchors>
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="Guda_SettingsPopup_BankColumnsSlider">
<Offset>
<AbsDimension x="0" y="-40"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
Guda_SettingsPopup_IconSizeSlider_OnLoad(this)
</OnLoad>
<OnValueChanged>
Guda_SettingsPopup_IconSizeSlider_OnValueChanged(this)
</OnValueChanged>
</Scripts>
</Slider>
<!-- Icon Font Size Slider -->
<Slider name="Guda_SettingsPopup_IconFontSizeSlider" inherits="OptionsSliderTemplate">
<Size>
<AbsDimension x="500" y="17"/>
</Size>
<Anchors>
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="Guda_SettingsPopup_IconSizeSlider">
<Offset>
<AbsDimension x="0" y="-40"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
Guda_SettingsPopup_IconFontSizeSlider_OnLoad(this)
</OnLoad>
<OnValueChanged>
Guda_SettingsPopup_IconFontSizeSlider_OnValueChanged(this)
</OnValueChanged>
</Scripts>
</Slider>
<!-- Icon Spacing Slider -->
<Slider name="Guda_SettingsPopup_IconSpacingSlider" inherits="OptionsSliderTemplate">
<Size>
<AbsDimension x="500" y="17"/>
</Size>
<Anchors>
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="Guda_SettingsPopup_IconFontSizeSlider">
<Offset>
<AbsDimension x="0" y="-40"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
Guda_SettingsPopup_IconSpacingSlider_OnLoad(this)
</OnLoad>
<OnValueChanged>
Guda_SettingsPopup_IconSpacingSlider_OnValueChanged(this)
</OnValueChanged>
</Scripts>
</Slider>
<!-- Background Transparency Slider -->
<Slider name="Guda_SettingsPopup_BgTransparencySlider" inherits="OptionsSliderTemplate">
<Size>
<AbsDimension x="500" y="17"/>
<AbsDimension x="460" y="17"/>
</Size>
<Anchors>
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="Guda_SettingsPopup_IconSpacingSlider">
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="Guda_SettingsPopup_BankColumnsSlider">
<Offset>
<AbsDimension x="0" y="-40"/>
</Offset>
@@ -229,7 +177,7 @@
<Anchors>
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="Guda_SettingsPopup_BgTransparencySlider">
<Offset>
<AbsDimension x="-240" y="-30"/>
<AbsDimension x="-215" y="-30"/>
</Offset>
</Anchor>
</Anchors>
@@ -248,7 +196,7 @@
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="Guda_SettingsPopup_LockBagsCheckbox">
<Offset>
<AbsDimension x="145" y="0"/>
<AbsDimension x="185" y="0"/>
</Offset>
</Anchor>
</Anchors>
@@ -262,27 +210,8 @@
</Scripts>
</CheckButton>
<!-- Quality Border Equipment Checkbox -->
<CheckButton name="Guda_SettingsPopup_QualityBorderEquipmentCheckbox" inherits="OptionsCheckButtonTemplate">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="Guda_SettingsPopup_HideBordersCheckbox">
<Offset>
<AbsDimension x="145" y="0"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
Guda_SettingsPopup_QualityBorderEquipmentCheckbox_OnLoad(this)
</OnLoad>
<OnClick>
Guda_SettingsPopup_QualityBorderEquipmentCheckbox_OnClick(this)
</OnClick>
</Scripts>
</CheckButton>
<!-- Quality Border Other Checkbox -->
<CheckButton name="Guda_SettingsPopup_QualityBorderOtherCheckbox" inherits="OptionsCheckButtonTemplate">
<!-- Show Search Bar Checkbox -->
<CheckButton name="Guda_SettingsPopup_ShowSearchBarCheckbox" inherits="OptionsCheckButtonTemplate">
<Anchors>
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="Guda_SettingsPopup_LockBagsCheckbox">
<Offset>
@@ -290,25 +219,6 @@
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
Guda_SettingsPopup_QualityBorderOtherCheckbox_OnLoad(this)
</OnLoad>
<OnClick>
Guda_SettingsPopup_QualityBorderOtherCheckbox_OnClick(this)
</OnClick>
</Scripts>
</CheckButton>
<!-- Show Search Bar Checkbox -->
<CheckButton name="Guda_SettingsPopup_ShowSearchBarCheckbox" inherits="OptionsCheckButtonTemplate">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="Guda_SettingsPopup_QualityBorderOtherCheckbox">
<Offset>
<AbsDimension x="145" y="0"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
Guda_SettingsPopup_ShowSearchBarCheckbox_OnLoad(this)
@@ -324,7 +234,7 @@
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="Guda_SettingsPopup_ShowSearchBarCheckbox">
<Offset>
<AbsDimension x="145" y="0"/>
<AbsDimension x="185" y="0"/>
</Offset>
</Anchor>
</Anchors>
@@ -341,7 +251,7 @@
<!-- Hover Bagline Checkbox -->
<CheckButton name="Guda_SettingsPopup_HoverBaglineCheckbox" inherits="OptionsCheckButtonTemplate">
<Anchors>
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="Guda_SettingsPopup_QualityBorderOtherCheckbox">
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="Guda_SettingsPopup_ShowSearchBarCheckbox">
<Offset>
<AbsDimension x="0" y="-8"/>
</Offset>
@@ -362,7 +272,7 @@
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="Guda_SettingsPopup_HoverBaglineCheckbox">
<Offset>
<AbsDimension x="145" y="0"/>
<AbsDimension x="185" y="0"/>
</Offset>
</Anchor>
</Anchors>
@@ -375,25 +285,6 @@
</OnClick>
</Scripts>
</CheckButton>
<!-- Show Tooltip Counts Checkbox -->
<CheckButton name="Guda_SettingsPopup_ShowTooltipCountsCheckbox" inherits="OptionsCheckButtonTemplate">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="Guda_SettingsPopup_HideFooterCheckbox">
<Offset>
<AbsDimension x="145" y="0"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
Guda_SettingsPopup_ShowTooltipCountsCheckbox_OnLoad(this)
</OnLoad>
<OnClick>
Guda_SettingsPopup_ShowTooltipCountsCheckbox_OnClick(this)
</OnClick>
</Scripts>
</CheckButton>
<!-- Reverse Stack Sort Checkbox -->
<CheckButton name="Guda_SettingsPopup_ReverseStackSortCheckbox" inherits="OptionsCheckButtonTemplate">
@@ -414,12 +305,12 @@
</Scripts>
</CheckButton>
<!-- View Types - Same row as Reverse Stack Sort -->
<!-- View Types - Row below Reverse Stack Sort -->
<Button name="Guda_SettingsPopup_BagViewTypeButton" inherits="UIPanelButtonTemplate">
<Size><AbsDimension x="140" y="22"/></Size>
<Size><AbsDimension x="200" y="22"/></Size>
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="Guda_SettingsPopup_ReverseStackSortCheckbox">
<Offset><AbsDimension x="147" y="0"/></Offset>
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="Guda_SettingsPopup_ReverseStackSortCheckbox">
<Offset><AbsDimension x="85" y="-8"/></Offset>
</Anchor>
</Anchors>
<Scripts>
@@ -428,10 +319,10 @@
</Button>
<Button name="Guda_SettingsPopup_BankViewTypeButton" inherits="UIPanelButtonTemplate">
<Size><AbsDimension x="140" y="22"/></Size>
<Size><AbsDimension x="200" y="22"/></Size>
<Anchors>
<Anchor point="LEFT" relativeTo="Guda_SettingsPopup_BagViewTypeButton" relativePoint="RIGHT">
<Offset><AbsDimension x="10" y="0"/></Offset>
<Offset><AbsDimension x="20" y="0"/></Offset>
</Anchor>
</Anchors>
<Scripts>
@@ -460,6 +351,155 @@
</Layer>
</Layers>
</Frame>
<!-- Icons Tab Content -->
<Frame name="$parent_IconsTab" setAllPoints="true" hidden="true">
<Frames>
<!-- Icon Size Slider -->
<Slider name="Guda_SettingsPopup_IconSizeSlider" inherits="OptionsSliderTemplate">
<Size>
<AbsDimension x="460" y="17"/>
</Size>
<Anchors>
<Anchor point="TOP">
<Offset>
<AbsDimension x="0" y="-90"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
Guda_SettingsPopup_IconSizeSlider_OnLoad(this)
</OnLoad>
<OnValueChanged>
Guda_SettingsPopup_IconSizeSlider_OnValueChanged(this)
</OnValueChanged>
</Scripts>
</Slider>
<!-- Icon Font Size Slider -->
<Slider name="Guda_SettingsPopup_IconFontSizeSlider" inherits="OptionsSliderTemplate">
<Size>
<AbsDimension x="460" y="17"/>
</Size>
<Anchors>
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="Guda_SettingsPopup_IconSizeSlider">
<Offset>
<AbsDimension x="0" y="-40"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
Guda_SettingsPopup_IconFontSizeSlider_OnLoad(this)
</OnLoad>
<OnValueChanged>
Guda_SettingsPopup_IconFontSizeSlider_OnValueChanged(this)
</OnValueChanged>
</Scripts>
</Slider>
<!-- Icon Spacing Slider -->
<Slider name="Guda_SettingsPopup_IconSpacingSlider" inherits="OptionsSliderTemplate">
<Size>
<AbsDimension x="460" y="17"/>
</Size>
<Anchors>
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="Guda_SettingsPopup_IconFontSizeSlider">
<Offset>
<AbsDimension x="0" y="-40"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
Guda_SettingsPopup_IconSpacingSlider_OnLoad(this)
</OnLoad>
<OnValueChanged>
Guda_SettingsPopup_IconSpacingSlider_OnValueChanged(this)
</OnValueChanged>
</Scripts>
</Slider>
<!-- Quality Border Equipment Checkbox -->
<CheckButton name="Guda_SettingsPopup_QualityBorderEquipmentCheckbox" inherits="OptionsCheckButtonTemplate">
<Anchors>
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="Guda_SettingsPopup_IconSpacingSlider">
<Offset>
<AbsDimension x="-215" y="-30"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
Guda_SettingsPopup_QualityBorderEquipmentCheckbox_OnLoad(this)
</OnLoad>
<OnClick>
Guda_SettingsPopup_QualityBorderEquipmentCheckbox_OnClick(this)
</OnClick>
</Scripts>
</CheckButton>
<!-- Quality Border Other Checkbox -->
<CheckButton name="Guda_SettingsPopup_QualityBorderOtherCheckbox" inherits="OptionsCheckButtonTemplate">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="Guda_SettingsPopup_QualityBorderEquipmentCheckbox">
<Offset>
<AbsDimension x="185" y="0"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
Guda_SettingsPopup_QualityBorderOtherCheckbox_OnLoad(this)
</OnLoad>
<OnClick>
Guda_SettingsPopup_QualityBorderOtherCheckbox_OnClick(this)
</OnClick>
</Scripts>
</CheckButton>
<!-- Mark Unusable Items Checkbox -->
<CheckButton name="Guda_SettingsPopup_MarkUnusableCheckbox" inherits="OptionsCheckButtonTemplate">
<Anchors>
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="Guda_SettingsPopup_QualityBorderEquipmentCheckbox">
<Offset>
<AbsDimension x="0" y="-8"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
Guda_SettingsPopup_MarkUnusableCheckbox_OnLoad(this)
</OnLoad>
<OnClick>
Guda_SettingsPopup_MarkUnusableCheckbox_OnClick(this)
</OnClick>
</Scripts>
</CheckButton>
<!-- Show Tooltip Counts Checkbox -->
<CheckButton name="Guda_SettingsPopup_ShowTooltipCountsCheckbox" inherits="OptionsCheckButtonTemplate">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="Guda_SettingsPopup_MarkUnusableCheckbox">
<Offset>
<AbsDimension x="185" y="0"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
Guda_SettingsPopup_ShowTooltipCountsCheckbox_OnLoad(this)
</OnLoad>
<OnClick>
Guda_SettingsPopup_ShowTooltipCountsCheckbox_OnClick(this)
</OnClick>
</Scripts>
</CheckButton>
</Frames>
</Frame>
</Frames>
<Scripts>