The data broker library should only partake in the exchange and storage of information between the display addons and the plugins. The display addons should just take the information and display it. The plugins should simply provide information.
But, this system clearly results in a conflict of how much control should be sacrificed on the plugin author's end, to make it easier on him, so that we can decide on how much the display addons must do. To strike a nice, middle ground between control and ease of use, we need another member in this exchange.
Another library could be written to make it easier to create the information to pass along to the display addon from the plugins, for typical use. The info passed along to the display addon would be in the form with the most control (OnEntr, OnLeave functions, etc. as opposed to .tooltipText), but since it would be generated by this other library, it would also be easier for the plugin author to write for and use the dtaa broker system.
Of course, the library would be completely optional, so for more complicated tooltips and other settings, the plugin author could code them from scratch, and the display addon would simply display them as usual.
The point is that to make a single data block, the bar addon would simply have to create a frame, take only the attributes that it cares about from the data block, and apply them to the frame. Eg. the bar gives the addon 'foo' a data frame. It calls .foo.icon:SetTexture(icon attribute), and .foo:SetScript("OnClick", OnClick attribute).
This makes it nice, easy, and lightweight for the bar addon, and then gives the author of the addon 'foo' the greatest flexibility in what he can set the attributes of his addon's data frame to.
True, this does give the author of 'foo' extra work, but other libraries could be used to make it easier. (eg. DewDrop)
Tah-dah! This makes it easier for the authors of the bar addons and the misc. addons that use the bar addons, and only requires more effort from the people writing the libraries that communicate between the two.
We do have a Data Broker lib out, it just needs testing. I was starting work on a bar mod to test it with (ZanziBar), but I haven't been able to do any more work on it as of late. All we need to do is test the library, work out any bugs, and then it's ready to go.
The lib is here.
We're replacing the plugin part with a standard library, which then addons like FuBar can get info from, to make the bars, icons, etc.
Rihgt now, me and Kagaro are working on one such bar mod, called ZanziBar, to test out the system, and to get a FuBar alternative in place.
Oh, and I'm trying to get my learner's, I just don't have time to study for it, what with the business of high school, Lua coding, sleep, etc.
Got tomorrow off though, time to study then!
Lol, it really isn't much yet, and I unfortunately lost my password and login when my computer account bugged up, along with all my old e-mails. :(
I've neglected to ask for someone to re-send them, because I haven't needed to upload anything yet, and I'm still working on moving to a new comp soon. but, if someone does send them to me again, they'll be stored online, so I won't be able to easily lode them again.
Really, it isn't much. I've barely got it able to draw a single frame as of this moment, and I'll have no chance to test out my code in the next few days.
Edit: I've got over 100 posts? Time to add self-description text! (You know, the text below your avatar?)
I am now officially starting work on my menu bar addon, after a crash course in frames and textures. Yes, I really mean crash, my darn textures weren't agreeing with WoW. Say, does Blizz get mad if they get too many crash reports in an hour from just one guy?
Oh, by the way, the name ZanziBar is now taken. :)
Alrighty, I'm currently favouring Elk's version, and will be trying out a test tonight (hopefully). If it works, then we can stop worrying about the code so much, and get into what standard attributes to use.
We're practically done! Al we need to do is test Elk's or someone else's, and we're done! Then we each go off and make our own menu bar systems, and everyone rejoices from the choice that is granted to everyone! Don't give up on it yet!!!
Well, TabletLib still uses AceLibrary, and is too stiff for my taste. example: for the on mouseclick handler, it doesn;t allow you to know which button was pressed. This caused me problems.
DewDrop also still uses AceLibrary.
Furthermore, I'd say its safe to say that Ckknight probably won't be updating them any more.
Well, this topic kinda went silent. The plugin's probably done, it just needs to be tested. I just don't have the time to do a test anymore, since my parents found Parental Controls on the main website :P. But if someone else does one, we can smooth out the knobby bits, release the darn lib, and there will be much rejoicing! And it'll have our names on it, so someone, get testing!