Minion Beta! - Help us test our new AddOn updater. Get it now!
(26 Kb)
Updated: 10-05-13 02:58 AM
File Info
Siege of Orgrimmar (5.4)
Escalation (5.3)
Thunder Isle (5.2)
Landfall (5.1)
Mists of Pandaria (5.0.4)
Updated:10-05-13 02:58 AM
Created:02-07-10 07:04 PM
Scrolling Watch Frame
by: Xrystal [More]
About the Scrolling Watch Frame Addon
This addon allows the user to set their watch frame into a more convenient size and position with nUI users gaining extra functionality to 'dock' the frame in an infopanel.

Credits and an Alternative
Seerah's WatchFrame Addon has many similar and more features so if this isn't quite what you want or you want to weigh your choices go check it out : I must admit that the recall of the current collapse status the last time you logged out and recording the position of both collapsed and expanded positions for those users that wish to have two places to place the frame came from that addon either as an idea or an inspiration of. Thanks Seerah.

Slash Commands Available
/swf reset - Resets the data to the programmed defaults, may require an automatic reload of the UI
/swf dock - Toggles the docking mode for nUI users and will require an automatic reload of the UI
/swf scroll x - Sets the scroll size to x which will allow more quests and achievements to be watched ( 1000 to 5000 )
/swf height x - Sets the undocked frame's height ( 100 to 800 )
/swf width x - Sets the undocked frame's width ( 300 to 600 )
/swf lock - Toggles the undocked frame's movability
/swf background - Toggles the current docked status frame's background status
/swf multiple - Toggles the ability for the undocked frame to track both the collapsed and expanded position anchors with the main anchor used for single position tracking
/swf options - Show the UI Version
/swf autohide - Toggles the ability for the undocked frame to automatically hide if there is nothing being tracked.

Note: If you need a higher number for those with ranges let me know and I will raise the bar.

Other Information
The following Blizzard Watch Frame values have been changed to reflect the size of OUR watch frame:
WATCHFRAME_MAXLINEWIDTH is changed to match the space available
WATCHFRAME_MAXQUESTS = 50 - instead of 10

Note: WATCHFRAME_MAXACHIEVEMENTS cannot be overridden for some reason however much I tried. WATCHFRAME_MAXQUESTS can be overridden but not programmatically updated. However, the others do work as expected. At the top of the WatchFrame.lua file for this addon you will see the two lines near the top. You can personally change these to a higher value as needed but I have not extensively tested anything beyond 50 ( namely because I haven't got that many quests rofl ).

Known Problems:
When you first utilise the Dock option to put the watch frame into an InfoPanel ( nUI Users only ) there is a period of time where you may encounter a bug due to the Blizzard WatchFrame not existing for a few seconds. Due to this error, which I am trying to identify, it stops the Blizzard watch frame from doing its work. It can be confirmed by trying to track a quest if it seemingly displayed fine. A Reload or Relog will solve the problem.

Foreign Language Versions
At the present this plugin does not support multi language settings.
enUS and enGB versions will work fine however and the ability to add new languages is possible using the addonData.Localization values accordingly.
Just a TOC change

[Version 1.04.00]
-->Fixed defunct global references
-->Fixed defunct global references

[Version 1.03.02]
-->Do not execute watch frame updates if we are using an infopanel but it has not yet been made - delay in process ?
-->Apply current settings when the frame is selected
-->Make sure plugin is valid before using it
-->Stored strata and level of frame and restore them on disablement

[Version 1.03.01]
General Changes
-->Removed 3.3.2 specific code and switched to 3.3.3 full time
-->Temporarily Unlock frame when hiding/showing subcomponents
-->Refresh ScrollBar Visibility based on conditions and place in reusable function
-->Added the ability to create Drop Down Menus
-->Removed ExpandedAnchor variables
-->Corrected defaults for CollapsedAnchor
-->Now holds updating of options data adjusted via the slash commands, options screen and options menu
-->Removed Menu and Screen setting up functions from here, it now only handles slash command functionality
-->Interface Options Screen to handle just the options UI Screen functionality
-->Interface Options Menu to handle just the Options Menu functionality
-->Use OnEnter to trigger a WatchFrame_Update call to refresh the frame again
-->Added Options Button
-->Created Drop Down Menu
Problems Spotted to still occur:
-->nUI Users may find that due to the start up errors that we are getting you may lose some settings related to this addon. Sometimes it seems to reset itself and other times it just drops the quests. I haven't found anything that can countermand this without breaking something else.
-->Scrollbar Stickiness : I have tried to get it so that the scrollbar disappears under certain conditions ( no more room to scroll, no background and being collapsed. If the frame is locked in place sometimes the changes do not occur as quick as we would like. So I made some slight changes to how this can be sped up. 1. For when locked is not set a mouse over the frame will cause it to update the frame along with the scroll. 2. Similarly with opening and closing the options interface window.
-->Whilst annoying these seem to be the main problems I have been coming across since the last set of changes made. So, please let me know if something else occurs for you.

[Version 1.03.00]
Note: This version is for 3.3.3. I haven't fully tested it's use on 3.3.2 but I have tried to code it so that it works on both versions. If it doesn't, until 3.3.3 goes live or I update it to work, then use last version instead.
All Generic files
-->Now uses their own version pattern 0.xx.xx so as to not confuse over multiple addons
-->Only use Collapsed Anchor if using multiple anchors
-->Added parent parameter so we don't risk using UIParent in error
-->Incorporate new ExtendedWatchFrameWidth options
-->Incorporate new Filter Options
-->Incorporate new UserCollapsed status
-->Can drag with left and right button
-->Moved Resize of ScrollSize to onResize Function
-->Check the AutoHide status of the frame
-->Update unused Anchor as well
-->Use PEW as well as VariablesLoaded Event to ensure data available
-->Added UserCollapsed Variable to Saved Variables
-->Use WatchFrameHeader if it exists instead of WatchFrameTitle
-->Various changes to utilise new expanded width cvar value
-->Work in the new filter system if they exist
-->No Longer tracking OnShow with a setscript as the watchframe is constantly updating now
-->Hide Scrollbar if no background unless in an infopanel
-->Positioned WatchFrameCollapseExpandButton a bit further right to account for WatchCount addition
Known Problems
-->After relogging in after collapsing it Blizzard will sometimes untrack quests - Blizzard Tracker doesn't keep collapse state to compare
-->If the options=nil error occurs for nUI users Blizzard seems to forget about its quests track status and thus will change the status of the tracker after the reloadui
-->If you play with the toggle multiple anchor setting while in a collapsed state it sometimes moves the collapsed window slightly
-->Despite many attempts at getting the scrollbar to hide if there is no background sometimes it refuses to, right clicking a quest and show quest details will refresh it
-->Sometimes when toggling to an infopanel it will require a second reload of the UI to fully work, confirm by tracking a quest after it has successfully toggled

[Version 1.02.01]
-->Default the Heading, Button and Watched Lines as Shown as Blizzard may have hidden already
-->Removed OnResize script and function as they were actually redundant
-->Added OnUpdate function which can be called to carry out tasks before a final call to WatchFrame_Update
-->Restore the WatchFrame Status if not in an infopanel
-->Temporarily Unlock frame for resizing of subcomponents
-->Removed OnSizeChanged script. Instead resizing will be done when we want
-->Don't restore Watch Frame Status in case we don't want to
-->Only Restore non InfoPanel frames and just expand the infopanel ones

[Version 1.02.00]
-->MaxLineWidth constant needs to match width of container frame if it exists
-->Removed AutoWiden option
-->Added new Options Frame to Frame List
-->Set Scroll Frame to be low on the strata just like the official WatchFrame
-->Hide Scroll Bar if in Collapsed Mode regardless of ScrollSize setting
-->Refresh WatchListWidth constant when collapsing and expanding
-->Show frame regardless if not autohiding or in infopanel
-->Added OnShow and OnResize Functions/Scripts for non infopanel users
-->Create Slash Command Interface
-->Update the WatchFrame once the InfoPanel has been set up
-->New File to handle common interface tasks
-->Access new Interface options
-->When you show the Options Interface refresh with current data
-->Create the Slash Command Interface
-->Access to Options Interface added to slash command list
-->Dock and Reset options separated for sharability with Interface options
-->Added AutoHide feature to slash commands
-->Correctly display lock status when seeing current settings
-->Added AutoHide Option to Saved Variables
-->Refresh the ScrollSize when resizing as well
-->Handle OnResize Event for the frame
-->Added Script to monitor size changing to resize sub components

Constants that can be changed in WatchFrame.lua file
WATCHFRAME_MAXQUESTS = 50 - instead of default of 10
WATCHFRAME_CRITERIA_PER_ACHIEVEMENT = 50 - instead of default of 5

Slash Commands added to SWF_SlashCommands.lua file
/swf options - to show options frame
/swf autohide - to toggle the autohide feature

[Version 1.01.01]
-->Resize both Scroll and Child Frames to suit new width of Container
-->Added Hook into WatchFrame_Update
-->Added Auto Hide option so when WatchFrame wants to hide, so does ours
-->Resize Child Frame to reflect quest item icons
-->Added AutoHide and AutoWiden options
-->Update the WatchFrame to reflect the changes made
-->Override WatchFrame Constants to 50 barring Achievements which don't work anyway
-->Override WatchFrame MaxLineWidth Constant to match width of frame
-->Update the WatchFrame when these changes are made as well
-->Forgot to size the frame when the infopanel was resized
Known Rectifiable Problems
-->If you adjust the scrollsize with swf scroll to a smaller number after watching more quests to fill the larger scroll frame it just won't display the quests but they are still counted as watchable.
Suggestion : make sure you have ample scroll space before watching a quest, expand scroll space when you run out.
Optional Files (0)

Archived Files (8)
File Name
10-14-10 02:03 PM
04-09-10 05:06 AM
03-29-10 01:15 PM
03-23-10 05:44 AM
03-12-10 04:15 PM
03-11-10 03:04 PM
02-08-10 12:17 PM
02-07-10 07:04 PM

Post A Reply Comment Options
Unread 07-19-14, 03:38 PM  
nUI User and Supporter
Xrystal's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5032
File comments: 291
Uploads: 25
Warlords of Draenor Compatibility

As I suspected, with the change to the built in Watch Frame this addon is broken from the get go.

With the new features in the new Watch Frame I would have probably ended up rewriting it anyway.
Xrystal is offline Report comment to moderator  
Reply With Quote
Post A Reply

Category Jump: