my personal solution for this is using a bag addon that can highlight new items (i use AdiBags) because most quest rewards are not upgrades but rather i just pick the one that vendors for the highest price.
But as far as implementing this i would add a checkbox to each itemframe(which is equip-able) then when the user checks it off it will get equipped after you complete the quest
You would need to the following things:
modify each itemframe and add a checkbox
show/hide checkboxes on each itemframe when the quest dialog updates/shows
prehook the Complete Quest button so that you can record the itemids/strings of each checked of item
wait for your bags to update and make sure the item is in your bag
there is no secure code to worry about as far as i know (my ldb equipment manager allows me to switch equipment during combat( it switches weapons right away and then waits till out of combat to switch the rest) this however uses the equipment manager sets but i don't see what would stop you from doing in per item
all database addons/libs that i know of rely on wowhead to get their info (if its not easily available via the client at run time). most of these maintain their databases via a "miner" (script that can be run that will go to wowhead and parse/mine all the relevant info and spits out a lua file ready for use)
be aware of the fact that wowheads database is not always complete or 100% correct. for example it currently does not have any mining nodes for the new hyjal zone (thats why gathermate2_data is missing them as well)
just do it like my example have a separate function for your base frame but for all its children use the function i showed you it adjusts itself to whichever button calls it (self will always be the button calling it)
adding onenter/leave handlers is really your only option atm
however if you plan on adding more buttons that you should just make one onleave functions for them like this
F:SetScript("OnLeave", function()
if not B:IsMouseOver() then
Tooltip:Hide();
end
end
local function ButtonOnLeave(self)
if not self:GetParent():IsMouseOver() then
Tooltip:Hide();
end
end
B1:SetScript("OnLeave", ButtonOnLeave)
B2:SetScript("OnLeave", ButtonOnLeave)
B3:SetScript("OnLeave", ButtonOnLeave)
this reduces your memory footprint and makes it easier for you to change code since you are only dealing with one function instead of several that are exactly the same
there is no way to change the behavior of how aceconfig dialog works.
as far as InterfaceOptionsFrame_OpenToCategory goes thats just a standard blizzard api call to open to your config page it has no control over anything you do with aceconfigdialog
AceConfigDialog was never designed to give the author precise control over placement. it is dynamic in nature and as such if you resize the widow the widgets will reflow. if it matters that they should always be in a precise location than you will need to create your own options from scratch
or you have to write your optiontable so that it is not confusing no matter how the user looks at it
i use the the checkbox subgroup combination in GoblinVendorFilter to toggle all of the subgroup filters on/off works very well for this and keeps it as the "same" function of course you do not want it doing something totally different
0
But as far as implementing this i would add a checkbox to each itemframe(which is equip-able) then when the user checks it off it will get equipped after you complete the quest
You would need to the following things:
you will want to add some sort of function that checks that you are not in combat and delays any non weapons to be equipped when you exit combat
0
0
what are you using tables for that need resizing that is time sensitive?
0
0
0
be aware of the fact that wowheads database is not always complete or 100% correct. for example it currently does not have any mining nodes for the new hyjal zone (thats why gathermate2_data is missing them as well)
0
probably this one http://www.wowinterface.com/downloads/info12524-SBF3.2Beta.html
0
0
however if you plan on adding more buttons that you should just make one onleave functions for them like this
this reduces your memory footprint and makes it easier for you to change code since you are only dealing with one function instead of several that are exactly the same
0
(i have never used it myself so i wouldn't be able to help with that)
0
as far as InterfaceOptionsFrame_OpenToCategory goes thats just a standard blizzard api call to open to your config page it has no control over anything you do with aceconfigdialog
0
i would just respond with "Its another addon, as such not my problem. Have a nice day"
0
or you have to write your optiontable so that it is not confusing no matter how the user looks at it
0
0