Minion Beta! - Help us test our new AddOn updater. Get it now!
Download
(115 Kb)
Download
Updated: 10-22-14 08:47 PM
Pictures
File Info
Compatibility:
Warlords of Draenor Pre-Patch (6.0.2)
Updated:10-22-14 08:47 PM
Created:01-23-10 09:23 PM
Downloads:16,440
Favorites:242
MD5:
Who Framed Watcher Wabbit?  Popular! (More than 5000 hits)
Version: 2.0
by: Seerah [More]
Note: This addon has been rewritten because of the changes to the quest tracker in WoD. Most everything has been re-implemented so far. (Button skinning has not been added yet, for example.)

This addon will add many improvements to the new quest tracker frame. The slash command is /wfww. You may also alt-click the tracker's collapse button to access the options.

Features:
  • allows the quest tracker to be moved wherever you please
  • quest tracker will collapse in whichever direction it's anchored to (ex. collapse down)
  • quest tracker remembers collapsed state
  • adjust the scale of the quest tracker
  • adjust the font, font size, font flag (outline, etc.), or remove shadow
  • adjust the spacing between lines
  • give the quest tracker a background and/or border (border can be class-colored)
  • optional support for rActionButtonStyler to skin quest item buttons
  • adds a tooltip for quests to display their objective text
  • allows you to minimize/maximize (toggle) the tracker via keybind
  • option to automatically collapse the tracker when entering an instance or during pet battles
  • shortcuts added to the collapse button (toggle Quest Log, Achievement Frame, addon's options)
  • global or character specific profiles


History:
With the new quest tracker losing its ability to be moved freely, I set about adding support for it back into my minimap addon, PocketPlot. But it just wasn't as simple anymore with the way it was coded. So, I set out to create a standalone addon (or at least a module for PocketPlot). Originally named Movable WatchFrame, I started adding other features to the addon. Then I had to change its name, because it did much more than just moved the tracker. Thanks to Recompense for suggesting "Who Framed Watcher Wabbit?"


Looking for more?
These are other addons to enhance your questing experience which are tried and tested with WFWW. If you know of any more, let me know via PM and I can add them to this list.
  • Quelevel: Adds quest levels to the tracker, quest log, and gossip frames
  • Jobs'a'goodn: Plays sounds upon completion of quests and their objectives
  • QuestRouterLite: Adds the game's quest POIs to the minimap and works with TomTom to create waypoints for them automagically
  • TomTom: Allows you to set waypoints to destinations including a new feature to automatically show the way for quests
  • LightHeaded: Shows comments from the Wowhead website's quest database in a window attached to your quest log frame.



Known Issue:
If you alter the font size too much, you may have to reload your UI in order to have the quest tracker redrawn. Some text may also overlap if it flows onto a second line. In this case, consider adjusting the whole frame's scale instead.
v.2.0
- rewritten for WoD
- most features have been re-implemented
- please file a bug report at my portal if you find any issues

v.1.9
- updated TOC for 5.2
- updated libraries

v.1.8.1
- should always be able to collapse/expand the watch frame now, even when the default UI doesn't think so
- will no longer show you as tracking 1 objective when really tracking nothing

v.1.8
- updated TOC for 5.1
- option to collapse watch frame during pet battles

v.1.7.4
- updated TOC for MoP
- updated libs
- removed "Monochrome" font flag because it crashes the client currently
- changed "Thick Outline" to "Monochrome Outline"

v.1.7.1
- updated libs
- updated TOC number
- tweaked options layout to fit larger window

v.1.7
- new: option to color border by class
- changed: border alpha now has it's own option (instead of being set with border color)

v.1.6
- updated TOC to 40100
- updated libs
- added option to automagically collapse tracker when entering an instance

v.1.5.4
- updated libs

v.1.5.3
- watch frame now expands if you get an auto-quest popup when it's collapsed

v.1.5.2
- fixed expand/collapse button again - now it's not too high
- bumped TOC version cause I forgot to before

v.1.5.1
- raise strata of collapse button so that its usable even if header text overlaps it from a large font size

v.1.5
- added a keybind to toggle (min/max) the quest tracker. You can set it in the WFWW options

v.1.4
- support for wide quest tracker feature for 3.3.3
- support for rActionButtonStyler skins (well, sorta - it just looks to see if it's installed, and then uses the skin texture/color)
- new options to change line spacing (thanks, seebs)
- random bug fixes and code cleanup for 3.3.3 and above changes

v.1.3.1
- fixed bug when mousing over achievements. Now you'll see the tooltip for the achievement instead!

v.1.3
- added tooltip for quests in the tracker, displaying their objective text
- added support for nUI (to keep it from hogging the watch frame) - thanks, Xrystal! (I did not add nUI to the OptionalDeps line in the .toc, figuring that since WFWW starts with a W, it would load close to the end. PLEASE let me know if I need to fix anything!)
- added option to remove the font shadow
- organized options a bit better

v.1.2
- added option to hide the watch frame when no quests or achievements are being tracked

v. 1.1.1
- fixed bug where your set height would not be reapplied when re-expanding the tracker

v. 1.1
- watch frame now remembers if it was collapsed before (saved per character)

v. 1.0
- initial release
Archived Files (20)
File Name
Version
Size
Author
Date
1.9
114kB
Seerah
03-13-13 04:08 PM
1.8.1
107kB
Seerah
12-01-12 10:34 PM
1.8
107kB
Seerah
11-30-12 10:03 PM
1.7.4
107kB
Seerah
08-26-12 09:41 PM
1.7.1
106kB
Seerah
07-08-11 01:17 PM
1.7
105kB
Seerah
06-18-11 07:49 PM
1.6
105kB
Seerah
05-25-11 11:28 PM
1.5.4
105kB
Seerah
02-15-11 08:55 PM
1.5.3
106kB
Seerah
01-02-11 03:49 PM
1.5.2
106kB
Seerah
12-24-10 12:00 AM
1.5.1
106kB
Seerah
11-05-10 10:38 PM
1.5
106kB
Seerah
03-29-10 02:01 PM
1.4
106kB
Seerah
03-23-10 04:21 PM
1.3.1
105kB
Seerah
03-08-10 04:50 PM
1.3
105kB
Seerah
03-07-10 11:09 PM
1.2
105kB
Seerah
02-08-10 03:47 PM
1.1.1
104kB
Seerah
01-26-10 01:34 PM
1.1
104kB
Seerah
01-24-10 08:19 PM
1.0
104kB
Seerah
01-23-10 09:23 PM
0B
Seerah
01-01-70 12:00 AM


Post A Reply Comment Options
Unread 03-13-10, 11:59 PM  
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 9638
File comments: 593
Uploads: 25
Originally posted by Toran
Seebs, your code worked like a charm. Now... to find a way to make the tracker not remove completed quests...
Yeah, I put seebs' changes in my local copy (with a few touch ups) for the next release.

But the tracker doesn't remove completed quests by default. You must have an addon doing that.
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

[SIGPIC][/SIGPIC]
Seerah is offline Report comment to moderator  
Reply With Quote
Unread 03-13-10, 08:58 PM  
tukz
A Fallenroot Satyr
 
tukz's Avatar
AddOn Author - Click to view AddOns

Forum posts: 20
File comments: 50
Uploads: 6
Originally posted by richerich
That would be apprenticed, since your watchframe are overlapping the right actionbars (as i have 2 bars open there), so using a custom one would be the best answer
ehm, you didn't read /uihelp probably like 50% of users of my ui. If you use wfww just for moving the watchframe you don't need an external mod. /wf enable a watchframe moving feature on screen and THIS is actually the conflict with seerah mod.
Last edited by tukz : 03-13-10 at 08:58 PM.
tukz is offline Report comment to moderator  
Reply With Quote
Unread 03-13-10, 08:48 PM  
Toran
A Nerdscale Dorkin
 
Toran's Avatar

Forum posts: 142
File comments: 430
Uploads: 0
Originally posted by seebs
I got curious, and after studying the blizzard quest frames for a bit, I've implemented line spacing controls.

The calls to WatchFrame_Update() are not in the FontChanges() routine because putting them there triggers an infinite recursion. It appears that a QUEST_OFFSET of 0 still leaves a little more space in front of quest headers than in front of other lines, but it's much more livable.

If the author wants this code, it's free for the taking. I explicitly release it into the public domain. (I'm not actually sure I could have any copyright in something so trivial, but I don't want anyone worrying about it.)
Seebs, your code worked like a charm. Now... to find a way to make the tracker not remove completed quests...
Toran is offline Report comment to moderator  
Reply With Quote
Unread 03-13-10, 07:21 PM  
Dajova
A Wyrmkin Dreamwalker
 
Dajova's Avatar
AddOn Author - Click to view AddOns

Forum posts: 58
File comments: 791
Uploads: 13
Originally posted by tukz
thx for the fast answer guys, i'll just add an option to disable or enable my script.
That would be apprenticed, since your watchframe are overlapping the right actionbars (as i have 2 bars open there), so using a custom one would be the best answer
__________________


Livestream | Twitter | Facebook | YouTube


Dajova is offline Report comment to moderator  
Reply With Quote
Unread 03-13-10, 06:37 PM  
tukz
A Fallenroot Satyr
 
tukz's Avatar
AddOn Author - Click to view AddOns

Forum posts: 20
File comments: 50
Uploads: 6
thx for the fast answer guys, i'll just add an option to disable or enable my script.
tukz is offline Report comment to moderator  
Reply With Quote
Unread 03-13-10, 04:40 PM  
Xrystal
nUI User and Supporter
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5034
File comments: 294
Uploads: 25
Tukz, nUI does a similar thing but what Spiel does is make the functions public so that addons can utilise them to turn off that functionality. Seerah has added that functionality to her addon and my addon uses it too. But where you have localised your functions that wouldn't be possible.

If you put that block of code into a set of functions and make them public writers of other addons can turn them off like you turned off blizzards functions.

Or like Seerah said, add an option to turn off control of the watch frame and not call your functions for it if they choose to not to. The latter would obviously be better as then its only one addon to change and not 2 or more.
__________________
Last edited by Xrystal : 03-13-10 at 04:41 PM.
Xrystal is offline Report comment to moderator  
Reply With Quote
Unread 03-13-10, 04:24 PM  
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 9638
File comments: 593
Uploads: 25
Really, a user shouldn't have two things installed trying to do the same thing. It causes problems such as these. It sounds like you should allow your users to disable handling of the quest tracker if they prefer that something else handle it (since they can't just disable an addon to fix the problem due to your UI being one main addon).
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

[SIGPIC][/SIGPIC]
Seerah is offline Report comment to moderator  
Reply With Quote
Unread 03-13-10, 04:02 PM  
tukz
A Fallenroot Satyr
 
tukz's Avatar
AddOn Author - Click to view AddOns

Forum posts: 20
File comments: 50
Uploads: 6
hi seerah,

my watchframe script don't use blizzard "SetPoint" update because I disabled it. How can we fix your quest mod to be compatible in my ui?

my actual movable watchframe code look like this :

Code:
local wf = WatchFrame
local wfmove = false 

wf:SetMovable(true);
wf:SetClampedToScreen(false); 
wf:ClearAllPoints()
wf:SetPoint("TOPRIGHT", UIParent, "TOPRIGHT", -6, -300)
wf:SetWidth(250)
wf:SetHeight(600)
wf:SetUserPlaced(true)
wf.SetPoint = function() end
wf.ClearAllPoints = function() end

local function WATCHFRAMELOCK()
	if wfmove == false then
		wfmove = true
		print(tukuilocal.core_wf_unlock)
		wf:EnableMouse(true);
		wf:RegisterForDrag("LeftButton"); 
		wf:SetScript("OnDragStart", wf.StartMoving); 
		wf:SetScript("OnDragStop", wf.StopMovingOrSizing);
	elseif wfmove == true then
		wf:EnableMouse(false);
		wfmove = false
		print(tukuilocal.core_wf_lock)
	end
end

SLASH_WATCHFRAMELOCK1 = "/wf"
SlashCmdList["WATCHFRAMELOCK"] = WATCHFRAMELOCK
Your wfww use SetPoint and ClearAllPoints after "PLAYER_ENTERING_WORLD" then it will do nothing because of my wf.SetPoint and wf.ClearAllPoints.

Can we do something to fix this on your side or on my side? thank's.
tukz is offline Report comment to moderator  
Reply With Quote
Unread 03-13-10, 11:18 AM  
Toran
A Nerdscale Dorkin
 
Toran's Avatar

Forum posts: 142
File comments: 430
Uploads: 0
Originally posted by Seerah
  • re. Difficulty coloring
    I won't be adding this either, however I can recommend an addon for you (which I use myself): http://www.wowinterface.com/download...-Quelevel.html It doesn't color by difficulty (the default UI already handles color whenever you hover your mouse over a quest name to create the highlight effect), but it will add the level number in front of each quest in the tracker, log, and gossip frame - you can see it in action in the screenshots for WFWW, actually.

  • re. Quest complete sounds
    This is the addon I use: http://www.wowinterface.com/download...obsagoodn.html I'll eventually make a list of other addons that enhance this one in the description on the main page... I've been meaning to, anyway.
I'm trying SmoothQuest for the coloring. I don't think Quelevel colors the tracker (quest difficulty and completion progress). It also has the sounds built in, but Quelevel seems worth it just to get the quest levels.

Edit: Confirmed, SmoothQuest also shows levels in log and tracker. Add coloring which is bonus. Trying jobs'a'goodn for lightweight sounds as SmoothQuest obj complete sound isn't firing.
Last edited by Toran : 03-13-10 at 01:10 PM.
Toran is offline Report comment to moderator  
Reply With Quote
Unread 03-13-10, 10:49 AM  
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 9638
File comments: 593
Uploads: 25
Originally posted by richerich
Well, i downloaded a few other questtracker mods and the bug seems to occur on all of them, so it might be a conflict with another mod that i use... imma test and see what it can be.

EDIT: disabled all my addons except error handler and WFWW and no error. Enabled all my addons and it reappears when i change the scale of the frame.
Further testing undergoing...

EDIT2: Found out what was the issue... Apparently it bugs out when i have TukUI enabled... witch is basically my entire UI :S
I just looked at the line of the FrameXML\WatchFrame.lua code that is erroring out. iirc, this line/error is the whole reason why I have a delay set in the WFWW code for changing things. It sounds like TukUI is trying to change the WatchFrame before the Blizzard UI is done with it.

But thanks for getting back to me on it.
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

[SIGPIC][/SIGPIC]
Seerah is offline Report comment to moderator  
Reply With Quote
Unread 03-13-10, 06:07 AM  
Dajova
A Wyrmkin Dreamwalker
 
Dajova's Avatar
AddOn Author - Click to view AddOns

Forum posts: 58
File comments: 791
Uploads: 13
Well, i downloaded a few other questtracker mods and the bug seems to occur on all of them, so it might be a conflict with another mod that i use... imma test and see what it can be.

EDIT: disabled all my addons except error handler and WFWW and no error. Enabled all my addons and it reappears when i change the scale of the frame.
Further testing undergoing...

EDIT2: Found out what was the issue... Apparently it bugs out when i have TukUI enabled... witch is basically my entire UI :S
__________________


Livestream | Twitter | Facebook | YouTube


Last edited by Dajova : 03-13-10 at 06:35 AM.
Dajova is offline Report comment to moderator  
Reply With Quote
Unread 03-12-10, 09:17 PM  
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 9638
File comments: 593
Uploads: 25
Feature Requests and Bug Reports belong at my PORTAL (you can get there with the buttons labeled "Report Bugs" and "Feature Req." below the download button)

  • re. condense vertical space
    You can try fiddling with a combination of the scale slider and the fontsize slider... /shrug

    /edit: I see that seebs looked into it and posted while I was typing. I'll have a looksee and possibly incorporate it into the version for 3.3.3

  • re. click-through
    This would get rid of so much functionality of the WatchFrame... I'm not going to add this in, but you can try this code to see if it accomplishes what you want (I'm not in game atm to test)
    Code:
    WatchFrame:EnableMouse(false)
  • re. ButtonFacade support
    Yes, I was hoping to add that in, but I was having troubles with the implementation. I'll try looking at it again at some point in the future. If anyone wants to look at it in the interim, go right ahead.

  • re. Zone-based headers
    This won't be added, but filtering and sorting features will be added into the default UI with 3.3.3 (works nicely on the PTR )

  • re. Difficulty coloring
    I won't be adding this either, however I can recommend an addon for you (which I use myself): http://www.wowinterface.com/download...-Quelevel.html It doesn't color by difficulty (the default UI already handles color whenever you hover your mouse over a quest name to create the highlight effect), but it will add the level number in front of each quest in the tracker, log, and gossip frame - you can see it in action in the screenshots for WFWW, actually.

  • re. Quest complete sounds
    This is the addon I use: http://www.wowinterface.com/download...obsagoodn.html I'll eventually make a list of other addons that enhance this one in the description on the main page... I've been meaning to, anyway.

  • re. richerich's bug
    What were you doing when the error occurred? ("done with customization" is quite vague ) Can you recreate it? Does it happen when WFWW is the only addon enabled?
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

[SIGPIC][/SIGPIC]
Seerah is offline Report comment to moderator  
Reply With Quote
Unread 03-12-10, 09:04 PM  
seebs
Premium Member
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 155
File comments: 184
Uploads: 5
I got curious, and after studying the blizzard quest frames for a bit, I've implemented line spacing controls.

Code:
--- /tmp/wfww.lua	2010-03-12 20:55:18.843583886 -0600
+++ wfww.lua	2010-03-12 20:58:27.932056147 -0600
@@ -25,6 +25,8 @@
 	font = "Friz Quadrata TT",
 	fontSize = 12,
 	fontFlag = "None",
+	questSpacing = 10,
+	lineSpacing = 6,
 	disableShadow = false,
 	scale = 1,
 	hideFrame = false,
@@ -148,6 +150,7 @@
 					db.font = font
 					nextline = 1
 					FontChanges()
+					WatchFrame_Update()
 				end,
 			order = 6,
 		},
@@ -163,6 +166,7 @@
 						db.fontSize = size
 						nextline = 1
 						FontChanges()
+						WatchFrame_Update()
 					end,
 			order = 7,
 		},
@@ -182,6 +186,7 @@
 						db.fontFlag = fontFlags[key]
 						nextline = 1	--start over from the beginning
 						FontChanges()
+						WatchFrame_Update()
 					end,
 			order = 8,
 		},
@@ -194,9 +199,42 @@
 						db.disableShadow = not db.disableShadow
 						nextline = 1
 						FontChanges()
+						WatchFrame_Update()
 					end,
 			order = 8.5,
 		},
+		questSpacing = {
+			name = "Quest Spacing",
+			desc = "Change the spacing between quests.",
+			type = "range",
+			min = 0,
+			max = 12,
+			step = 1,
+			get = function() return db.questSpacing end,
+			set = function(_,size) 
+						db.questSpacing = size
+						nextline = 1
+						FontChanges()
+						WatchFrame_Update()
+					end,
+			order = 8.51,
+		},
+		lineSpacing = {
+			name = "Line Spacing",
+			desc = "Change the spacing between lines.",
+			type = "range",
+			min = 0,
+			max = 10,
+			step = 1,
+			get = function() return db.lineSpacing end,
+			set = function(_,size) 
+						db.lineSpacing = size
+						nextline = 1
+						FontChanges()
+						WatchFrame_Update()
+					end,
+			order = 8.52,
+		},
 		spacer2 = {
 			name = " ",
 			type = "description",
@@ -404,6 +442,10 @@
 function FontChanges()
 	local font = LSM:Fetch("font", db.font)
 	WatchFrameTitle:SetFont(font, db.fontSize, db.fontFlag)
+
+	WATCHFRAME_QUEST_OFFSET = db.questSpacing
+	WATCHFRAME_LINEHEIGHT = db.fontSize + db.lineSpacing
+
 	for i = nextline, 50 do
 		line = _G["WatchFrameLine"..i]
 		if line then
The calls to WatchFrame_Update() are not in the FontChanges() routine because putting them there triggers an infinite recursion. It appears that a QUEST_OFFSET of 0 still leaves a little more space in front of quest headers than in front of other lines, but it's much more livable.

If the author wants this code, it's free for the taking. I explicitly release it into the public domain. (I'm not actually sure I could have any copyright in something so trivial, but I don't want anyone worrying about it.)
seebs is offline Report comment to moderator  
Reply With Quote
Unread 03-12-10, 02:32 PM  
Dajova
A Wyrmkin Dreamwalker
 
Dajova's Avatar
AddOn Author - Click to view AddOns

Forum posts: 58
File comments: 791
Uploads: 13
erm... im getting this error when i was done with customization:

Code:
[21:28:28] Interface\FrameXML\WatchFrame.lua:341: attempt to perform arithmetic on a nil value
[C]: ?
Interface\FrameXML\WatchFrame.lua:341: in function <Interface\FrameXML\WatchFrame.lua:329>
[C]: in function `WatchFrame_Update'
Interface\FrameXML\WatchFrame.lua:230: in function <Interface\FrameXML\WatchFrame.lua:223>
... and it looks like this
__________________


Livestream | Twitter | Facebook | YouTube


Dajova is offline Report comment to moderator  
Reply With Quote
Unread 03-12-10, 01:52 PM  
Toran
A Nerdscale Dorkin
 
Toran's Avatar

Forum posts: 142
File comments: 430
Uploads: 0
Maybe it's what seebs is asking for, but would be great to have a configurable section to decrease the vert space between quests. In addition, zone based headers and quest progress coloring would make this perfect. Quest progress sounds would be nice also.

Found this piece of code commented out. Is it for future button facade support for borders?

Code:
--bfSkin = {skin = "Blizzard", gloss = 1},
=-========

Found an interm solution for some of above. Smooth Quest. Although the sounds for quest progression don't fire, but quest completion does.
http://www.wowinterface.com/downloads/info8932-SmoothQuest.html
Last edited by Toran : 03-12-10 at 03:36 PM.
Toran is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: