2016-04-01  Nenue  <Nenue>

[2698173edd40] [tip]
* ObjectiveFrame.lua, ObjectiveUI.lua, ObjectiveWidgets.xml:

ObjectiveUI & ObjectiveEvents
- securehook to API calls for compatibility with addons that work with the objective tracking interface
- let the API hooks invoke ObjectiveUI functions when possible
- ObjectiveUI framescript handlers should use the corresponding API call if possible, so that addon space can be fully aware of our actions
- Sanity check cached data when possible during 'Remove' hooks

ObjectiveInfo
- Add cheevID to criteria info

ObjectiveCore
- Index quest tracker blocks by their watch offset, and use that to verify whether the given block frame should be released into pool

ObjectiveFrame
- Differentiate between visible and non-visible unused buttons, and only release when their quest has been dropped
- Reset 'actualBlocks' count during full updates
- Reset scroll Position when the wrapper size shrinks


[7923243ae972]
* ObjectiveCore.lua, ObjectiveEvents.lua, ObjectiveFrame.lua, ObjectiveInfo.lua, ObjectiveUI.lua, ObjectiveWidgets.xml:

ObjectiveUI & ObjectiveEvents
- securehook to API calls for compatibility with addons that work with the objective tracking interface
- let the API hooks invoke ObjectiveUI functions when possible
- ObjectiveUI framescript handlers should use the corresponding API call if possible, so that addon space can be fully aware of our actions
- Sanity check cached data when possible during 'Remove' hooks

ObjectiveInfo
- Add cheevID to criteria info

ObjectiveCore
- Index quest tracker blocks by their watch offset, and use that to verify whether the given block frame should be released into pool

ObjectiveFrame
- Differentiate between visible and non-visible unused buttons, and only release when their quest has been dropped


[5301c68f28d8]
* BuffButton.lua, ObjectiveFrame.lua, ObjectiveUI.lua, ObjectiveWidgets.xml:

TrackerBlock
- use IsModifiedClick function to determine appropriate OnClick actions
 - handle 'CHATLINK' modifier
 - handle 'TOGGLEQUESTWATCH' modifier

TrackerBlockObjectives
- use a generic framework to manage frame creation for various criteria tracker types:
 - ProgressBar when Blizzard flag data indicates so
 - skip when Blizzard flag data indicates so
 - DynamicText otherwise
 - events related to the criteria are registered in the criteria frame, and unregistered when the frame is hidden, either by destruction of its parent or completion


[589de8ea05b9]
* ObjectiveCore.lua, ObjectiveEvents.lua, ObjectiveFrame.lua, ObjectiveInfo.lua, ObjectiveTracker.lua, ObjectiveTracker.xml, ObjectiveUI.lua:

- validate tracked objects' existence by use of those handler.Info tables we made
- apply collision checking to action buttons when their corresponding entry has scrolled out


2016-03-31  Nenue  <Nenue>

[e9b61fd5f607]
* ObjectiveFrame.lua, ObjectiveInfo.lua, ObjectiveUI.lua:

- use IsQuestWatched as the determinant for setting action button updates
- check for block match-up in deferred action button updates


[18eee961038e]
* ObjectiveFrame.lua:

- more action button debug


[3397aae1f44d]
* Core.xml, Init.lua, ObjectiveFrame.lua, ObjectiveInfo.lua, ObjectiveTracker.lua, ObjectiveTracker.xml, ObjectiveUI.lua, ObjectiveWidgets.xml:

- use the correct key value when searching for action buttons
- handle pre-built frames from XML


[a2396b03ce63]
* ObjectiveEvents.lua, ObjectiveFrame.lua, ObjectiveInfo.lua, ObjectiveTracker.lua, ObjectiveTracker.xml, ObjectiveUI.lua:

- identify action buttons by the associated QuestID instead of QuestLogIndex
- deferred button placement in general to a self-destructing OnUpdate
-- and defer self-destruct to a end of combat event if InCombatLockdown

- tracker wrapper has an experience/reputation bar; the two elements "feel" related and it's a very simple info display


2016-03-30  Nenue  <Nenue>

[b0447b382f36]
* BuffButton.lua, ObjectiveEvents.lua, ObjectiveFrame.lua, ObjectiveInfo.lua, ObjectiveSecure.xml, ObjectiveTracker.lua, ObjectiveTracker.xml, ObjectiveUI.lua:

sorting client events from maintenance logic
implemented all that action buttons entail for quest items


[3dbcad2b387d]
* BuffAnchors.lua, BuffButton.lua, BuffFrame.xml, Config.lua, Constants.lua, Core.xml, Init.lua, ObjectiveInfo.lua, ObjectiveTracker.lua, ObjectiveTracker.xml, ObjectiveUI.lua, RaidBuffTray.lua, Veneer.toc:

initial push


