Download
(26 Kb)
Download
Updated: 10-05-13 02:58 AM
Pictures
File Info
Compatibility:
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 06:04 PM
Downloads:3,718
Favorites:31
MD5:
5.4
Scrolling Watch Frame
Version: 5.4.0.17399
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 : http://www.wowinterface.com/download...herWabbit.html. 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
WATCHFRAME_CRITERIA_PER_ACHIEVEMENT = 50 - instead of 5

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.
-------------------------------------------------------------------
[Version 5.4.0.17399]
-------------------------------------------------------------------
Just a TOC change

-------------------------------------------------------------------
[Version 1.04.00]
-------------------------------------------------------------------
SWF_SavedVars.lua
-->Fixed defunct global references
SWF_Main.lua
-->Fixed defunct global references

-------------------------------------------------------------------
[Version 1.03.02]
-------------------------------------------------------------------
SWF_Main.lua
-->Do not execute watch frame updates if we are using an infopanel but it has not yet been made - delay in process ?
nUI_InfoPanel.lua
-->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
ScrollFrame.lua
-->Temporarily Unlock frame when hiding/showing subcomponents
-->Refresh ScrollBar Visibility based on conditions and place in reusable function
Interface.lua
-->Added the ability to create Drop Down Menus
SWF_SavedVars.lua
-->Removed ExpandedAnchor variables
-->Corrected defaults for CollapsedAnchor
SWF_Options.lua
-->Now holds updating of options data adjusted via the slash commands, options screen and options menu
SWF_SlashCommands.lua
-->Removed Menu and Screen setting up functions from here, it now only handles slash command functionality
SWF_Interface.lua
-->Interface Options Screen to handle just the options UI Screen functionality
SWF_Menu.lua
-->Interface Options Menu to handle just the Options Menu functionality
SWF_Main.lua
-->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
WatchFrame.lua
-->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
ScrollFrame.lua
-->Can drag with left and right button
-->Moved Resize of ScrollSize to onResize Function
SWF_SlashCommands.lua
-->Check the AutoHide status of the frame
-->Update unused Anchor as well
SWF_SavedVars.lua
-->Use PEW as well as VariablesLoaded Event to ensure data available
-->Added UserCollapsed Variable to Saved Variables
SWF_Main.lua
-->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]
-------------------------------------------------------------------
SWF_Main.lua
-->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
ScrollFrame.lua
-->Temporarily Unlock frame for resizing of subcomponents
-->Removed OnSizeChanged script. Instead resizing will be done when we want
WatchFrame.lua
-->Don't restore Watch Frame Status in case we don't want to
SWF_SlashCommands.lua
-->Only Restore non InfoPanel frames and just expand the infopanel ones

-------------------------------------------------------------------
[Version 1.02.00]
-------------------------------------------------------------------
WatchFrame.lua
-->MaxLineWidth constant needs to match width of container frame if it exists
-->Removed AutoWiden option
SWF_Main.lua
-->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
Interface.lua
-->New File to handle common interface tasks
SWF_SlashCommands.lua
-->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
SWF_SavedVars.lua
-->Added AutoHide Option to Saved Variables
ScrollFrame.lua
-->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]
-------------------------------------------------------------------
ScrollFrame.lua
-->Resize both Scroll and Child Frames to suit new width of Container
SWF_Main.lua
-->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
WatchFrame.lua
-->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
SWF_SlashCommands.lua
-->Update the WatchFrame when these changes are made as well
nUI_InfoPanel.lua
-->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
Version
Size
Author
Date
1.04.00
26kB
Xrystal
10-14-10 02:03 PM
1.03.02
30kB
Xrystal
04-09-10 05:06 AM
1.03.01
30kB
Xrystal
03-29-10 01:15 PM
1.03.00
26kB
Xrystal
03-23-10 05:44 AM
1.02.01
21kB
Xrystal
03-12-10 03:15 PM
1.02.00
20kB
Xrystal
03-11-10 02:04 PM
1.01.01
16kB
Xrystal
02-08-10 11:17 AM
1.01.00
15kB
Xrystal
02-07-10 06:04 PM


Post A Reply Comment Options
Old 04-09-10, 04:32 PM  
Shadowfeonix
An Aku'mai Servant
 
Shadowfeonix's Avatar

Forum posts: 31
File comments: 6
Uploads: 0
Awsome that did the trick (is nice logging in and not hearing "Fatality" lol)
also spelling is perfect exactly as it is meant to be spelled ty.
Shadowfeonix is offline Report comment to moderator  
Reply With Quote
Old 04-09-10, 05:32 AM  
Xrystal
nUI User and Supporter
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5025
File comments: 288
Uploads: 25
Version 1.03.02 Changes

These fixes were in response to ShadowFeonix's (sp) error reports. I finally managed to replicate the problem and put in code to stall the errors if they occur again. It seems like the main reason they are erroring out is due to that nasty options=nil error for us nUI users although I believe other addons are hit similarly with their saved variables not loading properly but anyways, here's the latest update notes for your perusal.
  • SWF_Main.lua
    • Do not execute watch frame updates if we are using an infopanel but it has not yet been made - delay in process ?
  • nUI_InfoPanel.lua
    • 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
__________________
Last edited by Xrystal : 04-09-10 at 05:34 AM.
Xrystal is offline Report comment to moderator  
Reply With Quote
Old 04-09-10, 04:06 AM  
Xrystal
nUI User and Supporter
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5025
File comments: 288
Uploads: 25
Yes, that is the right file.

Hmm, that is really strange. Well, I logged out last night with my version docked so I will log in .. then I will try again with the last uploaded code and see if it errors out .. then go from there.

Edit: Okay, I managed to get the same error finally but only after nUI failed to load properly due to the new mysterious options = nil error people have been getting. That would explain why on load up it is having problems working as 1. nUI is loaded, 2. the infopanel is active 3. the scrolling frame is created so that when the watchframe does its auto update it tries to update everything based on those flags assuming everything else worked fine.

So, it looks like I need to do some further tests so that at least my part of the loading process knows what it is doing.

Edit2: Ah, think I may have stopped it now but hard to say as I am not getting the options=nil error rofl. Want to make sure I deal with the issue before I upload it.
__________________
Last edited by Xrystal : 04-09-10 at 04:52 AM.
Xrystal is offline Report comment to moderator  
Reply With Quote
Old 04-08-10, 10:31 PM  
Shadowfeonix
An Aku'mai Servant
 
Shadowfeonix's Avatar

Forum posts: 31
File comments: 6
Uploads: 0
Hmm no other watch frame addons turned on on the toon getting the errors (have quest guru on my leveling toons buts its turned off completely on the one getting errors)

Yes i have nUI installed (love it, tho i do miss Mazzle - but that's neither here nor there)

And finally modified the LUA and no no change at all
Edit: You did mean the nUI_Infopanel.lua file correct.
Last edited by Shadowfeonix : 04-08-10 at 10:39 PM.
Shadowfeonix is offline Report comment to moderator  
Reply With Quote
Old 04-08-10, 06:33 AM  
Xrystal
nUI User and Supporter
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5025
File comments: 288
Uploads: 25
Hmm, also, do you have nUI installed and enabled ?

The first error you listed should only have got reached if it had successfully created the object it next said didn't exist. And the rest follow on from that knowledge. How a frame can cease to exist without telling it to, which I don't, I have no clue.

And, did this coincide with a general blah is nil start up error message that cause the blank nUI frames on login ? That could be the only reason that would happen as far as I can see.

Edit:
Okay, I think I just spotted the problem. I can't believe I missed this and that it didn't appear during testing but there you go. Before I finalise the testing I would like you to make the following changes before you log in and see if it resolves your problem.

In InfoPanel.lua file find the section called InfoPanel.resetAnchors and change it so it looks like this :
Code:
InfoPanel.resetAnchors = function()
  local plugin = InfoPanel.plugin;
  plugin:ClearAllPoints();
  plugin:SetPoint( "BOTTOMRIGHT", InfoPanel.container, "BOTTOMRIGHT", 0, 0 );
  plugin:SetPoint( "TOPLEFT", InfoPanel.container, "TOPLEFT", 0, 0 );
end
Let me know if that resolves it for you and I will add it as a proper update.
__________________
Last edited by Xrystal : 04-08-10 at 07:45 AM.
Xrystal is offline Report comment to moderator  
Reply With Quote
Old 04-07-10, 08:31 PM  
Xrystal
nUI User and Supporter
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5025
File comments: 288
Uploads: 25
Hmm, strange. I will read through them and see if I can see whats happening there as I am using the watch frame myself and don't get errors like that. I think there are still some glitches with how the movement while locking works and dealing with both infopanel versions which are automatically locked and non infopanel versions which can be locked or not.

That said, I have noticed some flaws with the way some of my file layouts are in light of future projects so I have been working through them again while doing the extra 1.04.00 stuff so that I can reuse the files in other projects or in other frames on the same project. Hopefully I will track down those problems of yours and account for them in the new changes. If I can find a quick fix before then I will apply one.

Thanks for the info and I will look at it tomorrow.


A quick look gives the impression that it has somehow lost track of who owns the watchframe. Do you have another quest addon installed at all ?
__________________
Last edited by Xrystal : 04-07-10 at 11:18 PM.
Xrystal is offline Report comment to moderator  
Reply With Quote
Old 04-07-10, 05:40 PM  
Shadowfeonix
An Aku'mai Servant
 
Shadowfeonix's Avatar

Forum posts: 31
File comments: 6
Uploads: 0
Continuation of previous post
Code:
1x ScrollingWatchFrame-1.03.01\SWF_Main.lua:307: attempt to index global 'SWF_InfoPanel' (a nil value)
ScrollingWatchFrame-1.03.01\SWF_Main.lua:247: in function <ScrollingWatchFrame\SWF_Main.lua:187>
<in C code>: in function `WatchFrame_Update'
ScrollingWatchFrame-1.03.01\SWF_Main.lua:314: in function `OnUpdate'
ScrollingWatchFrame-1.03.01\SWF_Main.lua:329: in function `OnShow'
ScrollingWatchFrame-1.03.01\SWF_Main.lua:377: in function <ScrollingWatchFrame\SWF_Main.lua:345>

Locals:
self = WatchFrame {
 ClearAllPoints = <function> @ ScrollingWatchFrame\WatchFrame.lua:371:
 watchMoney = false
 0 = <userdata>
 updateTimer = 1
 showObjectives = true
 lineCache = <table> {}
 SetAllPoints = <function> @ ScrollingWatchFrame\WatchFrame.lua:373:
 nextOffset = 0
 SetPoint = <function> @ ScrollingWatchFrame\WatchFrame.lua:372:
 buttonCache = <table> {}
}
filterOK = false
numQuests = 0
numAchievements = 0
numTimers = 0
addonData = <table> {
 Options = <table> {}
 SlashCmds = <table> {}
 nUI = <table> {}
 OptionsUI = <table> {}
 Locale = "enUS"
 Frames = <table> {}
 Menu = <table> {}
 SavedVars = <table> {}
 Localization = <table> {}
 ScrollFrame = <table> {}
 WatchFrame = <table> {}
 Interface = <table> {}
}
f = SWF_WatchFrame_Container {
 Lines = WatchFrameLines {}
 OnLock = <function> @ ScrollingWatchFrame\SWF_Main.lua:304:
 0 = <userdata>
 Scroll = SWF_WatchFrame_ScrollFrame {}
 OnShow = <function> @ ScrollingWatchFrame\SWF_Main.lua:318:
 CollapseExpand = WatchFrameCollapseExpandButton {}
 Menu = WatchFrameOptionsButton {}
 Title = WatchFrameTitle {}
 ScrollBar = SWF_WatchFrame_ScrollFrameScrollBar {}
 Header = WatchFrameHeader {}
 OnUpdate = <function> @ ScrollingWatchFrame\SWF_Main.lua:312:
 Child = SWF_WatchFrame_ScrollChild {}
}

  ---
Code:
1x ScrollingWatchFrame-1.03.01\SWF_Main.lua:307: attempt to index global 'SWF_InfoPanel' (a nil value)
ScrollingWatchFrame-1.03.01\SWF_Main.lua:247: in function <ScrollingWatchFrame\SWF_Main.lua:187>
<in C code>: in function `WatchFrame_Update'
Interface\FrameXML\WatchFrame.lua:298: in function <Interface\FrameXML\WatchFrame.lua:296>:
<in C code>: in function `GetTop'
Interface\FrameXML\WatchFrame.lua:365: in function <Interface\FrameXML\WatchFrame.lua:352>:
<in C code>: ?
<in C code>: in function `WatchFrame_Update'
ScrollingWatchFrame-1.03.01\SWF_Main.lua:314: in function `OnUpdate'
ScrollingWatchFrame-1.03.01\SWF_Main.lua:329: in function `OnShow'
ScrollingWatchFrame-1.03.01\SWF_Main.lua:377: in function <ScrollingWatchFrame\SWF_Main.lua:345>

Locals:
self = WatchFrame {
 ClearAllPoints = <function> @ ScrollingWatchFrame\WatchFrame.lua:371:
 watchMoney = false
 0 = <userdata>
 updateTimer = 1
 updating = true
 showObjectives = true
 lineCache = <table> {}
 SetAllPoints = <function> @ ScrollingWatchFrame\WatchFrame.lua:373:
 nextOffset = 0
 SetPoint = <function> @ ScrollingWatchFrame\WatchFrame.lua:372:
 buttonCache = <table> {}
}
filterOK = false
numQuests = 0
numAchievements = 0
numTimers = 0
addonData = <table> {
 Options = <table> {}
 SlashCmds = <table> {}
 nUI = <table> {}
 OptionsUI = <table> {}
 Locale = "enUS"
 Frames = <table> {}
 Menu = <table> {}
 SavedVars = <table> {}
 Localization = <table> {}
 ScrollFrame = <table> {}
 WatchFrame = <table> {}
 Interface = <table> {}
}
f = SWF_WatchFrame_Container {
 Lines = WatchFrameLines {}
 OnLock = <function> @ ScrollingWatchFrame\SWF_Main.lua:304:
 0 = <userdata>
 Scroll = SWF_WatchFrame_ScrollFrame {}
 OnShow = <function> @ ScrollingWatchFrame\SWF_Main.lua:318:
 CollapseExpand = WatchFrameCollapseExpandButton {}
 Menu = WatchFrameOptionsButton {}
 Title = WatchFrameTitle {}
 ScrollBar = SWF_WatchFrame_ScrollFrameScrollBar {}
 Header = WatchFrameHeader {}
 OnUpdate = <function> @ ScrollingWatchFrame\SWF_Main.lua:312:
 Child = SWF_WatchFrame_ScrollChild {}
}

  ---
all from logging in docked

Edit: 2 walls of text back to back so sorry
Last edited by Shadowfeonix : 04-07-10 at 05:41 PM.
Shadowfeonix is offline Report comment to moderator  
Reply With Quote
Old 04-07-10, 05:40 PM  
Shadowfeonix
An Aku'mai Servant
 
Shadowfeonix's Avatar

Forum posts: 31
File comments: 6
Uploads: 0
SWF Docked

On docking and logging in docked i get these errors

Code:
2x ScrollingWatchFrame-1.03.01\nUI_InfoPanel.lua:191: attempt to index local 'plugin' (a nil value)
ScrollingWatchFrame-1.03.01\SWF_Main.lua:307: in function `OnLock'
ScrollingWatchFrame-1.03.01\SWF_Main.lua:247: in function <ScrollingWatchFrame\SWF_Main.lua:187>
<in C code>: in function `WatchFrame_Update'
Interface\FrameXML\WatchFrame.lua:274: in function <Interface\FrameXML\WatchFrame.lua:230>:
<in C code>: ?
<in C code>: in function `SetMapZoom'
TomTom-237\libs\Astrolabe\Astrolabe.lua:927: in function `OnShow'
TomTom-237\libs\Astrolabe\Astrolabe.lua:1020: in function <TomTom\libs\Astrolabe\Astrolabe.lua:1019>
<in C code>: in function `Show'
TomTom-237\libs\Astrolabe\Astrolabe.lua:957: in function `AllWorldMapsHidden'
TomTom-237\libs\Astrolabe\AstrolabeMapMonitor.lua:168: in function <...AddOns\TomTom\libs\Astrolabe\AstrolabeMapMonitor.lua:160>
(tail call): ?:
TomTom-237\libs\Astrolabe\AstrolabeMapMonitor.lua:201: in function `OnEvent'
TomTom-237\libs\Astrolabe\AstrolabeMapMonitor.lua:230: in function <...AddOns\TomTom\libs\Astrolabe\AstrolabeMapMonitor.lua:229>
<in C code>: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:235: in function `UIParentLoadAddOn':
Interface\FrameXML\UIParent.lua:258: in function `CombatLog_LoadUI':
Interface\FrameXML\UIParent.lua:482: in function <Interface\FrameXML\UIParent.lua:454>:

Locals:
addonData = <table> {
 Options = <table> {}
 SlashCmds = <table> {}
 nUI = <table> {}
 OptionsUI = <table> {}
 Locale = "enUS"
 Frames = <table> {}
 Menu = <table> {}
 SavedVars = <table> {}
 Localization = <table> {}
 ScrollFrame = <table> {}
 WatchFrame = <table> {}
 Interface = <table> {}
}
f = SWF_WatchFrame_Container {
 Lines = WatchFrameLines {}
 OnLock = <function> @ ScrollingWatchFrame\SWF_Main.lua:304:
 0 = <userdata>
 Scroll = SWF_WatchFrame_ScrollFrame {}
 OnShow = <function> @ ScrollingWatchFrame\SWF_Main.lua:318:
 CollapseExpand = WatchFrameCollapseExpandButton {}
 Menu = WatchFrameOptionsButton {}
 Title = WatchFrameTitle {}
 ScrollBar = SWF_WatchFrame_ScrollFrameScrollBar {}
 Header = WatchFrameHeader {}
 OnUpdate = <function> @ ScrollingWatchFrame\SWF_Main.lua:312:
 Child = SWF_WatchFrame_ScrollChild {}
}

  ---
Code:
2x ScrollingWatchFrame-1.03.01\nUI_InfoPanel.lua:191: attempt to index local 'plugin' (a nil value)
ScrollingWatchFrame-1.03.01\SWF_Main.lua:307: in function `OnLock'
ScrollingWatchFrame-1.03.01\SWF_Main.lua:247: in function <ScrollingWatchFrame\SWF_Main.lua:187>
<in C code>: in function `WatchFrame_Update'
Interface\FrameXML\WatchFrame.lua:274: in function <Interface\FrameXML\WatchFrame.lua:230>:
<in C code>: ?
<in C code>: in function `SetMapToCurrentZone'
TomTom-237\libs\Astrolabe\Astrolabe.lua:923: in function `OnShow'
TomTom-237\libs\Astrolabe\Astrolabe.lua:1020: in function <TomTom\libs\Astrolabe\Astrolabe.lua:1019>
<in C code>: in function `Show'
TomTom-237\libs\Astrolabe\Astrolabe.lua:957: in function `AllWorldMapsHidden'
TomTom-237\libs\Astrolabe\AstrolabeMapMonitor.lua:168: in function <...AddOns\TomTom\libs\Astrolabe\AstrolabeMapMonitor.lua:160>
(tail call): ?:
TomTom-237\libs\Astrolabe\AstrolabeMapMonitor.lua:201: in function `OnEvent'
TomTom-237\libs\Astrolabe\AstrolabeMapMonitor.lua:230: in function <...AddOns\TomTom\libs\Astrolabe\AstrolabeMapMonitor.lua:229>
<in C code>: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:235: in function `UIParentLoadAddOn':
Interface\FrameXML\UIParent.lua:258: in function `CombatLog_LoadUI':
Interface\FrameXML\UIParent.lua:482: in function <Interface\FrameXML\UIParent.lua:454>:

Locals:
addonData = <table> {
 Options = <table> {}
 SlashCmds = <table> {}
 nUI = <table> {}
 OptionsUI = <table> {}
 Locale = "enUS"
 Frames = <table> {}
 Menu = <table> {}
 SavedVars = <table> {}
 Localization = <table> {}
 ScrollFrame = <table> {}
 WatchFrame = <table> {}
 Interface = <table> {}
}
f = SWF_WatchFrame_Container {
 Lines = WatchFrameLines {}
 OnLock = <function> @ ScrollingWatchFrame\SWF_Main.lua:304:
 0 = <userdata>
 Scroll = SWF_WatchFrame_ScrollFrame {}
 OnShow = <function> @ ScrollingWatchFrame\SWF_Main.lua:318:
 CollapseExpand = WatchFrameCollapseExpandButton {}
 Menu = WatchFrameOptionsButton {}
 Title = WatchFrameTitle {}
 ScrollBar = SWF_WatchFrame_ScrollFrameScrollBar {}
 Header = WatchFrameHeader {}
 OnUpdate = <function> @ ScrollingWatchFrame\SWF_Main.lua:312:
 Child = SWF_WatchFrame_ScrollChild {}
}

  ---
Code:
1x ScrollingWatchFrame-1.03.01\nUI_InfoPanel.lua:191: attempt to index local 'plugin' (a nil value)
ScrollingWatchFrame-1.03.01\SWF_Main.lua:307: in function `OnLock'
ScrollingWatchFrame-1.03.01\SWF_Main.lua:247: in function <ScrollingWatchFrame\SWF_Main.lua:187>
<in C code>: in function `WatchFrame_Update'
Interface\FrameXML\WatchFrame.lua:298: in function <Interface\FrameXML\WatchFrame.lua:296>:
<in C code>: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:235: in function `UIParentLoadAddOn':
Interface\FrameXML\UIParent.lua:258: in function `CombatLog_LoadUI':
Interface\FrameXML\UIParent.lua:482: in function <Interface\FrameXML\UIParent.lua:454>:

Locals:
addonData = <table> {
 Options = <table> {}
 SlashCmds = <table> {}
 nUI = <table> {}
 OptionsUI = <table> {}
 Locale = "enUS"
 Frames = <table> {}
 Menu = <table> {}
 SavedVars = <table> {}
 Localization = <table> {}
 ScrollFrame = <table> {}
 WatchFrame = <table> {}
 Interface = <table> {}
}
f = SWF_WatchFrame_Container {
 Lines = WatchFrameLines {}
 OnLock = <function> @ ScrollingWatchFrame\SWF_Main.lua:304:
 0 = <userdata>
 Scroll = SWF_WatchFrame_ScrollFrame {}
 OnShow = <function> @ ScrollingWatchFrame\SWF_Main.lua:318:
 CollapseExpand = WatchFrameCollapseExpandButton {}
 Menu = WatchFrameOptionsButton {}
 Title = WatchFrameTitle {}
 ScrollBar = SWF_WatchFrame_ScrollFrameScrollBar {}
 Header = WatchFrameHeader {}
 OnUpdate = <function> @ ScrollingWatchFrame\SWF_Main.lua:312:
 Child = SWF_WatchFrame_ScrollChild {}
}

  ---
Code:
13x ScrollingWatchFrame-1.03.01\nUI_InfoPanel.lua:191: attempt to index local 'plugin' (a nil value)
ScrollingWatchFrame-1.03.01\SWF_Main.lua:307: in function `OnLock'
ScrollingWatchFrame-1.03.01\SWF_Main.lua:247: in function <ScrollingWatchFrame\SWF_Main.lua:187>
<in C code>: in function `WatchFrame_Update'
Interface\FrameXML\WatchFrame.lua:265: in function <Interface\FrameXML\WatchFrame.lua:230>:

Locals:
addonData = <table> {
 Options = <table> {}
 SlashCmds = <table> {}
 nUI = <table> {}
 OptionsUI = <table> {}
 Locale = "enUS"
 Frames = <table> {}
 Menu = <table> {}
 SavedVars = <table> {}
 Localization = <table> {}
 ScrollFrame = <table> {}
 WatchFrame = <table> {}
 Interface = <table> {}
}
f = SWF_WatchFrame_Container {
 Lines = WatchFrameLines {}
 OnLock = <function> @ ScrollingWatchFrame\SWF_Main.lua:304:
 0 = <userdata>
 Scroll = SWF_WatchFrame_ScrollFrame {}
 OnShow = <function> @ ScrollingWatchFrame\SWF_Main.lua:318:
 CollapseExpand = WatchFrameCollapseExpandButton {}
 Menu = WatchFrameOptionsButton {}
 Title = WatchFrameTitle {}
 ScrollBar = SWF_WatchFrame_ScrollFrameScrollBar {}
 Header = WatchFrameHeader {}
 OnUpdate = <function> @ ScrollingWatchFrame\SWF_Main.lua:312:
 Child = SWF_WatchFrame_ScrollChild {}
}

  ---
Code:
5x ScrollingWatchFrame-1.03.01\nUI_InfoPanel.lua:191: attempt to index local 'plugin' (a nil value)
ScrollingWatchFrame-1.03.01\SWF_Main.lua:307: in function `OnLock'
ScrollingWatchFrame-1.03.01\SWF_Main.lua:247: in function <ScrollingWatchFrame\SWF_Main.lua:187>
<in C code>: in function `WatchFrame_Update'
Interface\FrameXML\WatchFrame.lua:274: in function <Interface\FrameXML\WatchFrame.lua:230>:

Locals:
addonData = <table> {
 Options = <table> {}
 SlashCmds = <table> {}
 nUI = <table> {}
 OptionsUI = <table> {}
 Locale = "enUS"
 Frames = <table> {}
 Menu = <table> {}
 SavedVars = <table> {}
 Localization = <table> {}
 ScrollFrame = <table> {}
 WatchFrame = <table> {}
 Interface = <table> {}
}
f = SWF_WatchFrame_Container {
 Lines = WatchFrameLines {}
 OnLock = <function> @ ScrollingWatchFrame\SWF_Main.lua:304:
 0 = <userdata>
 Scroll = SWF_WatchFrame_ScrollFrame {}
 OnShow = <function> @ ScrollingWatchFrame\SWF_Main.lua:318:
 CollapseExpand = WatchFrameCollapseExpandButton {}
 Menu = WatchFrameOptionsButton {}
 Title = WatchFrameTitle {}
 ScrollBar = SWF_WatchFrame_ScrollFrameScrollBar {}
 Header = WatchFrameHeader {}
 OnUpdate = <function> @ ScrollingWatchFrame\SWF_Main.lua:312:
 Child = SWF_WatchFrame_ScrollChild {}
}

  ---
Code:
1x ScrollingWatchFrame-1.03.01\nUI_InfoPanel.lua:191: attempt to index local 'plugin' (a nil value)
ScrollingWatchFrame-1.03.01\SWF_Main.lua:307: in function `OnLock'
ScrollingWatchFrame-1.03.01\SWF_Main.lua:247: in function <ScrollingWatchFrame\SWF_Main.lua:187>
<in C code>: in function `WatchFrame_Update'
ScrollingWatchFrame-1.03.01\SWF_Main.lua:314: in function `OnUpdate'
ScrollingWatchFrame-1.03.01\SWF_Main.lua:329: in function `OnShow'
ScrollingWatchFrame-1.03.01\SWF_Main.lua:382: in function <ScrollingWatchFrame\SWF_Main.lua:345>

Locals:
addonData = <table> {
 Options = <table> {}
 SlashCmds = <table> {}
 nUI = <table> {}
 OptionsUI = <table> {}
 Locale = "enUS"
 Frames = <table> {}
 Menu = <table> {}
 SavedVars = <table> {}
 Localization = <table> {}
 ScrollFrame = <table> {}
 WatchFrame = <table> {}
 Interface = <table> {}
}
f = SWF_WatchFrame_Container {
 Lines = WatchFrameLines {}
 OnLock = <function> @ ScrollingWatchFrame\SWF_Main.lua:304:
 0 = <userdata>
 Scroll = SWF_WatchFrame_ScrollFrame {}
 OnShow = <function> @ ScrollingWatchFrame\SWF_Main.lua:318:
 CollapseExpand = WatchFrameCollapseExpandButton {}
 Menu = WatchFrameOptionsButton {}
 Title = WatchFrameTitle {}
 ScrollBar = SWF_WatchFrame_ScrollFrameScrollBar {}
 Header = WatchFrameHeader {}
 OnUpdate = <function> @ ScrollingWatchFrame\SWF_Main.lua:312:
 Child = SWF_WatchFrame_ScrollChild {}
}
Shadowfeonix is offline Report comment to moderator  
Reply With Quote
Old 04-05-10, 10:35 AM  
Xrystal
nUI User and Supporter
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5025
File comments: 288
Uploads: 25
Just thought I would give you all a preview on what the new watchframe will look like with the changes set up in 1.04.00.



I'll add the options window/dropdown etc when I have them set up.

The screen is showing the quest level, the font changes, and the questdifficultycolor setting in place.
__________________
Xrystal is offline Report comment to moderator  
Reply With Quote
Old 03-29-10, 01:21 PM  
Xrystal
nUI User and Supporter
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5025
File comments: 288
Uploads: 25
Version 1.03.01 Changes Uploaded Now

-------------------------------------------------------------------
[Version 1.03.01]
-------------------------------------------------------------------
General Changes
  • Removed 3.3.2 specific code and switched to 3.3.3 full time
ScrollFrame.lua
  • Temporarily Unlock frame when hiding/showing subcomponents
  • Refresh ScrollBar Visibility based on conditions and place in reusable function
Interface.lua
  • Added the ability to create Drop Down Menus
SWF_SavedVars.lua
  • Removed ExpandedAnchor variables
  • Corrected defaults for CollapsedAnchor
SWF_Options.lua
  • Now holds updating of options data adjusted via the slash commands, options screen and options menu
SWF_SlashCommands.lua
  • Removed Menu and Screen setting up functions from here, it now only handles slash command functionality
SWF_Interface.lua
  • Interface Options Screen to handle just the options UI Screen functionality
SWF_Menu.lua
  • Interface Options Menu to handle just the Options Menu functionality
SWF_Main.lua
  • Use OnEnter to trigger a WatchFrame_Update call to refresh the frame again
  • Added Options Button
  • Created Drop Down Menu

Problems spotted so far :
The ScrollBar still sometimes gets stuck on display at awkward times. More noticeably when collapsed. All I can do is trap a mouse over the frame and toggling of the options frame to trigger an update of the frame and thus the scrollbar itself.
The nUI users are the worst hit with this bug as the = nil errors that we have been receiving on log in can sometimes wipe out the saved variables I painstakingly loaded and then saved. As long as they loaded fine the reloading of the UI should save them again and reload them. Although I have seen a full wipe of data doing as well as only a partial loss of data.
__________________
Xrystal is offline Report comment to moderator  
Reply With Quote
Old 03-27-10, 04:21 PM  
Xrystal
nUI User and Supporter
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5025
File comments: 288
Uploads: 25
1.03.01 Changes Coming Soon

Let me know if anyone still gets these problems as since .12 has been put on I can't get the problems to repeatedly appear. Also after this extra change. I'll do some more testing though to be on the safe side before releasing it.

As a recap these are the problems that I noticed prior to 3.3.3 going live:
1. After relogging in after collapsing it Blizzard will sometimes untrack quests - Blizzard Tracker doesn't keep collapse state to compare
27/3 Test : I think this again was linked to the options=nil errors. But will test further to be sure.
2. 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
27/3 Test : Not much I can do here but hope the options=nil error goes away in the long term to stop this problem happening. nUI isn't the only one getting this error though so not much we can do except work around the blizzard sneak changes they did.
3. If you play with the toggle multiple anchor setting while in a collapsed state it sometimes moves the collapsed window slightly
27/3 Test : Tried this again today and didn't manage to get the same problem happening. It was intermittent before so will keep testing it to be sure.
28/3 Test : Happened once today while working on 1.04.00 changes but not located the cause exactly yet. Perhaps it will resolve itself with the changes in 1.04.00.

4. 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
27/3 Test : Added an extra script function (OnEnter) to run the WatchFrame_Update again to refresh the changes made in the last run that will repeat a minute later but this way the user can speed the process up. It seems to be working pretty well so far.
28/3 Test : Still working as expected.

5. 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
27/3 Test : Despite many modes of collapse/expand, multi/single anchor, width/height it seems to dock and undock correctly first time round. Perhaps the bug that was happening here was more directly related to the nUI Options=nil error that seems to have stopped happening so far for me.
28/3 Test : Still docking and undocking with no problems. It may have resolved itself with the .12 nUI changes or it could be that the changes I have done for 1.03.00 and 1.03.01 resolved it somehow.


That said, I think by Monday or Tuesday next week I will release these fixes for those that want it and then keep working on the 1.04.00 changes.
__________________
Last edited by Xrystal : 03-28-10 at 09:40 AM.
Xrystal is offline Report comment to moderator  
Reply With Quote
Old 03-24-10, 10:50 PM  
Xrystal
nUI User and Supporter
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5025
File comments: 288
Uploads: 25
Planned 1.04.00 Changes

The initial post shows the version plan but this post details the actual planned changes.

1.03.xx will be left available for changes to the current version such as bug fixes and tweaks. I will work on both these intermediary changes as you request them whilst working long term on the following 1.04.00 goodies.

Please note that at present these are ideas that may or may not make it to the final release due to coding restrictions etc.

Propsective Changes:
  • Options Window
    • Reset Variables may be removed from here. 28/3 Gonna Leave It Here
    • Dock/UnDock may be removed from here. 28/3 Gonna Leave It Here
    • AutoHide may be removed from here. 28/3 Gonna Leave It Here
    • Lock may be removed from here. 28/3 Gonna Leave It Here
    • New: Font Options added here. See below for details.
    • New: Background Options enhanced here. See below for details.
  • New: Options Button on main Watch Frame Header 28/3 Done and Working
    • Left Click : Show the options window. 28/3 Done and Working
    • Right Click : Drop Down Menu with ... 28/3 Done and Working
      • AutoHide Toggle 28/3 Done and Working
      • Lock Toggle 28/3 Done and Working
      • Dock to InfoPanel 28/3 Done and Working
      • Reset to Defaults 28/3 Done and Working
  • New: LDB Menu and/or Minimap Button 28/3 No Minimap Button quite yet 29/3 No LDB either for the few options we will be having there. The one I made should be enough.
    • LDB Menu
      • Display: Current Version ? Dock/Lock/Hide Status ?
      • Left Click: Show Options
      • Right Click: Drop Down Menu with ...
        • AutoHide Toggle
        • Lock Toggle
        • Dock to InfoPanel
        • Reset to Defaults
      • Minimap Button
        • Left Click: Show Options
        • Right Click: Drop Down Menu with ...
          • AutoHide Toggle
          • Lock Toggle
          • Dock to InfoPanel
          • Reset to Defaults
  • New: Font Options
    • WatchFrameTitle:SetFont/GetFont usage - 3 Apr Looks Easy enough so far
      • Font Name
      • Font Size
      • Font Color if possible
    • WatchFrameLines:SetFont/GetFont usage - 3 Apr Okay, was a bit rocky at first but found a function I can hook into to make my changes.
      • Font Name
      • Font Size
      • Font Color if not already being done ( didn't notice yet )
  • New: BackGround Options
    • Not only the ability to toggle the use of a background but also ...
      • New: Border Style Change
      • New: Border Color Change
      • New: Background Color Change
      • New: Background Alpha Change
  • New: Anchor Point Options
    • Not only the multiple anchor toggle but also ...
      • TOPLEFT - default
      • TOPRIGHT
      • BOTTOMLEFT
      • BOTTOMRIGHT

I'll make changes to this as time goes on but if you can see other options that you would like added suggest away. As long as it doesn't cause a total re-write of my ties with the WatchFrame then I don't see a reason why I couldn't add it at some point.

I am going to try for a single Drop Down Menu that becomes attached to the mouse when you select certain options. If not I may have to make several menus that link to the same functionality. Whatever will be easier to control

28/3 Other Notes:
I have also separated the different ways of changing the settings into separate files. They can still access the required update routines but now the actually validating and creating of each interface/slashcommand/menu choice has its own file section.
EG. SWF_Menu, SWF_Interface, SWF_SlashCommands
Also, the OnUpdate routine for the SlashCommands in general now only updates information as a whole when the values have been reset. Otherwise each command/option/menu calls its relevant On<> Update<> function before calling the update for the rest. It seems at the moment as this has resolved the moving frame problem when opening the options screen but only time will tell.

If this does indeed solve the problem I will make the changes so far into the 1.03.01 change and add the extra option settings in 1.04.00 as initially suggested.

29/3 Update:
Well, as you can see I updated the 1.03.01 version with the basis of the 1.04.00 code in place ready for the new changes to be added. It also fixed some of the bugs that were spotted ( hopefully ). Next phase of 1.04.00 is to incorporate the font/background and anchor changes.

1/4 Update:
Okay, it's not brilliant but think I got it as best as I can. It now uses the size of the font used and works out the best width/height to display the frame at. I couldn't do much more as the information I need access to are local to the Blizzard version of WatchFrame.lua and thus inaccessible to me. It takes the width into account and scrolls onto the next line. But here is where it goes wrong. If the line is unexpectedly moved to a third line ( and not all 3+ line texts have this problem ) it sometimes messes up the display. So, changing the font will also mean changing the width unfortunately. I will rearrange the min and max widths of the frame to reflect the min and max font sizes available but the rest is up to the user to work out.
Also, nUI users will be able to gain access to the fonts that are available to nUI. It will take time to work it all out due to the fonts being localised but I should be able to get the US and GB versions working with little problem and will work the others in once I get translations for the other languages.
And in addition to that I will probably add a custom group of fonts for people that have shared media etc and MSBT if people have it installed. The frame resizing seems to work well with whatever font and sizing I throw at it in code but the final tests will be done once I have the font changing system in game as well.

5/4 Update:
Well, with the help of Jaliborc's Levelland, I learnt the ability to tap into the WatchFrame's Objective Handlers. It didn't help me with the font changing which is still tapped into the WatchFrame_SetLine Hooked Function but it did help me plug in the option of displaying level numbers and difficulty color text in the frame. That functionality I have in place already and testing it out myself so once I have the actual options set up to change it all it should be almost ready to upload. Also, and I just noticed this on my lowbie who has tons of quests now rofl, but the watchframe can only track as many quests that can be logged... So, that puts my theory that you can track as many as you want at of the window. I am loathe to adjust the quest log max count just in case it affects other stuff. So, for the moment I will set the watch count to the quest log max number. So 25 will be the max unfortunately.

11/4 Update:
Well, after looking into how I was going to deal with the font and display options I realised the way I was creating my frames weren't as reusable as I had designed them to be so I have been spending the last week building up a set of files to plug into any projects of a similar vein without needing a single code change mwahaha. So far so good. I now have a working model of a docked scrolling watch frame with font/levels/ids optionally working but currently not on the fly. I now need to build in the on the fly changes the current scroll frame has and make sure that it still does what it has been doing if not even better rofl. And then of course the options to add the fonts. The border and background changes may have to wait for a later revision but that will depend on how quickly I can work out which ones work with the current coding or if I need to recode the background display of the scroll frame. I can however confirm that the limits of 25 quests and 10 achievements are the most that can be tracked. I can only assume that the function used to add the item to the tracker is coded with a different set of values to those in the lua files we have access to. Although I could change the display of the max quests on the quest log it wouldn't let me accept a new quest. *sigh* .. So it looks like we are limited to 10 achievements and 25 quests.
__________________
Last edited by Xrystal : 04-11-10 at 06:15 PM.
Xrystal is offline Report comment to moderator  
Reply With Quote
Old 03-23-10, 05:49 AM  
Xrystal
nUI User and Supporter
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5025
File comments: 288
Uploads: 25
Version 1.03.00 Changes

Please bear in mind this has not been fully tested on 3.3.2 Live yet but with 3.3.3 going live today it's just the case of holding out till it does. My apologies for not incorporating the font changes but the new watchframe changes they incorporated in 3.3.3 were causing no end of problems. I will try to concentrate on that next.


-------------------------------------------------------------------
[Version 1.03.00]
-------------------------------------------------------------------

All Generic files
-->Now uses their own version pattern 0.xx.xx so as to not confuse over multiple addons
WatchFrame.lua
-->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

ScrollFrame.lua
-->Can drag with left and right button
-->Moved Resize of ScrollSize to onResize Function

SWF_SlashCommands.lua
-->Check the AutoHide status of the frame
-->Update unused Anchor as well

SWF_SavedVars.lua
-->Use PEW as well as VariablesLoaded Event to ensure data available
-->Added UserCollapsed Variable to Saved Variables

SWF_Main.lua
-->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
__________________
Last edited by Xrystal : 03-23-10 at 05:50 AM.
Xrystal is offline Report comment to moderator  
Reply With Quote
Old 03-15-10, 03:15 PM  
Xrystal
nUI User and Supporter
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5025
File comments: 288
Uploads: 25
Future Changes

Just so you don't have to keep going to the first post each time I'll post the next set of planned changes ( which could be changed if unable to be done at the time ).

1.03.00 - Implementation of the 3.3.3 Test Server changes before it goes live if possible that will either work in 3.3.2 as well or will be an in test version until it goes live.

Current changes applied and in testing:
  • Multiple Anchor Option
    • This will involve only adding a single extra anchor, the compacted version. The expanded anchor will use the regular anchor which is also used if not using the multiple anchor option. A total of 2 different anchors.
    • 23 Mar Update
      • Opening Options Window : There seems to be a slight bug that happens sometimes when you open the options window. It only seems to happen if you open it while collapsed though.
  • Locked Options
    • Added Right Button for Dragging frame as I noticed it would sometimes cause the frame to move unexpectedly if you did accidently press the right mouse button.
    • 23 Mar Update
      • Confirmed still working as expected.
  • New: WiderWatchFrame options added in 3.3.3
    • Added ExpandedWidth value and UseExpandedWidth flag to WatchFrame with default settings. These are in place for use by people that may wish to utilise the Extra Wide Watch Frame option added in 3.3.3 but at present the addon doesn't process this or store the setting. If people request the option of a second width value to utilise that flag then it can be done with little problem *touches wood*.
    • New function WatchFrame_SetWidth hooked into to revert the width changes set by the default WatchFrame and use our settings instead. Seems to be working well so far and takes into account any future use we may make of the new WatchFrameWidth flag.
    • Added new event to watch for the WatchFrameWidth standard interface option change and to use the ExpandedWidth value instead of the DefaultWidth. Note that as I mentioned earlier at present these values are set to the same adjusted standard width and thus will be no difference when using the flag unless someone changes the addon to reflect it.
    • 23 Mar Update
      • Confirmed still working as expected.
  • New: Disabling of CollapseExpandButton added in 3.3.3
    • After watching when it is used I realised it works in conjunction with the filter option. So now have it working as expected. The addon now doesn't remove the re-parented items hide functions but instead deals with any changes the watch frame feels is required.
    • 23 Mar Update
      • Confirmed still working as expected. For InfoPanel/Dock mode it will stop the hiding of the frames as that causes more problems than solutions.
  • New:WatchFrameHeader button added in 3.3.3
    • Reparented WatchFrameHeader instead of WatchFrameTitle if it exists as this is the new watchframe header button that you can right click to get extra options.
    • 23 Mar Update
      • Confirmed still working as expected.
  • New: Sort Options added in 3.3.3
    • Proximity - Lists viewable watched quests in order of current location differences.
    • Difficulty ( Low/High ) - Lists in order of selected difficulty priority. Noticed that this changes the display size of the quests watched so you may need to extend the scroll size to compensate.
    • Manual - Rightclicking an individual quest allows you to move the selected quest as required.
    • 23 Mar Update
      • Confirmed still working as expected.
  • New: Filter Options added in 3.3.3
    • Achievements
      • If you have achievements to track, this option will allow you to display them or not. They will still be tracked but not visibly displayed.
    • Completed Quests
      • If you have quests to track, this option will allow you to display those of them that are completed. They will still be tracked but not visibly displayed.
    • Remote Quests
      • If you have quests to track, this option will allow you to display those of them that are not in your current location. They will still be tracked but not visibly displayed.
    • 23 Mar Update
      • Confirmed still working as expected. It seems that these settings are stored somewhere for restoration when you next log in.
  • AutoHide Option
    • Currently testing how the built in autohide works in relation to our scroll frame to see if our autohide option is no longer required.
    • 23 Mar Update
      • Confirmed now working as expected. Due to Blizzard not storing collapsed state between sessions occasionally logging out in a collapsed state will cause some quests to be untracked and thus affecting the display of the tracker. Just go back and track the ones you want again and it will refresh itself properly.
  • New: userCollapsed Status added in 3.3.3
    • userCollapsed is the collapsed status in regards to the user clicking the button. This was added to differentiate this way of collapsing and expanding as it now does it automatically due to the filter system. With a bit of tweaking it now seems to be working as expected. The addon will store both systemCollapse and userCollapse status and will reset the WatchFrame.collapsed and WatchFrame.userCollapsed status flags accordingly so that the WatchFrame_Update routine will do its stuff as if you had never logged out.
    • 23 Mar Update
      • Confirmed still working as expected.


If I do any changes to these or find some more I will adjust accordingly. Once I have it working without nUI installed I will test it with nUI and then finally test both again in 3.3.2 unless 3.3.3 goes live in the mean time rofl.

edit: 23rd March
Well looks like it goes live so I've done another test run to make sure it doesn't bug out too badly at least and will update shortly.
__________________
Last edited by Xrystal : 03-23-10 at 05:38 AM.
Xrystal is offline Report comment to moderator  
Reply With Quote
Old 03-14-10, 10:22 PM  
Xrystal
nUI User and Supporter
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5025
File comments: 288
Uploads: 25
Originally posted by MTRazeR
I like the multiple anchors and use it to place it where I want when minimized, no problems there. Just an idea that for those who choose not to use multiple anchors could still have an option as where they want the minimized tab to go. Basically it would do the math for them and when minimized would place it in one of the four corners.
Rofl I just realised what you meant here. I missed the important few words of 'for those who choose NOT to use multiple anchors' rofl. At present it ties to the topleft of the frame but I could add the option to change it. Maybe when I introduce the font stuff for 3.3.3 if I ever get the ability to get the Test Server's version to work *sigh*.
__________________
Xrystal is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: