From c74a66779ecaecf2a664196f7db501d5bb282540 Mon Sep 17 00:00:00 2001 From: ELLIOTTCABLE Date: Fri, 19 Jun 2015 04:53:25 -0700 Subject: [PATCH] (new) Ugh, StatBlockCore is unusably inconfigurable. Adding ChocolateBar. --- .../Broker_Equipment/Broker_Equipment.lua | 245 +++ .../Broker_Equipment/Broker_Equipment.toc | 17 + .../AddOns/Broker_Equipment/CHANGELOG.md | 129 ++ Interface/AddOns/Broker_Equipment/LICENSE | 34 + .../CallbackHandler/CallbackHandler-1.0.lua | 238 ++ .../CallbackHandler/CallbackHandler-1.0.xml | 4 + .../LibDataBroker/LibDataBroker-1.1.lua | 90 + .../embeds/LibDataBroker/README.textile | 13 + .../embeds/LibStub/LibStub.lua | 51 + .../embeds/LibStub/LibStub.toc | 13 + .../embeds/LibStub/tests/test.lua | 41 + .../embeds/LibStub/tests/test2.lua | 27 + .../embeds/LibStub/tests/test3.lua | 14 + .../embeds/LibStub/tests/test4.lua | 41 + Interface/AddOns/ChocolateBar/Bar.lua | 562 +++++ .../Changelog-ChocolateBar-v2.4.3.txt | 16 + Interface/AddOns/ChocolateBar/Chocolate.lua | 355 +++ .../AddOns/ChocolateBar/ChocolateBar.toc | 44 + Interface/AddOns/ChocolateBar/Core.lua | 610 +++++ Interface/AddOns/ChocolateBar/DragAndDrop.lua | 89 + .../AddOns/ChocolateBar/MoreChocolate.lua | 138 ++ .../libs/AceAddon-3.0/AceAddon-3.0.lua | 674 ++++++ .../libs/AceAddon-3.0/AceAddon-3.0.xml | 4 + .../libs/AceConsole-3.0/AceConsole-3.0.lua | 250 +++ .../libs/AceConsole-3.0/AceConsole-3.0.xml | 4 + .../ChocolateBar/libs/AceDB-3.0/AceDB-3.0.lua | 745 +++++++ .../ChocolateBar/libs/AceDB-3.0/AceDB-3.0.xml | 4 + .../libs/AceEvent-3.0/AceEvent-3.0.lua | 126 ++ .../libs/AceEvent-3.0/AceEvent-3.0.xml | 4 + .../libs/AceLocale-3.0/AceLocale-3.0.lua | 137 ++ .../libs/AceLocale-3.0/AceLocale-3.0.xml | 4 + .../CallbackHandler-1.0.lua | 240 ++ .../CallbackHandler-1.0.xml | 4 + .../LibDataBroker-1.1/LibDataBroker-1.1.lua | 90 + .../libs/LibJostle-3.0/LibJostle-3.0.lua | 555 +++++ .../libs/LibJostle-3.0/LibJostle-3.0.toc | 16 + .../libs/LibJostle-3.0/LibStub/LibStub.lua | 51 + .../libs/LibJostle-3.0/LibStub/LibStub.toc | 13 + .../libs/LibJostle-3.0/LibStub/tests/test.lua | 41 + .../LibJostle-3.0/LibStub/tests/test2.lua | 27 + .../LibJostle-3.0/LibStub/tests/test3.lua | 14 + .../LibJostle-3.0/LibStub/tests/test4.lua | 41 + .../ChocolateBar/libs/LibJostle-3.0/lib.xml | 4 + .../LibSharedMedia-3.0/LibSharedMedia-3.0.lua | 274 +++ .../libs/LibSharedMedia-3.0/lib.xml | 4 + .../ChocolateBar/libs/LibStub/LibStub.lua | 51 + .../ChocolateBar/libs/LibStub/LibStub.toc | 13 + .../ChocolateBar/libs/LibStub/tests/test.lua | 41 + .../ChocolateBar/libs/LibStub/tests/test2.lua | 27 + .../ChocolateBar/libs/LibStub/tests/test3.lua | 14 + .../ChocolateBar/libs/LibStub/tests/test4.lua | 41 + .../AddOns/ChocolateBar/localization/deDE.lua | 121 + .../AddOns/ChocolateBar/localization/enUS.lua | 132 ++ .../AddOns/ChocolateBar/localization/esES.lua | 121 + .../AddOns/ChocolateBar/localization/esMX.lua | 121 + .../AddOns/ChocolateBar/localization/frFR.lua | 121 + .../AddOns/ChocolateBar/localization/itIT.lua | 121 + .../AddOns/ChocolateBar/localization/koKR.lua | 121 + .../AddOns/ChocolateBar/localization/ptBR.lua | 121 + .../AddOns/ChocolateBar/localization/ruRU.lua | 121 + .../AddOns/ChocolateBar/localization/zhCN.lua | 121 + .../AddOns/ChocolateBar/localization/zhTW.lua | 121 + .../ChocolateBar/pics/ChocolatePiece.tga | Bin 0 -> 2019 bytes .../AddOns/ChocolateBar/pics/DarkBottom.tga | Bin 0 -> 24594 bytes Interface/AddOns/ChocolateBar/pics/Gloss.tga | Bin 0 -> 32812 bytes Interface/AddOns/ChocolateBar/pics/Titan.tga | Bin 0 -> 34949 bytes Interface/AddOns/ChocolateBar/pics/Tribal.tga | Bin 0 -> 15990 bytes Interface/AddOns/ChocolateBar/pics/X-Perl.tga | Bin 0 -> 2623 bytes .../AddOns/ChocolateBar/pics/pointer.tga | Bin 0 -> 2072 bytes .../ChocolateBar_Options.toc | 22 + .../AddOns/ChocolateBar_Options/Options.lua | 1669 ++++++++++++++ .../libs/AceConfig-3.0/AceConfig-3.0.lua | 57 + .../libs/AceConfig-3.0/AceConfig-3.0.xml | 8 + .../AceConfigCmd-3.0/AceConfigCmd-3.0.lua | 794 +++++++ .../AceConfigCmd-3.0/AceConfigCmd-3.0.xml | 4 + .../AceConfigDialog-3.0.lua | 1955 +++++++++++++++++ .../AceConfigDialog-3.0.xml | 4 + .../AceConfigRegistry-3.0.lua | 348 +++ .../AceConfigRegistry-3.0.xml | 4 + .../AceDBOptions-3.0/AceDBOptions-3.0.lua | 440 ++++ .../AceDBOptions-3.0/AceDBOptions-3.0.xml | 4 + .../BackgroundWidget.lua | 235 ++ .../BorderWidget.lua | 230 ++ .../FontWidget.lua | 216 ++ .../Libs/AceGUI-3.0/AceGUI-3.0.lua | 813 +++++++ .../Libs/AceGUI-3.0/AceGUI-3.0.xml | 28 + .../AceGUIContainer-BlizOptionsGroup.lua | 138 ++ .../widgets/AceGUIContainer-DropDownGroup.lua | 157 ++ .../widgets/AceGUIContainer-Frame.lua | 311 +++ .../widgets/AceGUIContainer-InlineGroup.lua | 103 + .../widgets/AceGUIContainer-ScrollFrame.lua | 204 ++ .../widgets/AceGUIContainer-SimpleGroup.lua | 69 + .../widgets/AceGUIContainer-TabGroup.lua | 350 +++ .../widgets/AceGUIContainer-TreeGroup.lua | 707 ++++++ .../widgets/AceGUIContainer-Window.lua | 331 +++ .../widgets/AceGUIWidget-Button.lua | 109 + .../widgets/AceGUIWidget-CheckBox.lua | 295 +++ .../widgets/AceGUIWidget-ColorPicker.lua | 188 ++ .../widgets/AceGUIWidget-DropDown-Items.lua | 471 ++++ .../widgets/AceGUIWidget-DropDown.lua | 737 +++++++ .../widgets/AceGUIWidget-EditBox.lua | 261 +++ .../widgets/AceGUIWidget-Heading.lua | 78 + .../AceGUI-3.0/widgets/AceGUIWidget-Icon.lua | 144 ++ .../widgets/AceGUIWidget-InteractiveLabel.lua | 101 + .../widgets/AceGUIWidget-Keybinding.lua | 239 ++ .../AceGUI-3.0/widgets/AceGUIWidget-Label.lua | 166 ++ .../widgets/AceGUIWidget-MultiLineEditBox.lua | 368 ++++ .../widgets/AceGUIWidget-Slider.lua | 285 +++ .../CallbackHandler-1.0.lua | 239 ++ .../CallbackHandler-1.0.xml | 4 + .../Libs/LibStub/LibStub.lua | 30 + .../Libs/LibStub/LibStub.toc | 13 + .../SoundWidget.lua | 264 +++ .../StatusbarWidget.lua | 233 ++ .../prototypes.lua | 275 +++ .../AceGUI-3.0-SharedMediaWidgets/widget.xml | 9 + .../libs/AceGUI-3.0/AceGUI-3.0.lua | 813 +++++++ .../libs/AceGUI-3.0/AceGUI-3.0.xml | 28 + .../AceGUIContainer-BlizOptionsGroup.lua | 138 ++ .../widgets/AceGUIContainer-DropDownGroup.lua | 157 ++ .../widgets/AceGUIContainer-Frame.lua | 311 +++ .../widgets/AceGUIContainer-InlineGroup.lua | 103 + .../widgets/AceGUIContainer-ScrollFrame.lua | 204 ++ .../widgets/AceGUIContainer-SimpleGroup.lua | 69 + .../widgets/AceGUIContainer-TabGroup.lua | 350 +++ .../widgets/AceGUIContainer-TreeGroup.lua | 707 ++++++ .../widgets/AceGUIContainer-Window.lua | 331 +++ .../widgets/AceGUIWidget-Button.lua | 109 + .../widgets/AceGUIWidget-CheckBox.lua | 295 +++ .../widgets/AceGUIWidget-ColorPicker.lua | 188 ++ .../widgets/AceGUIWidget-DropDown-Items.lua | 471 ++++ .../widgets/AceGUIWidget-DropDown.lua | 737 +++++++ .../widgets/AceGUIWidget-EditBox.lua | 261 +++ .../widgets/AceGUIWidget-Heading.lua | 78 + .../AceGUI-3.0/widgets/AceGUIWidget-Icon.lua | 144 ++ .../widgets/AceGUIWidget-InteractiveLabel.lua | 101 + .../widgets/AceGUIWidget-Keybinding.lua | 239 ++ .../AceGUI-3.0/widgets/AceGUIWidget-Label.lua | 166 ++ .../widgets/AceGUIWidget-MultiLineEditBox.lua | 368 ++++ .../widgets/AceGUIWidget-Slider.lua | 285 +++ .../Changelog-DungeonHelper-v2.3.8.txt | 15 + .../AddOns/DungeonHelper/DungeonHelper.lua | 998 +++++++++ .../AddOns/DungeonHelper/DungeonHelper.toc | 32 + .../DungeonHelper/LibDataBroker-1.1.lua | 90 + .../libs/AceAddon-3.0/AceAddon-3.0.lua | 674 ++++++ .../libs/AceAddon-3.0/AceAddon-3.0.xml | 4 + .../libs/AceConfig-3.0/AceConfig-3.0.lua | 57 + .../libs/AceConfig-3.0/AceConfig-3.0.xml | 8 + .../AceConfigCmd-3.0/AceConfigCmd-3.0.lua | 794 +++++++ .../AceConfigCmd-3.0/AceConfigCmd-3.0.xml | 4 + .../AceConfigDialog-3.0.lua | 1955 +++++++++++++++++ .../AceConfigDialog-3.0.xml | 4 + .../AceConfigRegistry-3.0.lua | 348 +++ .../AceConfigRegistry-3.0.xml | 4 + .../libs/AceConsole-3.0/AceConsole-3.0.lua | 250 +++ .../libs/AceConsole-3.0/AceConsole-3.0.xml | 4 + .../libs/AceDB-3.0/AceDB-3.0.lua | 745 +++++++ .../libs/AceDB-3.0/AceDB-3.0.xml | 4 + .../AceDBOptions-3.0/AceDBOptions-3.0.lua | 440 ++++ .../AceDBOptions-3.0/AceDBOptions-3.0.xml | 4 + .../libs/AceEvent-3.0/AceEvent-3.0.lua | 126 ++ .../libs/AceEvent-3.0/AceEvent-3.0.xml | 4 + .../BackgroundWidget.lua | 235 ++ .../BorderWidget.lua | 230 ++ .../FontWidget.lua | 216 ++ .../Libs/AceGUI-3.0/AceGUI-3.0.lua | 813 +++++++ .../Libs/AceGUI-3.0/AceGUI-3.0.xml | 28 + .../AceGUIContainer-BlizOptionsGroup.lua | 138 ++ .../widgets/AceGUIContainer-DropDownGroup.lua | 157 ++ .../widgets/AceGUIContainer-Frame.lua | 311 +++ .../widgets/AceGUIContainer-InlineGroup.lua | 103 + .../widgets/AceGUIContainer-ScrollFrame.lua | 204 ++ .../widgets/AceGUIContainer-SimpleGroup.lua | 69 + .../widgets/AceGUIContainer-TabGroup.lua | 350 +++ .../widgets/AceGUIContainer-TreeGroup.lua | 707 ++++++ .../widgets/AceGUIContainer-Window.lua | 331 +++ .../widgets/AceGUIWidget-Button.lua | 109 + .../widgets/AceGUIWidget-CheckBox.lua | 295 +++ .../widgets/AceGUIWidget-ColorPicker.lua | 188 ++ .../widgets/AceGUIWidget-DropDown-Items.lua | 471 ++++ .../widgets/AceGUIWidget-DropDown.lua | 737 +++++++ .../widgets/AceGUIWidget-EditBox.lua | 261 +++ .../widgets/AceGUIWidget-Heading.lua | 78 + .../AceGUI-3.0/widgets/AceGUIWidget-Icon.lua | 144 ++ .../widgets/AceGUIWidget-InteractiveLabel.lua | 101 + .../widgets/AceGUIWidget-Keybinding.lua | 239 ++ .../AceGUI-3.0/widgets/AceGUIWidget-Label.lua | 166 ++ .../widgets/AceGUIWidget-MultiLineEditBox.lua | 368 ++++ .../widgets/AceGUIWidget-Slider.lua | 285 +++ .../CallbackHandler-1.0.lua | 239 ++ .../CallbackHandler-1.0.xml | 4 + .../Libs/LibStub/LibStub.lua | 30 + .../Libs/LibStub/LibStub.toc | 13 + .../SoundWidget.lua | 264 +++ .../StatusbarWidget.lua | 233 ++ .../prototypes.lua | 275 +++ .../AceGUI-3.0-SharedMediaWidgets/widget.xml | 9 + .../libs/AceGUI-3.0/AceGUI-3.0.lua | 813 +++++++ .../libs/AceGUI-3.0/AceGUI-3.0.xml | 28 + .../AceGUIContainer-BlizOptionsGroup.lua | 138 ++ .../widgets/AceGUIContainer-DropDownGroup.lua | 157 ++ .../widgets/AceGUIContainer-Frame.lua | 311 +++ .../widgets/AceGUIContainer-InlineGroup.lua | 103 + .../widgets/AceGUIContainer-ScrollFrame.lua | 204 ++ .../widgets/AceGUIContainer-SimpleGroup.lua | 69 + .../widgets/AceGUIContainer-TabGroup.lua | 350 +++ .../widgets/AceGUIContainer-TreeGroup.lua | 707 ++++++ .../widgets/AceGUIContainer-Window.lua | 331 +++ .../widgets/AceGUIWidget-Button.lua | 109 + .../widgets/AceGUIWidget-CheckBox.lua | 295 +++ .../widgets/AceGUIWidget-ColorPicker.lua | 188 ++ .../widgets/AceGUIWidget-DropDown-Items.lua | 471 ++++ .../widgets/AceGUIWidget-DropDown.lua | 737 +++++++ .../widgets/AceGUIWidget-EditBox.lua | 261 +++ .../widgets/AceGUIWidget-Heading.lua | 78 + .../AceGUI-3.0/widgets/AceGUIWidget-Icon.lua | 144 ++ .../widgets/AceGUIWidget-InteractiveLabel.lua | 101 + .../widgets/AceGUIWidget-Keybinding.lua | 239 ++ .../AceGUI-3.0/widgets/AceGUIWidget-Label.lua | 166 ++ .../widgets/AceGUIWidget-MultiLineEditBox.lua | 368 ++++ .../widgets/AceGUIWidget-Slider.lua | 285 +++ .../libs/AceLocale-3.0/AceLocale-3.0.lua | 137 ++ .../libs/AceLocale-3.0/AceLocale-3.0.xml | 4 + .../libs/AceTimer-3.0/AceTimer-3.0.lua | 276 +++ .../libs/AceTimer-3.0/AceTimer-3.0.xml | 4 + .../CallbackHandler-1.0.lua | 238 ++ .../CallbackHandler-1.0.xml | 4 + .../CallbackHandler-1.0.lua | 240 ++ .../libs/LibCandyBar-3.0/LibCandyBar-3.0.toc | 15 + .../LibCandyBar-3.0/LibCandyBar-3.0.lua | 340 +++ .../LibCandyBar-3.0/LibCandyBar-3.0/lib.xml | 7 + .../libs/LibCandyBar-3.0/LibStub/LibStub.lua | 51 + .../libs/LibCandyBar-3.0/embeds.xml | 8 + .../libs/LibCandyBar-3.0/lib.xml | 7 + .../LibSharedMedia-3.0/LibSharedMedia-3.0.lua | 274 +++ .../libs/LibSharedMedia-3.0/lib.xml | 4 + .../DungeonHelper/libs/LibStub/LibStub.lua | 51 + .../DungeonHelper/libs/LibStub/LibStub.toc | 13 + .../DungeonHelper/libs/LibStub/tests/test.lua | 41 + .../libs/LibStub/tests/test2.lua | 27 + .../libs/LibStub/tests/test3.lua | 14 + .../libs/LibStub/tests/test4.lua | 41 + .../AddOns/DungeonHelper/localization.lua | 657 ++++++ .../AddOns/DungeonHelper/media/alert.mp3 | Bin 0 -> 147571 bytes Interface/AddOns/DungeonHelper/media/dps.tga | Bin 0 -> 15597 bytes .../AddOns/DungeonHelper/media/dps_grey.tga | Bin 0 -> 15217 bytes Interface/AddOns/DungeonHelper/media/heal.tga | Bin 0 -> 15069 bytes .../AddOns/DungeonHelper/media/heal_grey.tga | Bin 0 -> 14696 bytes Interface/AddOns/DungeonHelper/media/lfg.tga | Bin 0 -> 2322 bytes Interface/AddOns/DungeonHelper/media/tank.tga | Bin 0 -> 14632 bytes .../AddOns/DungeonHelper/media/tank_grey.tga | Bin 0 -> 14424 bytes 251 files changed, 52060 insertions(+) create mode 100644 Interface/AddOns/Broker_Equipment/Broker_Equipment.lua create mode 100644 Interface/AddOns/Broker_Equipment/Broker_Equipment.toc create mode 100644 Interface/AddOns/Broker_Equipment/CHANGELOG.md create mode 100644 Interface/AddOns/Broker_Equipment/LICENSE create mode 100644 Interface/AddOns/Broker_Equipment/embeds/CallbackHandler/CallbackHandler-1.0.lua create mode 100644 Interface/AddOns/Broker_Equipment/embeds/CallbackHandler/CallbackHandler-1.0.xml create mode 100644 Interface/AddOns/Broker_Equipment/embeds/LibDataBroker/LibDataBroker-1.1.lua create mode 100644 Interface/AddOns/Broker_Equipment/embeds/LibDataBroker/README.textile create mode 100644 Interface/AddOns/Broker_Equipment/embeds/LibStub/LibStub.lua create mode 100644 Interface/AddOns/Broker_Equipment/embeds/LibStub/LibStub.toc create mode 100644 Interface/AddOns/Broker_Equipment/embeds/LibStub/tests/test.lua create mode 100644 Interface/AddOns/Broker_Equipment/embeds/LibStub/tests/test2.lua create mode 100644 Interface/AddOns/Broker_Equipment/embeds/LibStub/tests/test3.lua create mode 100644 Interface/AddOns/Broker_Equipment/embeds/LibStub/tests/test4.lua create mode 100644 Interface/AddOns/ChocolateBar/Bar.lua create mode 100644 Interface/AddOns/ChocolateBar/Changelog-ChocolateBar-v2.4.3.txt create mode 100644 Interface/AddOns/ChocolateBar/Chocolate.lua create mode 100644 Interface/AddOns/ChocolateBar/ChocolateBar.toc create mode 100644 Interface/AddOns/ChocolateBar/Core.lua create mode 100644 Interface/AddOns/ChocolateBar/DragAndDrop.lua create mode 100644 Interface/AddOns/ChocolateBar/MoreChocolate.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/AceAddon-3.0/AceAddon-3.0.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/AceAddon-3.0/AceAddon-3.0.xml create mode 100644 Interface/AddOns/ChocolateBar/libs/AceConsole-3.0/AceConsole-3.0.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/AceConsole-3.0/AceConsole-3.0.xml create mode 100644 Interface/AddOns/ChocolateBar/libs/AceDB-3.0/AceDB-3.0.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/AceDB-3.0/AceDB-3.0.xml create mode 100644 Interface/AddOns/ChocolateBar/libs/AceEvent-3.0/AceEvent-3.0.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/AceEvent-3.0/AceEvent-3.0.xml create mode 100644 Interface/AddOns/ChocolateBar/libs/AceLocale-3.0/AceLocale-3.0.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/AceLocale-3.0/AceLocale-3.0.xml create mode 100644 Interface/AddOns/ChocolateBar/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/CallbackHandler-1.0/CallbackHandler-1.0.xml create mode 100644 Interface/AddOns/ChocolateBar/libs/LibDataBroker-1.1/LibDataBroker-1.1.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/LibJostle-3.0/LibJostle-3.0.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/LibJostle-3.0/LibJostle-3.0.toc create mode 100644 Interface/AddOns/ChocolateBar/libs/LibJostle-3.0/LibStub/LibStub.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/LibJostle-3.0/LibStub/LibStub.toc create mode 100644 Interface/AddOns/ChocolateBar/libs/LibJostle-3.0/LibStub/tests/test.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/LibJostle-3.0/LibStub/tests/test2.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/LibJostle-3.0/LibStub/tests/test3.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/LibJostle-3.0/LibStub/tests/test4.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/LibJostle-3.0/lib.xml create mode 100644 Interface/AddOns/ChocolateBar/libs/LibSharedMedia-3.0/LibSharedMedia-3.0.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/LibSharedMedia-3.0/lib.xml create mode 100644 Interface/AddOns/ChocolateBar/libs/LibStub/LibStub.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/LibStub/LibStub.toc create mode 100644 Interface/AddOns/ChocolateBar/libs/LibStub/tests/test.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/LibStub/tests/test2.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/LibStub/tests/test3.lua create mode 100644 Interface/AddOns/ChocolateBar/libs/LibStub/tests/test4.lua create mode 100644 Interface/AddOns/ChocolateBar/localization/deDE.lua create mode 100644 Interface/AddOns/ChocolateBar/localization/enUS.lua create mode 100644 Interface/AddOns/ChocolateBar/localization/esES.lua create mode 100644 Interface/AddOns/ChocolateBar/localization/esMX.lua create mode 100644 Interface/AddOns/ChocolateBar/localization/frFR.lua create mode 100644 Interface/AddOns/ChocolateBar/localization/itIT.lua create mode 100644 Interface/AddOns/ChocolateBar/localization/koKR.lua create mode 100644 Interface/AddOns/ChocolateBar/localization/ptBR.lua create mode 100644 Interface/AddOns/ChocolateBar/localization/ruRU.lua create mode 100644 Interface/AddOns/ChocolateBar/localization/zhCN.lua create mode 100644 Interface/AddOns/ChocolateBar/localization/zhTW.lua create mode 100644 Interface/AddOns/ChocolateBar/pics/ChocolatePiece.tga create mode 100644 Interface/AddOns/ChocolateBar/pics/DarkBottom.tga create mode 100644 Interface/AddOns/ChocolateBar/pics/Gloss.tga create mode 100644 Interface/AddOns/ChocolateBar/pics/Titan.tga create mode 100644 Interface/AddOns/ChocolateBar/pics/Tribal.tga create mode 100644 Interface/AddOns/ChocolateBar/pics/X-Perl.tga create mode 100644 Interface/AddOns/ChocolateBar/pics/pointer.tga create mode 100644 Interface/AddOns/ChocolateBar_Options/ChocolateBar_Options.toc create mode 100644 Interface/AddOns/ChocolateBar_Options/Options.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceConfig-3.0/AceConfig-3.0.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceConfig-3.0/AceConfig-3.0.xml create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceConfig-3.0/AceConfigCmd-3.0/AceConfigCmd-3.0.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceConfig-3.0/AceConfigCmd-3.0/AceConfigCmd-3.0.xml create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.xml create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceConfig-3.0/AceConfigRegistry-3.0/AceConfigRegistry-3.0.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceConfig-3.0/AceConfigRegistry-3.0/AceConfigRegistry-3.0.xml create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceDBOptions-3.0/AceDBOptions-3.0.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceDBOptions-3.0/AceDBOptions-3.0.xml create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/BackgroundWidget.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/BorderWidget.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/FontWidget.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/AceGUI-3.0.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/AceGUI-3.0.xml create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-BlizOptionsGroup.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-ScrollFrame.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-SimpleGroup.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown-Items.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Icon.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-InteractiveLabel.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/CallbackHandler-1.0/CallbackHandler-1.0.xml create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/LibStub/LibStub.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/LibStub/LibStub.toc create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/SoundWidget.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/StatusbarWidget.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/prototypes.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0-SharedMediaWidgets/widget.xml create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/AceGUI-3.0.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/AceGUI-3.0.xml create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIContainer-BlizOptionsGroup.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIContainer-ScrollFrame.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIContainer-SimpleGroup.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown-Items.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Icon.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIWidget-InteractiveLabel.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua create mode 100644 Interface/AddOns/ChocolateBar_Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua create mode 100644 Interface/AddOns/DungeonHelper/Changelog-DungeonHelper-v2.3.8.txt create mode 100644 Interface/AddOns/DungeonHelper/DungeonHelper.lua create mode 100644 Interface/AddOns/DungeonHelper/DungeonHelper.toc create mode 100644 Interface/AddOns/DungeonHelper/LibDataBroker-1.1.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceAddon-3.0/AceAddon-3.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceAddon-3.0/AceAddon-3.0.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/AceConfig-3.0/AceConfig-3.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceConfig-3.0/AceConfig-3.0.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/AceConfig-3.0/AceConfigCmd-3.0/AceConfigCmd-3.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceConfig-3.0/AceConfigCmd-3.0/AceConfigCmd-3.0.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceConfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/AceConfig-3.0/AceConfigRegistry-3.0/AceConfigRegistry-3.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceConfig-3.0/AceConfigRegistry-3.0/AceConfigRegistry-3.0.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/AceConsole-3.0/AceConsole-3.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceConsole-3.0/AceConsole-3.0.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/AceDB-3.0/AceDB-3.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceDB-3.0/AceDB-3.0.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/AceDBOptions-3.0/AceDBOptions-3.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceDBOptions-3.0/AceDBOptions-3.0.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/AceEvent-3.0/AceEvent-3.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceEvent-3.0/AceEvent-3.0.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/BackgroundWidget.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/BorderWidget.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/FontWidget.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/AceGUI-3.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/AceGUI-3.0.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-BlizOptionsGroup.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-ScrollFrame.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-SimpleGroup.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown-Items.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Icon.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-InteractiveLabel.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/CallbackHandler-1.0/CallbackHandler-1.0.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/LibStub/LibStub.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/Libs/LibStub/LibStub.toc create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/SoundWidget.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/StatusbarWidget.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/prototypes.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0-SharedMediaWidgets/widget.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/AceGUI-3.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/AceGUI-3.0.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIContainer-BlizOptionsGroup.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIContainer-ScrollFrame.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIContainer-SimpleGroup.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown-Items.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIWidget-Icon.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIWidget-InteractiveLabel.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceLocale-3.0/AceLocale-3.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceLocale-3.0/AceLocale-3.0.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/AceTimer-3.0/AceTimer-3.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/AceTimer-3.0/AceTimer-3.0.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/CallbackHandler-1.0/CallbackHandler-1.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/CallbackHandler-1.0/CallbackHandler-1.0.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/LibCandyBar-3.0/CallbackHandler-1.0/CallbackHandler-1.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/LibCandyBar-3.0/LibCandyBar-3.0.toc create mode 100644 Interface/AddOns/DungeonHelper/libs/LibCandyBar-3.0/LibCandyBar-3.0/LibCandyBar-3.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/LibCandyBar-3.0/LibCandyBar-3.0/lib.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/LibCandyBar-3.0/LibStub/LibStub.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/LibCandyBar-3.0/embeds.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/LibCandyBar-3.0/lib.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/LibSharedMedia-3.0/LibSharedMedia-3.0.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/LibSharedMedia-3.0/lib.xml create mode 100644 Interface/AddOns/DungeonHelper/libs/LibStub/LibStub.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/LibStub/LibStub.toc create mode 100644 Interface/AddOns/DungeonHelper/libs/LibStub/tests/test.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/LibStub/tests/test2.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/LibStub/tests/test3.lua create mode 100644 Interface/AddOns/DungeonHelper/libs/LibStub/tests/test4.lua create mode 100644 Interface/AddOns/DungeonHelper/localization.lua create mode 100644 Interface/AddOns/DungeonHelper/media/alert.mp3 create mode 100644 Interface/AddOns/DungeonHelper/media/dps.tga create mode 100644 Interface/AddOns/DungeonHelper/media/dps_grey.tga create mode 100644 Interface/AddOns/DungeonHelper/media/heal.tga create mode 100644 Interface/AddOns/DungeonHelper/media/heal_grey.tga create mode 100644 Interface/AddOns/DungeonHelper/media/lfg.tga create mode 100644 Interface/AddOns/DungeonHelper/media/tank.tga create mode 100644 Interface/AddOns/DungeonHelper/media/tank_grey.tga diff --git a/Interface/AddOns/Broker_Equipment/Broker_Equipment.lua b/Interface/AddOns/Broker_Equipment/Broker_Equipment.lua new file mode 100644 index 0000000..a64b94f --- /dev/null +++ b/Interface/AddOns/Broker_Equipment/Broker_Equipment.lua @@ -0,0 +1,245 @@ +local Broker_Equipment = CreateFrame('Frame') +Broker_Equipment:RegisterEvent('PLAYER_LOGIN') +Broker_Equipment:SetScript('OnEvent', function(self, event, ...) self[event](self, ...) end) +Broker_Equipment:Hide() + +local BACKDROP = { + bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], + edgeFile = [[Interface\Tooltips\UI-Tooltip-Border]], edgeSize = 16, + insets = {top = 3, bottom = 3, left = 3, right = 3} +} + +local LDB = LibStub('LibDataBroker-1.1'):NewDataObject('Broker_Equipment', { + type = 'data source', +}) + +local Menu, pending + +local function UpdateDisplay() + if(InCombatLockdown() and pending) then + LDB.text = '|cffffff00' .. pending + LDB.icon = [[Interface\Icons\]] .. GetEquipmentSetInfoByName(pending) + else + for index = 1, GetNumEquipmentSets() do + local name, icon, _, equipped = GetEquipmentSetInfo(index) + if(equipped) then + LDB.text = name + LDB.icon = icon + return + end + end + + LDB.text = UNKNOWN + LDB.icon = [[Interface\Icons\INV_Misc_QuestionMark]] + end +end + +local function OnItemClick(self) + if(IsShiftKeyDown() and not pending) then + local dialog = StaticPopup_Show('CONFIRM_SAVE_EQUIPMENT_SET', self.name) + dialog.data = self.name + elseif(IsControlKeyDown() and not pending) then + local dialog = StaticPopup_Show('CONFIRM_DELETE_EQUIPMENT_SET', self.name) + dialog.data = self.name + else + if(InCombatLockdown()) then + Broker_Equipment:RegisterEvent('PLAYER_REGEN_ENABLED') + pending = self.name + + UpdateDisplay() + else + EquipmentManager_EquipSet(pending or self.name) + end + end + + Menu:Hide() +end + +local function OnEnter() + Menu.Fader:Stop() +end + +local function OnLeave() + Menu.Fader:Play() +end + +local function OnItemEnter(self) + GameTooltip:SetOwner(self, 'ANCHOR_RIGHT') + GameTooltip:SetEquipmentSet(self.name) + + OnEnter() +end + +local function UpdateMenu(parent) + local maxWidth = 0 + + local numEquipmentSets = GetNumEquipmentSets() + for index = 1, numEquipmentSets do + local Item = Menu.items[index] + if(not Item) then + Item = CreateFrame('Button', nil, Menu) + Item:SetPoint('TOPLEFT', 11, -((index - 1) * 18) - UIDROPDOWNMENU_BORDER_HEIGHT) + Item:SetHighlightTexture([[Interface\QuestFrame\UI-QuestTitleHighlight]]) + Item:GetHighlightTexture():SetBlendMode('ADD') + Item:SetScript('OnClick', OnItemClick) + Item:SetScript('OnEnter', OnItemEnter) + Item:SetScript('OnLeave', GameTooltip_Hide) + Item:HookScript('OnLeave', OnLeave) + + local Button = CreateFrame('CheckButton', nil, Item) + Button:SetPoint('LEFT') + Button:SetSize(16, 16) + Button:SetNormalTexture([[Interface\Common\UI-DropDownRadioChecks]]) + Button:GetNormalTexture():SetTexCoord(0.5, 1, 0.5, 1) + Button:SetCheckedTexture([[Interface\Common\UI-DropDownRadioChecks]]) + Button:GetCheckedTexture():SetTexCoord(0, 0.5, 0.5, 1) + Button:EnableMouse(false) + Item.Button = Button + + local Label = Item:CreateFontString(nil, nil, 'GameFontHighlightSmall') + Label:SetPoint('LEFT', 20, 0) + Item:SetFontString(Label) + Item.Label = Label + + local Icon = Item:CreateTexture(nil, 'ARTWORK') + Icon:SetPoint('RIGHT') + Icon:SetSize(16, 16) + Item.Icon = Icon + + Menu.items[index] = Item + else + Item:Show() + end + + local name, icon, _, equipped, _, _, _, missing = GetEquipmentSetInfo(index) + Item.Button:SetChecked(equipped) + Item.Icon:SetTexture(icon) + Item.name = name + + if(pending == name) then + Item:SetFormattedText('|cffffff00%s|r', name) + elseif(missing > 0) then + Item:SetFormattedText('|cffff0000%s|r', name) + else + Item:SetText(name) + end + + local width = Item.Label:GetWidth() + 50 + if(width > maxWidth) then + maxWidth = width + end + end + + for index = numEquipmentSets + 1, #Menu.items do + Menu.items[index]:Hide() + end + + for _, Item in next, Menu.items do + Item:SetSize(maxWidth, 18) + end + + Menu:SetSize(maxWidth + 25, (numEquipmentSets * 18) + (UIDROPDOWNMENU_BORDER_HEIGHT * 2)) +end + +function LDB:OnTooltipShow() + self:SetEquipmentSet(LDB.text) +end + +local hooked = {} +function LDB:OnClick(button) + if(GameTooltip:GetOwner() == self) then + GameTooltip:Hide() + end + + if(button ~= 'RightButton' and GetNumEquipmentSets() > 0) then + if(not Menu) then + Menu = CreateFrame('Frame', nil, UIParent) + Menu:SetBackdrop(BACKDROP) + Menu:SetBackdropColor(0, 0, 0) + Menu:SetFrameStrata('DIALOG') + Menu:SetScript('OnEnter', OnEnter) + Menu:SetScript('OnLeave', OnLeave) + Menu:Hide() + Menu.items = {} + + local Fader = Menu:CreateAnimationGroup() + Fader:CreateAnimation():SetDuration(UIDROPDOWNMENU_SHOW_TIME) + Fader:SetScript('OnFinished', function() + Menu:Hide() + end) + Menu.Fader = Fader + end + + if(Menu:IsShown()) then + Menu:Hide() + else + UpdateMenu(self) + Menu:ClearAllPoints() + Menu:SetPoint('TOP', self, 'BOTTOM') -- temporary anchor + + local sideAnchor = '' + if(Menu:GetRight() > GetScreenWidth()) then + sideAnchor = 'RIGHT' + elseif(Menu:GetLeft() <= 0) then + sideAnchor = 'LEFT' + end + + Menu:ClearAllPoints() + if(Menu:GetBottom() <= 0) then + Menu:SetPoint('BOTTOM' .. sideAnchor, self, 'TOP' .. sideAnchor) + else + Menu:SetPoint('TOP' .. sideAnchor, self, 'BOTTOM' .. sideAnchor) + end + + Menu:Show() + end + + PlaySound('igMainMenuOptionCheckBoxOn') + + if(not hooked[self]) then + self:HookScript('OnEnter', OnEnter) + self:HookScript('OnLeave', OnLeave) + + hooked[self] = true + end + else + if(not PaperDollFrame:IsVisible()) then + ToggleCharacter('PaperDollFrame') + end + + if(not CharacterFrame.Expanded) then + SetCVar('characterFrameCollapsed', '0') + CharacterFrame_Expand() + end + + if(not _G[PAPERDOLL_SIDEBARS[3].frame]:IsShown()) then + Broker_Equipment:Show() + end + end +end + +function Broker_Equipment:PLAYER_LOGIN() + self:RegisterEvent('UNIT_INVENTORY_CHANGED') + self:RegisterEvent('EQUIPMENT_SETS_CHANGED') + self.EQUIPMENT_SETS_CHANGED = UpdateDisplay + + UpdateDisplay() +end + +function Broker_Equipment:UNIT_INVENTORY_CHANGED(unit) + if(unit == 'player') then + UpdateDisplay() + end +end + +function Broker_Equipment:PLAYER_REGEN_ENABLED() + self:UnregisterEvent('PLAYER_REGEN_ENABLED') + + OnItemClick() + pending = nil +end + +Broker_Equipment:SetScript('OnUpdate', function(self) + PaperDollFrame_SetSidebar(nil, 3) + self:Hide() +end) diff --git a/Interface/AddOns/Broker_Equipment/Broker_Equipment.toc b/Interface/AddOns/Broker_Equipment/Broker_Equipment.toc new file mode 100644 index 0000000..d7ed02d --- /dev/null +++ b/Interface/AddOns/Broker_Equipment/Broker_Equipment.toc @@ -0,0 +1,17 @@ +## Interface: 60000 +## Author: p3lim +## Version: 60000.25-Release +## Title: Broker Equipment +## Notes: LDB Equipment Manager plug-in +## X-Curse-Packaged-Version: 60000.25-Release +## X-Curse-Project-Name: Broker_Equipment +## X-Curse-Project-ID: broker_equipment +## X-Curse-Repository-ID: wow/broker_equipment/mainline + +## OptionalDeps: LibStub, CallbackHandler-1.0, LibDataBroker-1.1 + +embeds\LibStub\LibStub.lua +embeds\CallbackHandler\CallbackHandler-1.0.lua +embeds\LibDataBroker\LibDataBroker-1.1.lua + +Broker_Equipment.lua diff --git a/Interface/AddOns/Broker_Equipment/CHANGELOG.md b/Interface/AddOns/Broker_Equipment/CHANGELOG.md new file mode 100644 index 0000000..433f7f8 --- /dev/null +++ b/Interface/AddOns/Broker_Equipment/CHANGELOG.md @@ -0,0 +1,129 @@ +## Changes in 60000.25-Release: + +- Changed: Update Interface version +- Fixed: Dropdown sometimes rendering behind other objects + +## Changes in 50400.24-Release: + +- Added: Changelog file +- Changed: Create the broker object on load +- Fixed: Dropdown going off the screen +- Fixed: Dropdown not respecting the parent frame + +## Changes in 50400.23-Release: + +- Added: Proper license +- Added: Custom dropdown to avoid tainting default UI +- Added: Metadata file for the curseforge packager +- Changed: Use externals for libraries + +## Changes in 50400.22-Release: + +- Added: Hacky method to show tooltips in dropdown +- Changed: Update Interface version +- Removed: License + +## Changes in 50200.21-Release: + +- Changed: Update Interface version +- Fixed: LDB text when there are no matching sets + +## Changes in 40300.20-Release: + +- Changed: Use the new equipment API + +## Changes in 40300.19-Release: + +- Changed: Update license +- Removed: Usage tooltips and translations + +## Changes in 40300.18-Release: + +- Added: ptBR translations +- Changed: Added support for packagers to set the version automatically + +## Changes in 40200.17-Release: + +- Changed: Update Interface version + +## Changes in 40100.16-Release: + +- Changed: Update ruRU translations +- Fixed: Properly show the new equipment tab in the character window + +## Changes in 40100.15-Beta: + +- Added: Proper defaults for LDB +- Added: Support for changes to the GearManager +- Changed: Update Interface version +- Removed: Buggy hack to get set texture + +## Changes in 40000.14-Release: + +- Changed: Use the dropdown's built-in support for icons +- Changed: Use the dropdown's built-in support for checkboxes +- Changed: Color the usage tooltip lines +- Fixed: Hide the tooltips properly when clicked + +## Changes in 40000.13-Release: + +- Changed: Revert back to using hard copies instead of externals/submodules + +## Changes in 40000.12-Release: + +- Changed: Localization table for easier integration with curseforge + +## Changes in 40000.11-Release: + +- Added: esES translations +- Added: esMS translations +- Added: ruRU translations +- Changed: Update Interface version +- Changed: Update deDE translations +- Changed: Only show usage tooltips when SHOW_NEWBIE_TIPS is enabled +- Changed: Use externals/submodules for libraries +- Fixed: Detecting set on login +- Fixed: Gear manager click functionality + +## Changes in 30300.10-Release: + +- Added: Support for AddonLoader + +## Changes in 30300.9-Release: + +- Fixed: Pending sets not showing during combat + +## Changes in 30300.8-Beta: + +- Fixed: Pending sets + +## Changes in 30300.7-Beta: + +- Changed: Table layout for localizations + +## Changes in 30300.6-Beta: + +- Changed: Update Interface version +- Changed: Use the environment arguments +- Changed: Move localization to it's own file + +## Changes in 30200.4-Beta: + +- Changed: Use location matching instead of itemIDs +- Changed: Use a proper dropdown +- Fixed: Faulty LDB icon texture +- Fixed: Overwrite popup +- Fixed: Updating LDB on set changes +- Fixed: Updating LDB on login + +## Changes in 30200.3-Beta: + +- Fixed: Item match on ignored slots + +## Changes in 30200.2-Beta: + +- Changed: Update Interface version + +## Changes in 30200.1-Beta: + +- First public release diff --git a/Interface/AddOns/Broker_Equipment/LICENSE b/Interface/AddOns/Broker_Equipment/LICENSE new file mode 100644 index 0000000..a3548ee --- /dev/null +++ b/Interface/AddOns/Broker_Equipment/LICENSE @@ -0,0 +1,34 @@ +Copyright (c) 2014 Adrian L Lange + +All rights reserved. + +Permission is granted for anyone to use, read, or otherwise interpret +this software for any purpose, without any restrictions. + +Permission is granted for anyone to modify this software or sample from +it, and to distribute such modified versions or derivative works as long +as neither the names of this software nor its author(s) are used in the +name or title of the work or in any other way that may cause it to be +confused with this software. + +Permission is granted for anyone to aggregate this software with other +works not derived from this software for the purpose of creating a user +interface compilation for "World of Warcraft" and to distribute such +compilations as long as the software is not modified in any way, +including by modifying or removing any files. + +This software may not be distributed standalone or in any other way, in +whole or in part, modified or unmodified, without specific prior written +permission from the author(s) of this software. + +The names of this software and/or its author(s) may not be used to +promote or endorse works derived from this software without specific +prior written permission from the author(s) of this software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/Interface/AddOns/Broker_Equipment/embeds/CallbackHandler/CallbackHandler-1.0.lua b/Interface/AddOns/Broker_Equipment/embeds/CallbackHandler/CallbackHandler-1.0.lua new file mode 100644 index 0000000..fd87e02 --- /dev/null +++ b/Interface/AddOns/Broker_Equipment/embeds/CallbackHandler/CallbackHandler-1.0.lua @@ -0,0 +1,238 @@ +--[[ $Id: CallbackHandler-1.0.lua 18 2014-10-16 02:52:20Z mikk $ ]] +local MAJOR, MINOR = "CallbackHandler-1.0", 6 +local CallbackHandler = LibStub:NewLibrary(MAJOR, MINOR) + +if not CallbackHandler then return end -- No upgrade needed + +local meta = {__index = function(tbl, key) tbl[key] = {} return tbl[key] end} + +-- Lua APIs +local tconcat = table.concat +local assert, error, loadstring = assert, error, loadstring +local setmetatable, rawset, rawget = setmetatable, rawset, rawget +local next, select, pairs, type, tostring = next, select, pairs, type, tostring + +-- Global vars/functions that we don't upvalue since they might get hooked, or upgraded +-- List them here for Mikk's FindGlobals script +-- GLOBALS: geterrorhandler + +local xpcall = xpcall + +local function errorhandler(err) + return geterrorhandler()(err) +end + +local function CreateDispatcher(argCount) + local code = [[ + local next, xpcall, eh = ... + + local method, ARGS + local function call() method(ARGS) end + + local function dispatch(handlers, ...) + local index + index, method = next(handlers) + if not method then return end + local OLD_ARGS = ARGS + ARGS = ... + repeat + xpcall(call, eh) + index, method = next(handlers, index) + until not method + ARGS = OLD_ARGS + end + + return dispatch + ]] + + local ARGS, OLD_ARGS = {}, {} + for i = 1, argCount do ARGS[i], OLD_ARGS[i] = "arg"..i, "old_arg"..i end + code = code:gsub("OLD_ARGS", tconcat(OLD_ARGS, ", ")):gsub("ARGS", tconcat(ARGS, ", ")) + return assert(loadstring(code, "safecall Dispatcher["..argCount.."]"))(next, xpcall, errorhandler) +end + +local Dispatchers = setmetatable({}, {__index=function(self, argCount) + local dispatcher = CreateDispatcher(argCount) + rawset(self, argCount, dispatcher) + return dispatcher +end}) + +-------------------------------------------------------------------------- +-- CallbackHandler:New +-- +-- target - target object to embed public APIs in +-- RegisterName - name of the callback registration API, default "RegisterCallback" +-- UnregisterName - name of the callback unregistration API, default "UnregisterCallback" +-- UnregisterAllName - name of the API to unregister all callbacks, default "UnregisterAllCallbacks". false == don't publish this API. + +function CallbackHandler:New(target, RegisterName, UnregisterName, UnregisterAllName) + + RegisterName = RegisterName or "RegisterCallback" + UnregisterName = UnregisterName or "UnregisterCallback" + if UnregisterAllName==nil then -- false is used to indicate "don't want this method" + UnregisterAllName = "UnregisterAllCallbacks" + end + + -- we declare all objects and exported APIs inside this closure to quickly gain access + -- to e.g. function names, the "target" parameter, etc + + + -- Create the registry object + local events = setmetatable({}, meta) + local registry = { recurse=0, events=events } + + -- registry:Fire() - fires the given event/message into the registry + function registry:Fire(eventname, ...) + if not rawget(events, eventname) or not next(events[eventname]) then return end + local oldrecurse = registry.recurse + registry.recurse = oldrecurse + 1 + + Dispatchers[select('#', ...) + 1](events[eventname], eventname, ...) + + registry.recurse = oldrecurse + + if registry.insertQueue and oldrecurse==0 then + -- Something in one of our callbacks wanted to register more callbacks; they got queued + for eventname,callbacks in pairs(registry.insertQueue) do + local first = not rawget(events, eventname) or not next(events[eventname]) -- test for empty before. not test for one member after. that one member may have been overwritten. + for self,func in pairs(callbacks) do + events[eventname][self] = func + -- fire OnUsed callback? + if first and registry.OnUsed then + registry.OnUsed(registry, target, eventname) + first = nil + end + end + end + registry.insertQueue = nil + end + end + + -- Registration of a callback, handles: + -- self["method"], leads to self["method"](self, ...) + -- self with function ref, leads to functionref(...) + -- "addonId" (instead of self) with function ref, leads to functionref(...) + -- all with an optional arg, which, if present, gets passed as first argument (after self if present) + target[RegisterName] = function(self, eventname, method, ... --[[actually just a single arg]]) + if type(eventname) ~= "string" then + error("Usage: "..RegisterName.."(eventname, method[, arg]): 'eventname' - string expected.", 2) + end + + method = method or eventname + + local first = not rawget(events, eventname) or not next(events[eventname]) -- test for empty before. not test for one member after. that one member may have been overwritten. + + if type(method) ~= "string" and type(method) ~= "function" then + error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): 'methodname' - string or function expected.", 2) + end + + local regfunc + + if type(method) == "string" then + -- self["method"] calling style + if type(self) ~= "table" then + error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): self was not a table?", 2) + elseif self==target then + error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): do not use Library:"..RegisterName.."(), use your own 'self'", 2) + elseif type(self[method]) ~= "function" then + error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): 'methodname' - method '"..tostring(method).."' not found on self.", 2) + end + + if select("#",...)>=1 then -- this is not the same as testing for arg==nil! + local arg=select(1,...) + regfunc = function(...) self[method](self,arg,...) end + else + regfunc = function(...) self[method](self,...) end + end + else + -- function ref with self=object or self="addonId" or self=thread + if type(self)~="table" and type(self)~="string" and type(self)~="thread" then + error("Usage: "..RegisterName.."(self or \"addonId\", eventname, method): 'self or addonId': table or string or thread expected.", 2) + end + + if select("#",...)>=1 then -- this is not the same as testing for arg==nil! + local arg=select(1,...) + regfunc = function(...) method(arg,...) end + else + regfunc = method + end + end + + + if events[eventname][self] or registry.recurse<1 then + -- if registry.recurse<1 then + -- we're overwriting an existing entry, or not currently recursing. just set it. + events[eventname][self] = regfunc + -- fire OnUsed callback? + if registry.OnUsed and first then + registry.OnUsed(registry, target, eventname) + end + else + -- we're currently processing a callback in this registry, so delay the registration of this new entry! + -- yes, we're a bit wasteful on garbage, but this is a fringe case, so we're picking low implementation overhead over garbage efficiency + registry.insertQueue = registry.insertQueue or setmetatable({},meta) + registry.insertQueue[eventname][self] = regfunc + end + end + + -- Unregister a callback + target[UnregisterName] = function(self, eventname) + if not self or self==target then + error("Usage: "..UnregisterName.."(eventname): bad 'self'", 2) + end + if type(eventname) ~= "string" then + error("Usage: "..UnregisterName.."(eventname): 'eventname' - string expected.", 2) + end + if rawget(events, eventname) and events[eventname][self] then + events[eventname][self] = nil + -- Fire OnUnused callback? + if registry.OnUnused and not next(events[eventname]) then + registry.OnUnused(registry, target, eventname) + end + end + if registry.insertQueue and rawget(registry.insertQueue, eventname) and registry.insertQueue[eventname][self] then + registry.insertQueue[eventname][self] = nil + end + end + + -- OPTIONAL: Unregister all callbacks for given selfs/addonIds + if UnregisterAllName then + target[UnregisterAllName] = function(...) + if select("#",...)<1 then + error("Usage: "..UnregisterAllName.."([whatFor]): missing 'self' or \"addonId\" to unregister events for.", 2) + end + if select("#",...)==1 and ...==target then + error("Usage: "..UnregisterAllName.."([whatFor]): supply a meaningful 'self' or \"addonId\"", 2) + end + + + for i=1,select("#",...) do + local self = select(i,...) + if registry.insertQueue then + for eventname, callbacks in pairs(registry.insertQueue) do + if callbacks[self] then + callbacks[self] = nil + end + end + end + for eventname, callbacks in pairs(events) do + if callbacks[self] then + callbacks[self] = nil + -- Fire OnUnused callback? + if registry.OnUnused and not next(callbacks) then + registry.OnUnused(registry, target, eventname) + end + end + end + end + end + end + + return registry +end + + +-- CallbackHandler purposefully does NOT do explicit embedding. Nor does it +-- try to upgrade old implicit embeds since the system is selfcontained and +-- relies on closures to work. + diff --git a/Interface/AddOns/Broker_Equipment/embeds/CallbackHandler/CallbackHandler-1.0.xml b/Interface/AddOns/Broker_Equipment/embeds/CallbackHandler/CallbackHandler-1.0.xml new file mode 100644 index 0000000..1aad3a2 --- /dev/null +++ b/Interface/AddOns/Broker_Equipment/embeds/CallbackHandler/CallbackHandler-1.0.xml @@ -0,0 +1,4 @@ + +