self:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b, 0.5);
self:SetBackdropColor(TOOLTIP_DEFAULT_BACKGROUND_COLOR.r, TOOLTIP_DEFAULT_BACKGROUND_COLOR.g, TOOLTIP_DEFAULT_BACKGROUND_COLOR.b);
self:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b, 0.5);
self:SetBackdropColor(0.27, 0.27, 0.27);
local fontStringOffset = 2;
self.classStrings = {};
tinsert(self.classStrings, self.firstClass);
for key, value in ipairs(CLASS_SORT_ORDER) do
local fontString = self.classStrings[key];
if ( not fontString ) then
fontString = self:CreateFontString(nil, "ARTWORK", "ClassColorLegendFontStringTemplate");
tinsert(self.classStrings, fontString);
fontString:SetPoint("TOPLEFT", self.classStrings[key - 1], "BOTTOMLEFT", 0, -fontStringOffset);
end
local classColor = RAID_CLASS_COLORS[value];
fontString:SetFormattedText("|cff%.2x%.2x%.2x%s|r\n", classColor.r*255, classColor.g*255, classColor.b*255, LOCALIZED_CLASS_NAMES_MALE[value]);
end
self:SetHeight((self.firstClass:GetHeight() + fontStringOffset) * #self.classStrings + self.header:GetHeight() + 31);
local checked = self:GetChecked();
if ( self.func ) then
self.func(self, checked);
end
ChatConfigFrame_PlayCheckboxSound(checked);
if (self.tooltip) then
GameTooltip:SetOwner(self, "ANCHOR_RIGHT");
GameTooltip:SetText(self.tooltip, nil, nil, nil, nil, (self.tooltipStyle or 1));
end
GameTooltip:Hide();
self:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b, 0.5);
self.func = ColorClassesCheckBox_OnClick;
self:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b, 0.5);
if ( IsCombatLog(FCF_GetCurrentChatFrame()) ) then
ChatConfigCategoryFrameButton2:Show();
ChatConfigCategoryFrameButton3:SetPoint("TOPLEFT", ChatConfigCategoryFrameButton2, "BOTTOMLEFT", 0, -1);
ChatConfigCategoryFrameButton3:SetPoint("TOPRIGHT", ChatConfigCategoryFrameButton2, "BOTTOMRIGHT", 0, -1);
ChatConfigCategory_OnClick(ChatConfigCategoryFrameButton2);
else
ChatConfigCategoryFrameButton2:Hide();
ChatConfigCategoryFrameButton3:SetPoint("TOPLEFT", ChatConfigCategoryFrameButton1, "BOTTOMLEFT", 0, -1);
ChatConfigCategoryFrameButton3:SetPoint("TOPRIGHT", ChatConfigCategoryFrameButton1, "BOTTOMRIGHT", 0, -1);
ChatConfigCategory_OnClick(ChatConfigCategoryFrameButton1);
end
ChatConfigFrameHeaderText:SetText(format(CHATCONFIG_HEADER, FCF_GetCurrentChatFrame().name));
ChatConfigFrameHeader:SetWidth(ChatConfigFrameHeaderText:GetWidth()+200);
ChatConfig_UpdateCheckboxes(ChatConfigChatSettingsLeft);
ChatConfigFrameDefaultButton:Show();
CombatLogDefaultButton:Hide();
-- Have to build it here since the channel list doesn't exist on load
CreateChatChannelList(self, GetChannelList());
ChatConfig_CreateCheckboxes(ChatConfigChannelSettingsLeft, CHAT_CONFIG_CHANNEL_LIST, "ChatConfigCheckBoxWithSwatchAndClassColorTemplate", CHANNELS);
ChatConfig_UpdateCheckboxes(ChatConfigChannelSettingsLeft);
ChatConfigFrameDefaultButton:Show();
CombatLogDefaultButton:Hide();
ChatConfig_UpdateCheckboxes(ChatConfigOtherSettingsCombat);
ChatConfig_UpdateCheckboxes(ChatConfigOtherSettingsPVP);
ChatConfig_UpdateCheckboxes(ChatConfigOtherSettingsSystem);
ChatConfig_UpdateCheckboxes(ChatConfigOtherSettingsCreature);
ChatConfigFrameDefaultButton:Show();
CombatLogDefaultButton:Hide();
FauxScrollFrame_OnVerticalScroll(self, offset, CHATCONFIG_FILTER_HEIGHT, ChatConfig_UpdateFilterList);
ChatConfig_UpdateFilterList();
ChatConfigFilter_OnClick(1);
_G[self:GetName().."Text"]:SetText(COMBATLOG_HIGHLIGHT_KILL);
self.tooltip = HIGHLIGHT_KILL_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.lineHighlighting = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.lineHighlighting = false;
end
CombatConfig_Colorize_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
_G[self:GetName().."Text"]:SetText(COMBATLOG_HIGHLIGHT_ABILITY);
self.tooltip = HIGHLIGHT_ABILITY_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.abilityHighlighting = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.abilityHighlighting = false;
end
CombatConfig_Colorize_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
_G[self:GetName().."Text"]:SetText(COMBATLOG_HIGHLIGHT_DAMAGE);
self.tooltip = HIGHLIGHT_DAMAGE_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.amountHighlighting = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.amountHighlighting = false;
end
CombatConfig_Colorize_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
_G[self:GetName().."Text"]:SetText(COMBATLOG_HIGHLIGHT_SCHOOL);
self.tooltip = HIGHLIGHT_SCHOOL_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.schoolNameHighlighting = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.schoolNameHighlighting = false;
end
CombatConfig_Colorize_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
self:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b, 0.5);
_G[self:GetName().."Text"]:SetText(UNIT_NAMES);
self.tooltip = UNIT_NAMES_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.unitColoring = true;
CHATCONFIG_SELECTED_FILTER_SETTINGS.sourceColoring = true;
CHATCONFIG_SELECTED_FILTER_SETTINGS.destColoring = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.unitColoring = false;
CHATCONFIG_SELECTED_FILTER_SETTINGS.sourceColoring = false;
CHATCONFIG_SELECTED_FILTER_SETTINGS.destColoring = false;
end
CombatConfig_Colorize_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
self:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b, 0.5);
_G[self:GetName().."Text"]:SetText(SPELL_NAMES);
self.tooltip = SPELL_NAMES_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.abilityColoring = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.abilityColoring = false;
end
CombatConfig_Colorize_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
_G[self:GetName().."Text"]:SetText(COLOR_BY_SCHOOL);
self.tooltip = SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.abilitySchoolColoring = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.abilitySchoolColoring = false;
end
CombatConfig_Colorize_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
self:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b, 0.5);
_G[self:GetName().."Text"]:SetText(DAMAGE_NUMBER);
self.tooltip = SPELL_DAMAGE_NUMBER_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.amountColoring = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.amountColoring = false;
end
CombatConfig_Colorize_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
_G[self:GetName().."Text"]:SetText(COLOR_BY_SCHOOL);
self.tooltip = SPELL_COLOR_BY_SCHOOL_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.amountSchoolColoring = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.amountSchoolColoring = false;
end
CombatConfig_Colorize_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
self:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b, 0.5);
_G[self:GetName().."Text"]:SetText(DAMAGE_SCHOOL_TEXT);
self.tooltip = SPELL_DAMAGE_SCHOOL_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.schoolNameColoring = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.schoolNameColoring = false;
end
CombatConfig_Colorize_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
self:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b, 0.5);
_G[self:GetName().."Text"]:SetText(ENTIRE_LINE);
self.tooltip = ENTIRE_LINE_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.lineColoring = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.lineColoring = false;
end
CombatConfig_Colorize_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
_G[self:GetName().."Text"]:SetText(BY_SOURCE);
self.tooltip = BY_SOURCE_COMBATLOG_TOOLTIP;
local checked = self:GetChecked();
CHATCONFIG_SELECTED_FILTER_SETTINGS.lineColorPriority = 1;
CombatConfig_Colorize_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
_G[self:GetName().."Text"]:SetText(BY_TARGET);
self.tooltip = BY_TARGET_COMBATLOG_TOOLTIP;
local checked = self:GetChecked();
CHATCONFIG_SELECTED_FILTER_SETTINGS.lineColorPriority = 2;
CombatConfig_Colorize_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
self:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b, 0.5);
ChatConfig_UpdateSwatches(CombatConfigColorsUnitColors);
CombatConfig_Colorize_Update();
_G[self:GetName().."Text"]:SetText(SHOW_TIMESTAMP);
self.tooltip = TIMESTAMP_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.timestamp = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.timestamp = false;
end
CombatConfig_Formatting_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
_G[self:GetName().."Text"]:SetText(SHOW_BRACES);
self.tooltip = SHOW_BRACES_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.braces = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.braces = false;
end
CombatConfig_Formatting_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
_G[self:GetName().."Text"]:SetText(UNIT_NAMES);
self.tooltip = UNIT_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.unitBraces = true;
CHATCONFIG_SELECTED_FILTER_SETTINGS.sourceBraces = true;
CHATCONFIG_SELECTED_FILTER_SETTINGS.destBraces = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.unitBraces = false;
CHATCONFIG_SELECTED_FILTER_SETTINGS.sourceBraces = false;
CHATCONFIG_SELECTED_FILTER_SETTINGS.destBraces = false;
end
CombatConfig_Formatting_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
_G[self:GetName().."Text"]:SetText(SPELL_NAMES);
self.tooltip = SPELL_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.spellBraces = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.spellBraces = false;
end
CombatConfig_Formatting_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
_G[self:GetName().."Text"]:SetText(ITEM_NAMES);
self.tooltip = ITEM_NAMES_SHOW_BRACES_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.itemBraces = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.itemBraces = false;
end
CombatConfig_Formatting_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
_G[self:GetName().."Text"]:SetText(USE_FULL_TEXT_MODE);
self.tooltip = FULL_TEXT_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER_SETTINGS.fullText = true;
else
CHATCONFIG_SELECTED_FILTER_SETTINGS.fullText = false;
end
CombatConfig_Formatting_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
self:SetText(CHATCONFIG_SELECTED_FILTER.name);
CombatConfig_SetFilterName(self:GetText());
self:HighlightText(0, -1);
_G[self:GetName().."Text"]:SetText(SHOW_QUICK_BUTTON);
self.tooltip = QUICK_BUTTON_COMBATLOG_TOOLTIP;
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER.hasQuickButton = true;
else
CHATCONFIG_SELECTED_FILTER.hasQuickButton = false;
end
Blizzard_CombatLog_Update_QuickButtons();
CombatConfig_Settings_Update();
ChatConfigFrame_PlayCheckboxSound(checked);
_G[self:GetName().."Text"]:SetText(SOLO);
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER.quickButtonDisplay.solo = true;
else
CHATCONFIG_SELECTED_FILTER.quickButtonDisplay.solo = false;
end
Blizzard_CombatLog_Update_QuickButtons();
ChatConfigFrame_PlayCheckboxSound(checked);
_G[self:GetName().."Text"]:SetText(PARTY);
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER.quickButtonDisplay.party = true;
else
CHATCONFIG_SELECTED_FILTER.quickButtonDisplay.party = false;
end
Blizzard_CombatLog_Update_QuickButtons();
ChatConfigFrame_PlayCheckboxSound(checked);
_G[self:GetName().."Text"]:SetText(RAID);
local checked = self:GetChecked()
if ( checked ) then
CHATCONFIG_SELECTED_FILTER.quickButtonDisplay.raid = true;
else
CHATCONFIG_SELECTED_FILTER.quickButtonDisplay.raid = false;
end
Blizzard_CombatLog_Update_QuickButtons();
ChatConfigFrame_PlayCheckboxSound(checked);
self:RegisterEvent("PARTY_MEMBERS_CHANGED");
self:RegisterEvent("RAID_ROSTER_UPDATE");
if ( Blizzard_CombatLog_Update_QuickButtons ) then --The function is in an AddOn, so we want to make sure it is loaded before calling it.
Blizzard_CombatLog_Update_QuickButtons();
end
ChatConfigBackgroundFrame:SetPoint("TOPLEFT", ChatConfigCategoryFrame, "TOPRIGHT", 1, -135);
ChatConfig_ShowCombatTabs();
ChatConfigFrameDefaultButton:Hide();
CombatLogDefaultButton:Show();
ChatConfigBackgroundFrame:SetPoint("TOPLEFT", ChatConfigCategoryFrame, "TOPRIGHT", 1, 0);
ChatConfig_HideCombatTabs();
CHATCONFIG_SELECTED_FILTER_OLD_SETTINGS = CopyTable(Blizzard_CombatLog_Filters);