vanilla-wow-addons – Rev 1
?pathlinks?
--------------------------------------------------------------------------
-- TitanQuests.lua
--------------------------------------------------------------------------
--[[
Titan Panel [Quests]
Displays number of quests in Titan Panel. When hovered over it
displays the following info:
- total number of quests
- number of Elite quests
- number of Dungeon quests
- number of Raid quests
- number of PvP quests
- number of regular quests (non elite/dungeon/raid/pvp)
- number of quests in log currently completed
Right-click to see a color coded list of current quests. When hovered
over a dropdown menu will appear with a list of quest objectives, add to
Blizzard's Quest Tracker, share quest, abandon quest, open quest details
and link quest to chat.
The Options menu allows you to sort and groupthe quests by level, zone,
or by title. You can also apply a filter to view only dungeon, elite,
complete, incomplete, or regular quests.
Can toggle MonkeyQuest, QuestHistory, PartyQuests, QuestIon and
QuestBank if these AddOns are installed.
NOTE: Requires Titan Panel version 1.22+
TODO: Minor French and German translations. Complete Korean translations.
v0.18 (June 8, 2006 01:00 PST)
- updated toc# to latest patch) [Ryessa]
- fixed background on quest detail frame [Ryessa]
- re-positioned close button on text frame [Ryessa]
v0.17 (January 7, 2006 13:30 PST)
- fixed quest detail frame
v0.16 (January 6, 2006 10:00 PST)
- updated toc# for 1.9 patch
v0.15 (September 20, 2005 10:15 PST)
- updated toc# for 1.70 patch
- fixed the error caused when minimizing a quest section in Blizzard's QuestLog
v0.14 (July 6, 2005 10:18 PST)
- Added persistence of quests over UI reloads and logout [Ryessa]
- Refactored Titan [Quests] into smaller, more logical files TitanQuests (.lua, .xml), TitanQuestsDetails (.lua, .xml), and TitanQuestsUtils (.lua) [Ryessa]
v0.13 (June 28, 2005 9:11 PST)
- fixed bug when clicking on "Quest Details"
- minor German translation fix (thanks Scarabeus)
v0.12 (June 26, 2005 1:00 PST)
- added ability to click on a quest to add to the quest tracker directly [Ryessa]
- added option to set "Watch" or "Quest Details" as primary action when clicking a quest [Ryessa]
- added SHIFT-click to perform the secondary action ("Watch" or "Quest Details") [Ryessa]
- cleaned up info display panel a bit [Ryessa]
- set quests to store their toggle state in Titan variables (prep to persist watched quests between sessions) [Ryessa]
- added option to disable grouping of quests under Zone or Level headings [Ryessa]
- moved a lot of code into utility functions for code cleanliness at cost of a slight perf hit (not noticable) [Ryessa]
- added "Failed" quest tag [Corgi]
v0.11 (June 15, 2005 16:40 PST)
- new quest list layout [Ryessa]
- added option to show only incomplete quests (need loc guys to review) [Ryessa]
- added grouping headers when sorting by location or level [Ryessa]
- moved most options to a side menu because of the larger size from grouping [Ryessa]
- Shortened English tooltip descriptors [Ryessa]
- Changed Titan button text to be NumComplete/NumCurrent [Ryessa]
- updated for Titan Panel 1.24 [Corgi]
v0.10 (June 7, 2005 20:30 PST)
- German localization changes (thanks Kaesemuffin)
- added French localization (thanks Vorpale)
- toc updated for 1.50 patch
v0.09 (June 2, 2005 15:31 PST)
- fixed bug that was causing WoW.exe to crash when changing characters
- added German localization (thanks Scarabeus)
v0.08 (May 30, 2005 14:00 PST)
- added the ability to sort the quest list by location (default), level or title.
- added the ability to just show quests based on their type (ie, just show elite quests).
v0.07 (May 27, 2005 17:41 PST)
- added a [Quests] icon for the Titan Panel, which can be turned on/off.
- minor changes to text displayed in mouseover tooltip.
v0.06 (May 20, 2005 20:27 PST)
- added 'Quest Details' button to quest dropdown menu.
- added a 'Link Quest' button to quest dropdown menu.
- added Location to Quest Details.
- added colored quest level text to Quest Details window title.
- fixed ui scaling issue with Quest Details window.
- added 'Toggle' dropdown menu to toggle the blizzard's quest log and various 3rd party addons.
- clicking on quest now opens a movable window with complete quest info, including rewards.
- Share Quest has been added to quest dropdown menu.
- Abandon Quest has been added to quest dropdown menu (a window will open for confirmation).
- localization.lua is ready for german, french and korean translations
v0.05 (May 15, 2005 16:20 PST)
- clicking on a quest in the quest list will open a dropdown menu showing the quest objectives and a button to add/remove the quest from Blizzard's Quest Tracker.
- added quest location and complete tag to the quest list.
- added the ability to toggle PartyQuests, QuestBank, QuestIon if they are installed.
- changed 'About' button to open a dropdown menu displaying mod name, version and author name.
v0.04 (May 14, 2005 19:43 PST)
- added the ability to toggle MonkeyQuest and/or QuestHistory from the right-click menu if they are installed.
- added version info to mouseover tooltip.
- added 'About' to right-click menu, which opens a window displaying mod name, version and author name.
v0.03 (May 13, 2005 14:28 PST)
- clicking on quest will now open the quest log to that particular quest.
v0.02 (May 13, 2005 12:01 PST)
- fixed typo to allow 'Show Label Text' to work.
v0.01 (May 13, 2005 10:30 PST)
- Initial Release
]]--
--
-- Titan Panel Variables
--
TITAN_QUESTS_ID = "Quests";
TITAN_QUESTS_ARTWORK_PATH = "Interface\\AddOns\\TitanQuests\\Artwork\\";
TitanQuestsWatched = nil;
TitanQuestsSettingsInit = nil;
--
-- OnFunctions
--
function TitanPanelQuestsButton_OnLoad()
this.registry = {
id = TITAN_QUESTS_ID,
menuText = TITAN_QUESTS_MENU_TEXT,
buttonTextFunction = "TitanPanelQuestsButton_GetButtonText",
tooltipTitle = TITAN_QUESTS_TOOLTIP,
tooltipTextFunction = "TitanPanelQuestsButton_GetTooltipText",
icon = TITAN_QUESTS_ARTWORK_PATH.."TitanQuests",
iconWidth = 16,
savedVariables = {
ShowIcon = 1,
ShowLabelText = 1,
SortByLevel = TITAN_NIL,
SortByLocation = 1,
SortByTitle = TITAN_NIL,
ShowElite = TITAN_NIL,
ShowDungeon = TITAN_NIL,
ShowRaid = TITAN_NIL,
ShowPVP = TITAN_NIL,
ShowRegular = TITAN_NIL,
ShowCompleted = TITAN_NIL,
ShowIncomplete = TITAN_NIL,
ShowAll = 1,
GroupBehavior = 1,
ClickBehavior = TITAN_NIL,
QuestsWatched = { nil, nil, nil, nil, nil },
}
};
this:RegisterEvent("VARIABLES_LOADED");
this:RegisterEvent("PLAYER_ENTERING_WORLD");
this:RegisterEvent("UNIT_NAME_UPDATE");
this:RegisterEvent("QUEST_LOG_UPDATE");
end
function TitanPanelQuestsButton_OnUpdate(elapsed)
if ( TitanQuestsWatched ) then
return;
end
if ( TitanQuestsSettingsInit ) then
return;
end
if ( TitanGetVar(TITAN_QUESTS_ID,"QuestsWatched") ~= nil ) then
TitanPanelQuests_InitSettings();
end
end
function TitanPanelQuestsButton_OnEvent()
if ( event == "VARIABLES_LOADED" or event == "PLAYER_ENTERING_WORLD" or event == "UNIT_NAME_UPDATE" ) then
TitanQuestsWatched = nil;
TitanQuestsSettingsInit = nil;
elseif ( event == "QUEST_LOG_UPDATE" ) then
-- Update Details panel if needed.
if ( TitanQuests_Details ~= nil ) then
if ( TitanQuests_Details:IsVisible() ) then
TitanQuests_Details_Update();
end
end
-- Update the QuestWatched trackers
TitanPanelQuests_UpdateSettings();
end
TitanPanelButton_UpdateButton(TITAN_QUESTS_ID);
TitanPanelButton_UpdateTooltip();
end
--
-- initialize all Titan Quests settings
--
function TitanPanelQuests_InitSettings()
TitanQuestsSettingsInit = 1;
-- Load up the Blizzard Quest Tracker
if ( not TitanQuestsWatched ) then
if (TitanGetVar(TITAN_QUESTS_ID, "QuestsWatched") ~= nil) then
TitanQuestsWatched = TitanGetVar(TITAN_QUESTS_ID, "QuestsWatched");
else
TitanQuestsWatched = { nil, nil, nil, nil, nil };
TitanSetVar(TITAN_QUESTS_ID, "QuestsWatched", TitanQuestsWatched);
end
for i=1, MAX_WATCHABLE_QUESTS do
if (TitanQuestsWatched[i] ~= nil) then
if ( GetNumQuestLeaderBoards(TitanQuestsWatched[i]) > 0 ) then
local foundQuest = nil;
for j=1, GetNumQuestWatches() do
local questIndex = GetQuestIndexForWatch(j);
if ( questIndex == TitanQuestsWatched[i] ) then
foundQuest = 1;
end;
end
if (not foundQuest) then
AddQuestWatch(TitanQuestsWatched[i]);
end
else
TitanQuestsWatched[i] = nil;
TitanSetVar(TITAN_QUESTS_ID, "QuestsWatched", TitanQuestsWatched);
end
end
end
QuestWatch_Update();
end
end
--
-- update the Titan Quests settings following a log update
--
function TitanPanelQuests_UpdateSettings()
local questIndex;
local numWatched;
-- Fill in the watched quests.
if ( not TitanQuestsWatched or not TitanGetVar(TITAN_QUESTS_ID, "QuestsWatched") ) then
return;
end
numWatched = GetNumQuestWatches();
for i=1, MAX_WATCHABLE_QUESTS do
if ( i <= numWatched ) then
questIndex = GetQuestIndexForWatch(i);
if ( questIndex ) then
TitanQuestsWatched[i] = questIndex;
end
else
TitanQuestsWatched[i] = nil;
end
end
TitanSetVar(TITAN_QUESTS_ID, "QuestsWatched", TitanQuestsWatched);
end
--
-- create button text
--
function TitanPanelQuestsButton_GetButtonText(id)
local MaxQuests = 20;
local NumCompleteQuests = 0;
local NumEntries, NumQuests;
NumEntries, NumQuests = GetNumQuestLogEntries();
-- get quest list
local questlist = TitanPanelQuests_BuildQuestList();
local i = 0;
-- count the number of incomplete quests
for i=1, NumQuests do
if ( questlist[i] ~= nil and questlist[i].questisComplete ) then
NumCompleteQuests = NumCompleteQuests + 1;
end
end
-- create string for Titan bar display
local buttonRichText = format(TITAN_QUESTS_BUTTON_TEXT, TitanUtils_GetGreenText(NumCompleteQuests), TitanUtils_GetHighlightText(NumQuests) );
-- Return our button label
return TITAN_QUESTS_BUTTON_LABEL, buttonRichText;
end
--
-- create tooltip text
--
function TitanPanelQuestsButton_GetTooltipText()
-- Expand everything
ExpandQuestHeader(0);
-- return string for tooltip
local tooltipRichText = "";
-- counters
local numElite = 0;
local numDungeon = 0;
local numRaid = 0;
local numPVP = 0;
local numReg = 0;
local numComplete = 0;
local numIncomplete = 0;
local i = 0;
local numQuests = 0;
-- get quest list
local questlist = TitanPanelQuests_BuildQuestList();
-- total number of quests
numQuests = table.getn(questlist);
-- count the different type of quests and count completed quests
for i=1, numQuests do
if ( questlist[i].questTag == ELITE ) then
numElite = numElite + 1;
elseif ( questlist[i].questTag == TITAN_QUESTS_DUNGEON ) then
numDungeon = numDungeon + 1;
elseif ( questlist[i].questTag == TITAN_QUESTS_RAID ) then
numRaid = numRaid + 1;
elseif ( questlist[i].questTag == TITAN_QUESTS_PVP ) then
numPVP = numPVP + 1;
else
numReg = numReg + 1;
end
if ( questlist[i].questisComplete ) then
numComplete = numComplete + 1;
else
numIncomplete = numIncomplete + 1;
end
end
tooltipRichText = tooltipRichText..TitanUtils_GetNormalText(TITAN_QUESTS_TOOLTIP_QUESTS_TEXT)..TitanUtils_GetHighlightText(numQuests.."\n");
tooltipRichText = tooltipRichText..TitanUtils_GetNormalText(TITAN_QUESTS_TOOLTIP_ELITE_TEXT)..TitanUtils_GetHighlightText(numElite.."\n");
tooltipRichText = tooltipRichText..TitanUtils_GetNormalText(TITAN_QUESTS_TOOLTIP_DUNGEON_TEXT)..TitanUtils_GetHighlightText(numDungeon.."\n");
tooltipRichText = tooltipRichText..TitanUtils_GetNormalText(TITAN_QUESTS_TOOLTIP_RAID_TEXT)..TitanUtils_GetHighlightText(numRaid.."\n");
tooltipRichText = tooltipRichText..TitanUtils_GetNormalText(TITAN_QUESTS_TOOLTIP_PVP_TEXT)..TitanUtils_GetHighlightText(numPVP.."\n");
tooltipRichText = tooltipRichText..TitanUtils_GetNormalText(TITAN_QUESTS_TOOLTIP_REGULAR_TEXT)..TitanUtils_GetHighlightText(numReg.."\n");
tooltipRichText = tooltipRichText.."\n";
tooltipRichText = tooltipRichText..TitanUtils_GetNormalText(TITAN_QUESTS_TOOLTIP_COMPLETED_TEXT)..TitanUtils_GetHighlightText(numComplete).."\n";
tooltipRichText = tooltipRichText..TitanUtils_GetNormalText(TITAN_QUESTS_TOOLTIP_INCOMPLETE_TEXT)..TitanUtils_GetHighlightText(numIncomplete).."\n";
tooltipRichText = tooltipRichText.."\n"..TitanUtils_GetGreenText(TITAN_QUESTS_TOOLTIP_HINT_TEXT);
return tooltipRichText;
end
--
-- create toplevel right-click menu
--
function TitanPanelRightClickMenu_PrepareQuestsMenu()
-- Large sections commented out, since they are replaced by various utility functions. - Ryessa
if ( UIDROPDOWNMENU_MENU_LEVEL >= 2 ) then
TitanPanelQuestsRightClickMenu_CreateMenu();
else
-- get quest list
local questlist = TitanPanelQuests_BuildQuestList();
-- total number of quests
local numQuests = table.getn(questlist);
local groupBy = "Location";
-- tracking length of list
local numButtons = 1; -- Starts at 1 because "Quests" header is added elsewhere. - Ryessa
if ( TitanGetVar(TITAN_QUESTS_ID, "SortByLevel") ) then
table.sort(questlist, function(a,b) return (a.questLevel < b.questLevel); end);
groupBy = "Level";
end
if ( TitanGetVar(TITAN_QUESTS_ID, "SortByTitle") ) then
table.sort(questlist, function(a,b) return (a.questTitle < b.questTitle); end);
groupBy = "Title";
end
local useTag;
local completeTag;
local questWatched = "";
local diff;
local groupId = "";
local lastGroupId = "";
local questDisplayCount = 0;
local i = 0;
local info = {};
TitanPanelRightClickMenu_AddTitle(TitanPlugins[TITAN_QUESTS_ID].menuText);
-- create a configuration entry
info = {};
info.text = TITAN_QUESTS_OPTIONS_TEXT;
info.value = "Options";
info.hasArrow = 1;
UIDropDownMenu_AddButton(info);
numButtons = numButtons + 1;
-- output quest list to menu
for i=1, numQuests do
local unCheckableQuest = nil; -- added
if ( TitanGetVar(TITAN_QUESTS_ID, "SortByLocation") and TitanGetVar(TITAN_QUESTS_ID, "GroupBehavior") ) then
groupId = questlist[i].questLocation;
elseif ( TitanGetVar(TITAN_QUESTS_ID, "SortByLevel") and TitanGetVar(TITAN_QUESTS_ID, "GroupBehavior") ) then
groupId = TITAN_QUESTS_LEVEL_TEXT..questlist[i].questLevel;
end
-- check to see if quest is to be displayed
local checkDisplay = 0;
if ( TitanGetVar(TITAN_QUESTS_ID, "ShowElite") ) then
if ( questlist[i].questTag == ELITE ) then
checkDisplay = 1;
end
elseif ( TitanGetVar(TITAN_QUESTS_ID, "ShowDungeon") ) then
if ( questlist[i].questTag == TITAN_QUESTS_DUNGEON ) then
checkDisplay = 1;
end
elseif ( TitanGetVar(TITAN_QUESTS_ID, "ShowRaid") ) then
if ( questlist[i].questTag == TITAN_QUESTS_RAID ) then
checkDisplay = 1;
end
elseif ( TitanGetVar(TITAN_QUESTS_ID, "ShowPVP") ) then
if ( questlist[i].questTag == TITAN_QUESTS_PVP ) then
checkDisplay = 1;
end
elseif ( TitanGetVar(TITAN_QUESTS_ID, "ShowRegular") ) then
if ( questlist[i].questTag == nil ) then
checkDisplay = 1;
end
elseif ( TitanGetVar(TITAN_QUESTS_ID, "ShowCompleted") ) then
if ( questlist[i].questisComplete ) then
checkDisplay = 1;
end
elseif ( TitanGetVar(TITAN_QUESTS_ID, "ShowIncomplete") ) then
if ( not questlist[i].questisComplete ) then
checkDisplay = 1;
end
else
checkDisplay = 1;
end
if ( checkDisplay == 1 ) then
-- Check if this will be the last item displayed
if ( (questDisplayCount == 29) or ((groupId ~= "" and groupId ~= lastGroupId) and (questDisplayCount==28)) ) then
-- Display a truncation notice and exit for loop
info.text = TITAN_QUESTS_QUESTLOG_TRUNCATED_TEXT;
info.isTitle = 1;
info.value = "QuestLogTruncated";
info.hasArrow = nil;
info.notCheckable = 1;
UIDropDownMenu_AddButton(info);
numButtons = numButtons + 1;
break;
else
questDisplayCount = questDisplayCount + 1;
info = {};
if ( groupId ~= "" and groupId ~= lastGroupId ) then
info.text = groupId;
info.isTitle = 1;
info.notCheckable = 1;
UIDropDownMenu_AddButton(info);
numButtons = numButtons + 1;
info = {};
lastGroupId = groupId;
questDisplayCount = questDisplayCount + 1;
end
if ( IsQuestWatched(questlist[i].questID) ) then
-- May want to move part of this code to OnLoad() - Ryessa
TitanSetVar(TITAN_QUESTS_ID, questlist[i].questID, 1);
info.checked = TitanGetVar(TITAN_QUESTS_ID, questlist[i].questID);
end
info.text = TitanPanelQuests_GetQuestText(questlist[i].questID); -- added
info.value = {TITAN_QUESTS_ID, questlist[i].questID, nil};
info.hasArrow = 1;
info.func = TitanPanelQuests_ClickQuest;
--info.notCheckable = 1;
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info);
numButtons = numButtons + 1;
-- Add a tracking variable to set the button id for this quest.
TitanSetVar(TITAN_QUESTS_ID, questlist[i].questID.."ButtonID", numButtons);
end
end
end
end
end
--
-- create 2nd level right-click menu
--
function TitanPanelQuestsRightClickMenu_CreateMenu()
local info = {};
if ( UIDROPDOWNMENU_MENU_LEVEL == 2 ) then
if ( UIDROPDOWNMENU_MENU_VALUE == "Options" ) then
-- sort selection
info = {};
info.text = TITAN_QUESTS_SORT_TEXT;
info.value = "Sort";
info.hasArrow = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- show selection
info = {};
info.text = TITAN_QUESTS_SHOW_TEXT;
info.value = "Show";
info.hasArrow = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- toggle dropdown menu
info = {};
info.text = TITAN_QUESTS_TOGGLE_TEXT;
info.value = "Toggle";
info.hasArrow = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
TitanPanelRightClickMenu_AddSpacer(UIDROPDOWNMENU_MENU_LEVEL);
-- toggle click behavior
info = {};
info.text = TITAN_QUESTS_CLICK_BEHAVIOR_TEXT;
info.value = "ClickBehavior";
info.hasArrow = nil;
info.keepShownOnClick = 1;
info.func = TitanPanelQuests_ToggleClickBehavior;
info.checked = TitanGetVar(TITAN_QUESTS_ID, "ClickBehavior");
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- toggle grouping
info = {};
info.text = TITAN_QUESTS_GROUP_BEHAVIOR_TEXT;
info.value = "GroupBehavior";
info.hasArrow = nil;
info.keepShownOnClick = nil;
info.func = TitanPanelQuests_ToggleGroupBehavior;
info.checked = TitanGetVar(TITAN_QUESTS_ID, "GroupBehavior");
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
TitanPanelRightClickMenu_AddSpacer(UIDROPDOWNMENU_MENU_LEVEL);
-- Toggle icon
info = {};
info.text = TITAN_PANEL_MENU_SHOW_ICON;
info.value = {TITAN_QUESTS_ID, "ShowIcon", nil};
info.func = TitanPanelRightClickMenu_ToggleVar;
info.checked = TitanGetVar(TITAN_QUESTS_ID, "ShowIcon");
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- Toggle Label Text
info = {};
info.text = TITAN_PANEL_MENU_SHOW_LABEL_TEXT;
info.value = {TITAN_QUESTS_ID, "ShowLabelText", nil};
info.func = TitanPanelRightClickMenu_ToggleVar;
info.checked = TitanGetVar(TITAN_QUESTS_ID, "ShowLabelText");
info.keepShownOnClick = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
TitanPanelRightClickMenu_AddCommand(TITAN_PANEL_MENU_HIDE,TITAN_QUESTS_ID,TITAN_PANEL_MENU_FUNC_HIDE, UIDROPDOWNMENU_MENU_LEVEL);
TitanPanelRightClickMenu_AddSpacer(UIDROPDOWNMENU_MENU_LEVEL);
-- info about plugin
info = {};
info.text = TITAN_QUESTS_ABOUT_TEXT;
info.value = "DisplayAbout";
info.hasArrow = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
else
--
-- build quest objectives list
--
local questID = UIDROPDOWNMENU_MENU_VALUE[2];
--TitanPanelQuests_ChatPrint("QuestID: "..questID);
--local questTitle, questLevel, questTag, questisHeader, questisCollapsed, questisComplete;
--local diff, useTag, completeTag;
--questTitle, questLevel, questTag, questisHeader, questisCollapsed, questisComplete = GetQuestLogTitle(questID);
local questTitle, questLevel = GetQuestLogTitle(questID);
local questDescription = "";
local questObjectives = "";
local numObjectives = 0;
local ObjectivesText = "";
-- select the quest entry
SelectQuestLogEntry(questID);
QuestLog_SetSelection(questID);
questDescription, questObjectives = GetQuestLogQuestText();
numObjectives = GetNumQuestLeaderBoards();
info = {};
info.value = questTitle;
info.text = questTitle;
info.isTitle = 1;
info.notClickable = 1;
info.notCheckable = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
if ( numObjectives > 0 ) then
for j = 1, numObjectives, 1 do
local text;
local type;
local finished;
info = {};
text, type, finished = GetQuestLogLeaderBoard(j);
if ( finished ) then
info.text = TitanUtils_GetRedText(text);
else
info.text = text;
end
info.value = text;
info.notClickable = 1;
--info.isTitle = 0;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
else
info = {};
if ( strlen(questObjectives) < 65 ) then
info.text = TitanUtils_GetHighlightText(questObjectives);
else
info.text = TitanUtils_GetHighlightText(TITAN_QUESTS_OBJECTIVESTXT_LONG_TEXT);
end
info.value = "noobjective";
info.notClickable = 1;
info.func = TitanPanelQuests_DisplayQuest;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
-- spacer
info = {};
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- Header for options stuff
info = {};
info.value = "Quest Options";
info.text = TITAN_QUESTS_QUEST_DETAILS_OPTIONS_TEXT;
info.isTitle = 1;
info.notClickable = 1;
info.notCheckable = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- Add/Remove quest from Quest Tracker
if ( IsQuestWatched(questID) ) then
info = {};
info.text = TITAN_QUESTS_REMOVE_FROM_WATCHER_TEXT;
info.value = {TITAN_QUESTS_ID, questID, nil};
info.isTitle = nil;
info.notClickable = nil;
info.notCheckable = nil;
info.func = TitanPanelQuests_ToggleWatchStatus;
--function ()
-- RemoveQuestWatch(questID);
-- QuestWatch_Update();
--end
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
else
if ( GetNumQuestLeaderBoards(questID) > 0 ) then
info.text = TITAN_QUESTS_ADD_TO_WATCHER_TEXT;
info.value = {TITAN_QUESTS_ID, questID, nil};
info.isTitle = nil;
info.notClickable = nil;
info.notCheckable = nil;
info.disabled = nil;
info.func = TitanPanelQuests_ToggleWatchStatus;
--function ()
-- if ( GetNumQuestWatches() >= MAX_WATCHABLE_QUESTS ) then
-- -- Set an error message if trying to show too many quests
-- UIErrorsFrame:AddMessage(format(QUEST_WATCH_TOO_MANY, MAX_WATCHABLE_QUESTS), 1.0, 0.1, 0.1, 1.0, UIERRORS_HOLD_TIME);
-- else
-- AddQuestWatch(questID);
-- QuestWatch_Update();
-- end
--end
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
end
-- share quest
if ( GetQuestLogPushable() ) then
info = {};
info.value = "ShareQuest";
info.text = SHARE_QUEST;
info.func = function ()
QuestLogPushQuest();
end
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
-- abandon quest
info = {};
info.value = "AbandonQuest";
info.text = ABANDON_QUEST;
info.func = function ()
DropDownList1:Hide();
SetAbandonQuest();
StaticPopup_Show("ABANDON_QUEST", GetAbandonQuestName());
end
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- spacer
info = {};
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- quest details
info = {};
--info.value = questID;
info.value = {TITAN_QUESTS_ID, questID, nil};
info.text = TITAN_QUESTS_QUEST_DETAILS_TEXT;
info.func = TitanPanelQuests_DisplayQuest;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- link quest
info = {};
info.value = "LinkQuest";
info.text = TITAN_QUESTS_LINK_QUEST_TEXT;
info.func = function ()
ChatFrameEditBox:Insert("["..questLevel.."]"..questTitle.." ");
end
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
elseif ( UIDROPDOWNMENU_MENU_LEVEL == 3 ) then
if ( UIDROPDOWNMENU_MENU_VALUE == "DisplayAbout" ) then
local AboutText = TITAN_QUESTS_ABOUT_POPUP_TEXT;
info.text = AboutText;
info.value = "AboutTextPopUP";
info.notClickable = 1;
info.isTitle = 0;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
elseif ( UIDROPDOWNMENU_MENU_VALUE == "Sort" ) then
info = { };
info.text = TITAN_QUESTS_SORT_TEXT;
info.isTitle = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- sort by location (default)
info = {};
info.text = TITAN_QUESTS_SORT_LOCATION_TEXT;
info.func = TitanPanelQuests_SortByLocation;
info.checked = TitanGetVar(TITAN_QUESTS_ID, "SortByLocation");
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- sort by level
info = {};
info.text = TITAN_QUESTS_SORT_LEVEL_TEXT;
info.func = TitanPanelQuests_SortByLevel;
info.checked = TitanGetVar(TITAN_QUESTS_ID, "SortByLevel");
--info.checked = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- sort by title
info = {};
info.text = TITAN_QUESTS_SORT_TITLE_TEXT;
info.func = TitanPanelQuests_SortByTitle;
info.checked = TitanGetVar(TITAN_QUESTS_ID, "SortByTitle");
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
elseif ( UIDROPDOWNMENU_MENU_VALUE == "Show" ) then
info = { };
info.text = TITAN_QUESTS_SHOW_TEXT;
info.isTitle = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- show just elite
info = {};
info.text = TITAN_QUESTS_SHOW_ELITE_TEXT;
info.func = TitanPanelQuests_ShowElite;
info.checked = TitanGetVar(TITAN_QUESTS_ID, "ShowElite");
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- show just dungeon
info = {};
info.text = TITAN_QUESTS_SHOW_DUNGEON_TEXT;
info.func = TitanPanelQuests_ShowDungeon;
info.checked = TitanGetVar(TITAN_QUESTS_ID, "ShowDungeon");
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- show just raid
info = {};
info.text = TITAN_QUESTS_SHOW_RAID_TEXT;
info.func = TitanPanelQuests_ShowRaid;
info.checked = TitanGetVar(TITAN_QUESTS_ID, "ShowRaid");
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- show just pvp
info = {};
info.text = TITAN_QUESTS_SHOW_PVP_TEXT;
info.func = TitanPanelQuests_ShowPVP;
info.checked = TitanGetVar(TITAN_QUESTS_ID, "ShowPVP");
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- show just regular
info = {};
info.text = TITAN_QUESTS_SHOW_REGULAR_TEXT;
info.func = TitanPanelQuests_ShowRegular;
info.checked = TitanGetVar(TITAN_QUESTS_ID, "ShowRegular");
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- show just completed
info = {};
info.text = TITAN_QUESTS_SHOW_COMPLETED_TEXT;
info.func = TitanPanelQuests_ShowCompleted;
info.checked = TitanGetVar(TITAN_QUESTS_ID, "ShowCompleted");
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- show only incomplete
info = {};
info.text = TITAN_QUESTS_SHOW_INCOMPLETE_TEXT;
info.func = TitanPanelQuests_ShowIncomplete;
info.checked = TitanGetVar(TITAN_QUESTS_ID, "ShowIncomplete");
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- show all
info = {};
info.text = TITAN_QUESTS_SHOW_ALL_TEXT;
info.func = TitanPanelQuests_ShowAll;
info.checked = TitanGetVar(TITAN_QUESTS_ID, "ShowAll");
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
elseif ( UIDROPDOWNMENU_MENU_VALUE == "Toggle" ) then
info = { };
info.text = TITAN_QUESTS_TOGGLE_TEXT;
info.isTitle = 1;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- toggle blizzard's questlog
info = {};
if ( QuestLogFrame:IsVisible() ) then
info.text = TITAN_QUESTS_CLOSE_QUESTLOG_TEXT;
else
info.text = TITAN_QUESTS_OPEN_QUESTLOG_TEXT;
end
info.value = "OpenQuestLog";
info.func = ToggleQuestLog;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
-- toggle MonkeyQuest
if ( MonkeyQuestFrame ~= nil ) then
info = {};
if ( MonkeyQuestFrame:IsVisible() ) then
info.text = TITAN_QUESTS_CLOSE_MONKEYQUEST_TEXT;
else
info.text = TITAN_QUESTS_OPEN_MONKEYQUEST_TEXT;
end
info.value = "OpenMonkeyQuest";
info.func = TitanPanelQuests_ToggleMonkeyQuest;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
-- toggle QuestIon
if ( QuestIon_Frame ~= nil ) then
info = {};
if ( QuestIon_Frame:IsVisible() ) then
info.text = TITAN_QUESTS_CLOSE_QUESTION_TEXT;
else
info.text = TITAN_QUESTS_OPEN_QUESTION_TEXT;
end
info.value = "OpenQuestIon";
info.func = QuestIon_ToggleVisible;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
-- toggle PartyQuests
if ( PartyQuestsFrame ~= nil ) then
info = {};
if ( PartyQuestsFrame:IsVisible() ) then
info.text = TITAN_QUESTS_CLOSE_PARTYQUESTS_TEXT;
else
info.text = TITAN_QUESTS_OPEN_PARTYQUESTS_TEXT;
end
info.value = "OpenPartyQuests";
info.func = TogglePartyQuests;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
-- toggle QuestHistory
if ( QuestHistoryFrame ~= nil ) then
info = {};
if ( QuestHistoryFrame:IsVisible() ) then
info.text = TITAN_QUESTS_CLOSE_QUESTHISTORY_TEXT;
else
info.text = TITAN_QUESTS_OPEN_QUESTHISTORY_TEXT;
end
info.value = "OpenQuestHistory";
info.func = QuestHistory_Toggle;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
-- toggle QuestBank
if (QuestBankFrame ~= nil ) then
info = {};
if ( QuestBankFrame:IsVisible() ) then
info.text = TITAN_QUESTS_CLOSE_QUESTBANK_TEXT;
else
info.text = TITAN_QUESTS_OPEN_QUESTHISTORY_TEXT;
end
info.value = "OpenQuestBank";
info.func = QuestBank_Toggle;
UIDropDownMenu_AddButton(info, UIDROPDOWNMENU_MENU_LEVEL);
end
-- end toggles
end
end
end
--
-- Click on a Quest entry
--
function TitanPanelQuests_ClickQuest()
if ( (TitanGetVar(TITAN_QUESTS_ID, "ClickBehavior") and not IsShiftKeyDown()) or (not TitanGetVar(TITAN_QUESTS_ID, "ClickBehavior") and IsShiftKeyDown()) ) then
TitanPanelQuests_ToggleWatchStatus()
else
TitanPanelQuests_DisplayQuest();
this:GetParent():Hide();
end
end
--
-- Toggle Watch Status
--
function TitanPanelQuests_ToggleWatchStatus()
local questID;
local button;
-- Get current Quest selected
questID = this.value[2];
-- Get the quest button
for i=1, UIDROPDOWNMENU_MAXBUTTONS, 1 do
button = getglobal("DropDownList1Button"..i);
if ( type(button.value) == type(this.value) ) then
if ( button.value[2] and this.value[2] == button.value[2] ) then
break;
else
button = nil;
end
else
button = nil;
end
end
-- Add/Remove quest from Quest Tracker
if ( IsQuestWatched(questID) ) then
-- Update Quest Tracker
RemoveQuestWatch(questID);
QuestWatch_Update();
TitanPanelQuests_UpdateSettings();
-- Toggle Status
TitanPanelRightClickMenu_ToggleVar(TITAN_QUESTS_ID, questID);
-- Update watcher tag.
button:SetText(TitanPanelQuests_GetQuestText(questID));
-- Update the secondary pane
getglobal("DropDownList2"):Hide();
if ( this:GetParent():GetName() == "DropDownList2" ) then
button.checked = nil;
getglobal(button:GetName().."Check"):Hide();
UIDropDownMenu_Refresh();
end
else
if (TitanPanelQuests_IsWatchAllowed(questID)) then
-- Update Quest Tracker
AddQuestWatch(questID);
QuestWatch_Update();
TitanPanelQuests_UpdateSettings();
-- Toggle Status
TitanPanelRightClickMenu_ToggleVar(TITAN_QUESTS_ID, questID);
-- Update watcher tag.
button:SetText(TitanPanelQuests_GetQuestText(questID));
-- Update the secondary pane
getglobal("DropDownList2"):Hide();
if ( this:GetParent():GetName() == "DropDownList2" ) then
button.checked = 1;
getglobal(button:GetName().."Check"):Show();
UIDropDownMenu_Refresh();
end
else
-- Prevent checkmark from showing up... pretty counter-intuitive, we need to set this to checked
-- so that the later code in UIDropDownMenu.lua will uncheck it again. - Ryessa
if ( this:GetParent():GetName() == "DropDownList1" ) then
button.checked = 1;
else
button.checked = nil;
getglobal(button:GetName().."Check"):Hide();
this:GetParent():Hide();
UIDropDownMenu_Refresh();
end;
end
end
end
--
-- SortBy toggle functions
--
function TitanPanelQuests_SortByLevel()
if ( TitanGetVar(TITAN_QUESTS_ID, "SortByLevel") ) then
TitanSetVar(TITAN_QUESTS_ID, "SortByLevel", nil);
TitanSetVar(TITAN_QUESTS_ID, "SortByLocation", 1);
TitanSetVar(TITAN_QUESTS_ID, "SortByTitle", nil);
else
TitanSetVar(TITAN_QUESTS_ID, "SortByLevel", 1);
TitanSetVar(TITAN_QUESTS_ID, "SortByLocation", nil);
TitanSetVar(TITAN_QUESTS_ID, "SortByTitle", nil);
end
DropDownList1:Hide();
end
function TitanPanelQuests_SortByLocation()
TitanSetVar(TITAN_QUESTS_ID, "SortByLevel", nil);
TitanSetVar(TITAN_QUESTS_ID, "SortByLocation", 1);
TitanSetVar(TITAN_QUESTS_ID, "SortByTitle", nil);
TitanPanelButton_UpdateButton(TITAN_QUESTS_ID)
DropDownList1:Hide();
end
function TitanPanelQuests_SortByTitle()
if ( TitanGetVar(TITAN_QUESTS_ID, "SortByTitle") ) then
TitanSetVar(TITAN_QUESTS_ID, "SortByLevel", nil);
TitanSetVar(TITAN_QUESTS_ID, "SortByLocation", 1);
TitanSetVar(TITAN_QUESTS_ID, "SortByTitle", nil);
else
TitanSetVar(TITAN_QUESTS_ID, "SortByLevel", nil);
TitanSetVar(TITAN_QUESTS_ID, "SortByLocation", nil);
TitanSetVar(TITAN_QUESTS_ID, "SortByTitle", 1);
end
DropDownList1:Hide();
end
--
-- Show toggle functions
--
function TitanPanelQuests_ShowElite()
if ( TitanGetVar(TITAN_QUESTS_ID, "ShowElite") ) then
TitanSetVar(TITAN_QUESTS_ID, "ShowElite", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowAll", 1);
else
TitanSetVar(TITAN_QUESTS_ID, "ShowElite", 1);
TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowAll", nil);
end
DropDownList1:Hide();
end
function TitanPanelQuests_ShowDungeon()
if ( TitanGetVar(TITAN_QUESTS_ID, "ShowDungeon") ) then
TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowAll", 1);
else
TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", 1);
TitanSetVar(TITAN_QUESTS_ID, "ShowElite", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowAll", nil);
end
DropDownList1:Hide();
end
function TitanPanelQuests_ShowRaid()
if ( TitanGetVar(TITAN_QUESTS_ID, "ShowRaid") ) then
TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowAll", 1);
else
TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", 1);
TitanSetVar(TITAN_QUESTS_ID, "ShowElite", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowAll", nil);
end
DropDownList1:Hide();
end
function TitanPanelQuests_ShowPVP()
if ( TitanGetVar(TITAN_QUESTS_ID, "ShowPVP") ) then
TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowAll", 1);
else
TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", 1);
TitanSetVar(TITAN_QUESTS_ID, "ShowElite", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowAll", nil);
end
DropDownList1:Hide();
end
function TitanPanelQuests_ShowRegular()
if ( TitanGetVar(TITAN_QUESTS_ID, "ShowRegular") ) then
TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowAll", 1);
else
TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", 1);
TitanSetVar(TITAN_QUESTS_ID, "ShowElite", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowAll", nil);
end
DropDownList1:Hide();
end
function TitanPanelQuests_ShowCompleted()
if ( TitanGetVar(TITAN_QUESTS_ID, "ShowCompleted") ) then
TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowAll", 1);
else
TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", 1);
TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowElite", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowAll", nil);
end
DropDownList1:Hide();
end
function TitanPanelQuests_ShowIncomplete()
if ( TitanGetVar(TITAN_QUESTS_ID, "ShowIncomplete") ) then
TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowAll", 1);
else
TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", 1);
TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowElite", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowAll", nil);
end
DropDownList1:Hide();
end
function TitanPanelQuests_ShowAll()
TitanSetVar(TITAN_QUESTS_ID, "ShowAll", 1);
TitanSetVar(TITAN_QUESTS_ID, "ShowElite", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowDungeon", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowRaid", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowPVP", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowRegular", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowCompleted", nil);
TitanSetVar(TITAN_QUESTS_ID, "ShowIncomplete", nil);
DropDownList1:Hide();
end
--
-- Click Behavior toggle function
--
function TitanPanelQuests_ToggleClickBehavior()
TitanToggleVar(TITAN_QUESTS_ID, "ClickBehavior");
end
--
-- Group Behavior toggle function
--
function TitanPanelQuests_ToggleGroupBehavior()
TitanToggleVar(TITAN_QUESTS_ID, "GroupBehavior");
TitanPanelRightClickMenu_Close();
end
--
-- toggle quest details window
--
function TitanQuests_DetailsShowHide()
if ( TitanQuests_Details:IsVisible() ) then
TitanQuests_Details:Hide();
else
TitanQuests_Details:Show();
TitanQuests_Details_Update();
TitanPanelQuests_DisplayQuest();
end
end
--
-- toggle MonkeyQuest
--
function TitanPanelQuests_ToggleMonkeyQuest()
if ( MonkeyQuestFrame:IsVisible() ) then
HideUIPanel(MonkeyQuestFrame);
else
ShowUIPanel(MonkeyQuestFrame);
end
end