ButtonFacade, with its associated library, is a small add-on that allows for the dynamic skinning of button-based add-ons. It is composed of two individual components:
LibButtonFacade
A small library which provides addon authors with the tools needed to skin their add-ons.
ButtonFacade
A GUI for the LibButtonFacade library that allows users to adjust their settings on a per-add-on, per-group and per-button basis.
Options
- Access the options panel via the /bf chat command or the Interface Options Window.
Quick Links
Installation
- Download the package.
- Extract the package to your "World of Warcraft\Interface\AddOns" directory.
Feedback
Please post all comments in the ButtonFacade thread in the forums. For bug reports and suggestions, please post a ticket.
Translations
If you would like to help translate ButtonFacade, please use the localization system. Special thanks to those that have helped thus far.
History
The idea for ButtonFacade and its format were conceived by JJ Sheets, the original author. It was based loosely on the concept of cyCircled, which has long since been discontinued.
After some discussion, it was decided that the project would best serve authors and users alike if the skinning engine were provided as a library and a separate GUI were written to allow for configuration changes.
The library was written in a manner that required add-on authors to add support for ButtonFacade and to store the settings provided by the ButtonFacade GUI in the add-on's own saved variable file.
At some point, JJ Sheets stopped playing World of Warcraft and stopped maintaining ButtonFacade. I took over the project in an attempt to become familiar with programming for World of Warcraft and have since been keeping the project up to date.
~ Storm
Release History
3.3.300
- Update ToC to 3.3.
- Switch to GetObjectType since GetFrameType was removed.
- Copy esES to esMX localization to eliminate the hard-coded force use of esES for esMX.
3.2.85
- Fixed a library typo.
- Adjusted the format and file name of the change log.
- Localization update.
3.2.275
- Fixed an erroneous library reference.
- Fixed a core entry.
- Updated ToC for 3.2.
- Localization update.
3.1.270
- Removed the "About" panel.
- Added an "About" file.
- Localization clean up and update.
- Packager tweaks.
3.1.260
- Module support removed. If you run into issues with an add-on you're using, ask the author to fix their add-on.
3.1.255
ButtonFacade GUI:
- ButtonFacade will now attempt to remember the global skin settings. To be clear, it will only remember the *global* setting. It is still up to add-on authors to save the skin settings for their own add-on's root group.
- Due to the GUI saving the settings and additional modules, the profile selection panel has been enabled once again.
- Tons of GUI tweaks and added some missing features (tool tips, etc), so the localizations will need to be updated.
LibButtonFacade:
- The "root" group is now called "ButtonFacade" instead of an empty string.
- The separator for RegIDs is now an underscore instead of a "pipe". Additionally, all root addon groups will have a RegID matching the name that they're registered with. IE, instead of Bartender4 having a RegID of "|Bartender4", it will have a RegID of "Bartender4". All subgroups will have RegIDs that follow the "Addon_Group_Button" format.
- The skin callback firing function will now return the addon's root group data if a group is not specified. This means that addon authors can call LBF:Group("Addon"):Skin(self.db.profile["Addon"].SkinID, ...) prior to calling it for their individual groups to ensure that ButtonFacade's GUI displays the current settings for the addon's root group correctly. Feel free to contact me if you're unsure how to implement this correctly or if it gives you problems/errors.
- Any author attempting to write a LBF GUI will need to register their addon with LBF via the skin callback function. The addon *MUST* be registered as "ButtonFacade".
Miscellaneous:
- Added WoWI's minion tag.
3.1.240
- More tweaks to the "About" panel.
- Fixed a type in the default skin. (Thanks, FlickerStreak)
- Misc. clean up and tweaks.
- Localization bump.
3.1.335
- Updated for 3.1.
- Updated locales.
- GUI Adjustments.
3.1.225
- Localization Updates
- Updated to the WoWAce localization system.
- Restructured the directories and files a bit.
- New Icon.
3.0.208
- frFR update. (Pettigrow)
3.0.205
- Update zhTW/zhCN. (ananhaid/digmouse)
- Fix for borderless skins (Dreamlayout, Blizzard, etc). (flickerstreak)
3.0.200
- Removed FuBar/Harbor support.
- Rebuilt the options window.
- The /bf and /buttonfacade chat commands open the Interface Options category for ButtonFacade.
- Updated/Changed localization entries. Up to date (mostly) are: zhCN, zhTW and koKR. Need the rest translated or retranslated.
- Tons of code clean up.
Installation Guide
- Exit "World of Warcraft" completely
- Download the mod you want to install
- Make a folder on your desktop called "My Mods"
- Save the .zip/.rar files to this folder.
- If, when you try to download the file, it automatically "opens" it... you need to RIGHT click on the link and "save as..." or "Save Target As".
- Extract the file - commonly known as 'unzipping'
Do this ONE FILE AT A TIME!
- Windows
- Windows XP has a built in ZIP extractor. Double click on the file to open it, inside should be the file or folders needed. Copy these outside to the "My Mods" folder.
- WinRAR: Right click the file, select "Extract Here"
- WinZip: You MUST make sure the option to "Use Folder Names" is CHECKED or it will just extract the files and not make the proper folders how the Authors designed
- Mac Users
- StuffitExpander: Double click the archive to extract it to a folder in the current directory.
- Verify your WoW Installation Path
That is where you are running WoW from and THAT is where you need to install your mods.
- Move to the Addon folder
- Open your World of Warcraft folder. (default is C:\Program Files\World of Warcraft\)
- Go into the "Interface" folder.
- Go into the "AddOns" folder.
- In a new window, open the "My Mods" folder.
- The "My Mods" folder should have the "Addonname" folder in it.
- Move the "Addonname" folder into the "AddOns" folder
- Start World of Warcraft
- Make sure AddOns are installed
- Log in
- At the Character Select screen, look in lower left corner for the "addons" button.
- If button is there: make sure all the mods you installed are listed and make sure "load out of date addons" is checked.
- If the button is NOT there: means you did not install the addons properly. Look at the above screenshots. Try repeating the steps or getting someone who knows more about computers than you do to help.
Translations
When you download a mod, please be sure that the mod is compatible with your translation of wow. Some mods only work on the US versions, while some only work on some of the various European versions. These variations are called "Localizations".
TOC Numbers (Out of Date Mods)
When Blizzard patches WoW, they change the Interface number. This means that all mods will be "out of date" unless or until the author releases a new version for that interface. Some people go into the .toc files and update the numbers themselves, but this is STRONGLY advised against as it will cause problems locating possible incompatibilities addons. When you log into WoW after a patch, you DO NOT have to delete your interface directory. All you have to do is simply tell WoW to ignore the interface numbers and load all the mods anyway. All you have to do is, while at the "character select" screen, look in the lower left corner and click on the "addons" button. A window will pop up listing all your installed mods.
If you look in the upper left corner of that window there should be a box that says "Load Out of Date AddOns". You want to CHECK this box. Now simply go into WoW normally and all your mods should load. As of the 1.9 patch, you will have to do this after EVERY patch/update that Blizzard posts! If you encounter any problems with a mod after a patch, please be sure to let the author of the mod know so they can fix it.
See also: About "Out Of Date AddOns"
Mac Support
WoW addons are not platformed based. As such, they can be used on either Mac or PC. You can extract both .zip and .rar files on a Mac using StuffitExpander.
Directory Structure
World of Warcraft
|_ Interface
|_AddOns
|_*AddonName*
|_ *AddonName*.toc
|_ *AddonName*.xml
|_ *AddonName*.lua
|_ (possibly others as well)...