Installed using the WoWAceUpdater without externals.
If your libraries are embedded and BF is the first addon with Ace3, every other Ace3 addon will make ButtonFacade's CPU and memory usage skyrocket. I suggest you get the standalone Ace3 package. If you still see CPU and memory usage after doing so, let me know and I'll take a look.
Bars must have an associated LBF Group. Buttons must be placed in said groups. When this happens is not terribly important, as long as it can be accurately tracked. The easiest way to do this, however, is in the bar/button creation code.
3) Is there any documentation anywhere for OPTIONALLY supporting this? Or is support an all-or-nothing thing. You can disable its features, but you must use it to support it?
An actionbar addon can use LibStub to acquire the LBF library without erroring if it doesn't exist. Then your code can detect if the lib is available. If it is, work with it, if it isn't, then don't.
Stuff like "then if you're still experiencing problems saving the colors, inform the actionbar addon authors." just scares the crap out of me. Don't get me wrong, I'd like to support it, but I don't want the hassle of keeping up with other people's mods just to keep up with my own.
As far as as the addition of the Color stuff, it has been in the works for over a week. Since this extra parameter is a table, it is highly unlikely another change such as this will be necessary. Instead, additional settings will be placed within the table.
Actually, I take that back. First get Revision 74292 of ButtonFacade... then if you're still experiencing problems saving the colors, inform the actionbar addon authors.
To Actionbar Addon Authors:
To reiterate my post from a week ago, your skin callback will receive an additional parameter, Colors, at the end of the previous argument list. This value should be saved. When reloading, pass the saved value after the saved Backdrop value in :Skin().
Ok thanks for help so far,but i got some more questions.My COLOR settings don't save . After i relog,they reset again for every addon.I tried changing colors for primary addon category,also for all subcategories(for example each action bar) and created new profile after i'd configured everything.But my color settings still reset.Second : Yes Buffalo is skinned with BF(buttonframe addon) BUT again with colors- you can change for example debuff border to only one color, there is no option like "use blizzard colors" so the border color depended on debuff type.So you can change border for all debuffs to red, white, green,what not, but you can't apply one color for one debuff type ;(
P.S. sorry if these problems were already mentioned.
As I mentioned in my last post, please inform the authors of actionbar addons if color settings are not saving. Settings are saved by the actionbar addon, not by ButtonFacade.
I support this notion. Also, JJ, did you read my post about the "preset" idea for colors?
Yes I did. I like the idea, I just need some time to decide how best to implement it.
Revision 74248 has User Customizable Colors. Actionbar addons will need to make the change to the Skin Callback I explained about a week ago for these to work. If your user colors are not saving, please inform the author(s) of the bar addons you are using. Tomorrow I will deal with any bug reports (hoping there aren't any... haha), and I'll update the Blizz and Bongos3 ButtonFacade modules (unless someone beats me to it).
Well, whatever the reason, from a user's view with regards to configuration menus, it doesn't "look" like the settings are being saved especially in light of the fact that BT4 currently has no method to set skins.
It looks like they're not being saved because at that level, they aren't.
I think what I need is a way to indicate whether a given group level is created from outside the library or if it is created internally (and thus will not save settings). Hopefully this will clear up such issues.
Currently, there is no way to select skin settings in Bartender 4 which is why the behavior seemed odd. I must go to BF to change BT4 skins so it seemed weird that it didn't show the saved setting.
What you are seeing is a result of actionbar addons not saving skin information for higher level groups (which is EXPECTED behavior). The lower level groups are where your settings will be saved. It is possible (I haven't had much time recently to do anything with BF) that the Bongos and Blizzard modules are not saving any settings at all.
Again, this is expected behavior. If a group doesn't have the settings you saved, look deeper into the more specific groups, and you will find the settings there.
Not quite sure what that means & rereading my post I realize it was not clear. So in AutoBar for example, I plan on supporting the hierarchical settings as described. The way it would work is as follows for the Mod, BarA, BarB, ButtonA1, ButtonA2:
The problem with doing it that way is that it would make the ButtonFacade UI inconsistent. It would require people to hunt down the settings in the AutoBar GUI, and I guarantee people would be crying when they can't skin BarA in BF because you've moved all of its buttons into the addon group and removed it from BF.
But... like I said, the ability to replicate the settings of the next group up, "Use Parent Settings", is a good idea, will be implemented soon, keeps the UI consistent, and gives all of the control to the users.
ButtonFacade presents users with hierarchical skin settings. So for example for a Bar mod there can be skin settings at the Mod / Bar / Button level. Now to implement this I think you would need a way to null out a setting at a certain level. It's buttons then get dropped from its skin and added to the skin 1 level higher up.
So can we have a special "skin" that does this nulling in the skin list? Something like "none" or "Use Parent Skin" or something with some special value indicating to remove the skin info ("nil" or something). Selecting this skin just nulls out skin info at its level (so on a button or bar or the mod) so that the higher up setting can be used. Defaults to Blizzard if nothing is specified anywhere of course.
Or am I missing something and needlessly fighting the system?
Groups store their skin info separate from each other, including the parent. It never was intended to use the parent group's skin settings as a default. When setting a parent group's settings, the parent group overwrites all subgroups. I do like the idea of being able to directly copy a parent's skin settings, so it'll probably be added soon.
In preparation of the upcoming user selectable color options, the following changes to the API are being made. Get this stuff added to actionbar addons soon, because I will likely be going live with the color selections tonight or tomorrow.
Colors will be a table of colors mapping to layers. Only non-default colors will be saved. The exact organization/structure of the Colors table is undefined at the moment, but even after its definition, it should not be modified, only saved in a saved variables table.
Okay. I have been using BT3 and CyCircled for a long time now but after doing some profiling(BT3 using 30% of CPU) I decided to check out BT4. I soon realised BT4 requires ButtonFacade to skin my bars the way that I like(Vol/Apathy). I load up BT4/BF and low and behold BT4 is using no where near as much CPU however BF is using something like 50% of my CPU(according to optionhouse cpu profiler). This may be seen as nitpicking and whatever but I just thought I would let the author know. oh and is BF supposed to be climbing in cpu usage constantly? because Cy stays at a static CPU amount(3% or so).
Are you running with embedded libraries? If so, please dis-embed them before reporting excessive CPU usage. That said, I will look into it.
Quote from Sorata »
Well I've got one in my addon that saves the changes and then I have a module that updates the buttons insets depending on what skin is used. I was able to hook it once I realised Buggrabber wasn't printing error messages to the chat frame.
Ah. Okay, now I understand. This is in Revision 73516.
Quote from Maul »
I would like to see a function added to LibButtonFacade.lua that would help with my custom button template -