Ideas/Notes
-----------
* Change next milestone in interface from "Next: 70 to HoF/ToES LFR" to "Next: 70 until 470"
  with a tooltip that shows all milestones and how long until reaching them.
** Show "-" and tooltip of "must be level 90" if too low.
** What would be shown in log?
** What would be shown if passed all milestones?
** Note: Not sure if this inside can be done inside an EditBox

* Geary icon needs a tooltip

* Geary options:
** If icon size is 55%, opening options sets it to 56%; 56% sets it to 57%. Some math is off.
** Icon position shouldn't change when icon size changes

* Use frame templates for repeat items (e.g. summary rows)?

* If inspecting yourself, you know your professions and can check for profession perks

* Missing EotBP on offhand weapon isn't the same as on main hand (no inline image or item link)
** Maybe only when both MH and OH are missing EotBP?

* Seen two cases where group tab hover and right click didn't work
** Last person in group that had enough people to cause scrolling
** No one in group
** Is related to being in combat when assigning onhover/onclick handlers?

* With 300+ database entries, rendering database rows all at once is a noticeable delay

--
After inspect group finished and most people were inspected, subsequent inspect group popped this.
Happens alot. An issue modifying a for pairs(t) table while still in a for loop?
Not sure if the issue is a delete from the table or an insert into the table -- or both?
Maybe should go through table, capture expired ids and callbacks, then go through expired ids,
  delete them from timers, then call callback???
Take a look at how AceTimers and other addons do this.
Replace custom timer frame onupdate handler with an Animation?
--
Date: 2013-12-15 18:59:38
ID: 1
Error occured in: Global
Count: 2
Message: invalid key to 'next'
Debug:
   [C]: (for generator)()
   Geary\Geary_Timer.lua:36:
      Geary\Geary_Timer.lua:33
Locals:
(*temporary) = <table> {
 57 = <table> {
 }
}
(*temporary) = 56

AddOns:
  Swatter, v5.18.5433 (PassionatePhascogale)
---


Under Consideration
-------------------
* Database:
** //Maybe:// Show details of inspection on hover/click
** //Maybe:// Sort by clicking on any column header
** //Maybe:// Filter results by Faction, Class, Level, etc
** //Maybe:// Ability to remove individual database entries
** //Doubtful:// Sync database entries with group, guild members, or specific players
** //Doubtful:// Store results for multiple specs
* Group:
** //Maybe:// Show details of inspection on hover/click
** //Maybe:// Sort by clicking on any column header
** //Maybe:// Show ^ and v icons for players above and below group's average iLevel
* Player:
** //Maybe:// Add hyperlinks explaining what's missing in summary text
** //Doubtful:// Add options to control the font of the summary text
** //Doubtful:// Empty sockets shown with their graphic
** //Doubtful:// In item tooltips, show set pieces worn and empty extra sockets of the inspected character
* Options:
** //Maybe:// Make options take effect immediately and have cancel revert to previous values
** //Maybe:// Options to configure mouse clicks for icon and Group/Database tab actions
* Detection:
** //Maybe:// When item level is scaled down, show true max as well as current scaled down
** //Maybe:// Detect non-rare MoP gems and non-MoP enchants
** //Maybe:// Show items with PvP stats
** //Maybe:// Show items with inappropriate stats (e.g. Prot Paladin wearing Intellect gear)
** //Maybe:// Detect unspent talent points
** //Doubtful:// Detection of profession perks (e.g. enchants on rings, sockets in bracers/hands, etc)
* UI:
** //Probably:// Scaling of Geary interface
** //Maybe:// LibDataBroker compatibility (display results and clicks for operations)
** //Maybe:// Store window locations in options so addon load failures don't force you to reposition them
** //Maybe:// Add non-English client support via localizations
** //Doubtful:// Inspection results added to player tooltips
** //Doubtful:// An optional minimap button that works like the icon and can integrate with Norganna SlideBar
** //Doubtful:// Resizing of Geary interface
** //Doubtful:// Detecting empty extra sockets from a belt buckle/EotBP instead of extra gems


Detecting extra sockets without gems
------------------------------------
Per http://wow.curseforge.com/addons/geary/tickets/1-does-not-detect-belt-buckle-if-no-gem-is-in-it/
I think Geary should detect the belt buckle and EotBP _socket_ and not the presence of an extra gem.
For reasons passing understanding, an item link withOUT the extra socket and with an empty extra
socket is the same. For example:

This is the base item's link with no gems and no belt buckle extra socket
|cffa335ee|Hitem:86903:0:0:0:0:0:0:0:90:0:445|h|[Protector's Girdle of Endless Spring]|h|r

This is the link for a belt with a belt buckle applied, but no gem in the empty Prismatic Socket
|cffa335ee|Hitem:86903:0:4607:0:0:0:0:0:90:0:445|h|[Protector's Girdle of Endless Spring]|h|r

And this is the same item WITH a gem in the belt buckle's socket
|cffa335ee|Hitem:86903:0:4607:4585:0:0:0:0:90:0:445|h|[Protector's Girdle of Endless Spring]|h|r

The only difference between these three links are the jewelIds when a gem is placed into a socket.

So then how does the Blizzard default inspect UI show the empty Prismatic Socket?
Magic! ... Well, almost. It uses GameTooltip:SetInventoryItem(unit, slotNumber).
SetInventoryItem has some special access to information beyond the item's link. It shows
the set pieces worn by the target as well as the extra empty sockets.

At this time, I don't want to convert Geary to use SetInventoryItem for tooltip parsing.
The biggest concern is that the item tooltips in the Log and Player tabs of the Geary
interface can only use SetInventoryItem if the their current target is still the target
they inspected and that target is in range. In this case, either all data for that player
would have to be removed (like the way the Blizzard inspection UI just vanishes) or Geary
could report an item is missing a gem (in an extra socket) but the tooltip wouldn't show it
(because it has to revert to SetHyperlink which doesn't show the extra socket).
