Edit: this would be useful when putting something in the holes between left, center and right part. ATM the panels mask anything. In second thought, moving the panels in a lower frame strata when they are locked may achieve the same effect.
I don't think I understand this part. Currently when dragging a plugin it's strata layer is changed to the highest possible then restored to its original when the dragging stops. Could you maybe explain what's occurring in a different way?
The problem is that some of ItemRack's functions were designed around using frame names and getglobal(frameName) instead of just generic frame references. Since Broker_ItemRack is using one of those functions it is checking that all frame references passed also have a name. When DockingStation passes a frame reference its not nil but fails the second part of the check (if self and self:GetName() then ...).
DockingStation does not name its frames because my opinion is that addons should have a minimal impact on the global namespace. It is just as easy to keep and pass frame references as needed and is generally more efficient. There are cases where frame names are actually important but this isn't one of them.
Having never used or looked at ItemRack previous to this, it took me less than 20 minutes to download it and Broker_ItemRack and make the necessary code changes to use frame references over frame names with ItemRack.DockWindows and all interacting code.
ItemRack.lua = 11 lines changed and 1 line removed
ItemRackButtons.lua = 1 line changed
Broker_ItemRack.lua = 2 lines changed
I can provide the changed code snippets if desired.
I would love to see the panels have a name (or at least know of some way to get a table reference for them or something) so that I can add them to my Dash.
I added two functions: DockingStation:GetNumPanels() and DockingStation:GetPanel(id). Just keep in mind that when panels are deleted the frames are recycled and that all panel ids shift to keep a continous series from 1 to #panels.
Would it be possible to add (SharedMedia) support for borders to the panels?
This is in the new version.
I also added support for the new fields Cladhaire put up.
On a side note, I still can't reproduce that "width" error from earlier so anyone able to provide a list of addons they use that reliably generate that would help. I also can't reproduce the problem with a pixel row remaining at the top of the screen but my computer sucks so I don't have many resolutions to test with.
One oddity I noticed is with Ara guild/friends. The friends tab works fine on hover but the guild tab won't show unless I right click the LDB icon (right click changes display style)
This is a bug with the plugin. The OnEnter handler works like a method defined as frame:OnEnter(motion) but the guild plugin sets its up as frame:OnEnter(dontShow). When I pass the motion parameter it is getting placed into the variable dontShow, and as the name suggests its doing just that. Its a very easy fix if you let the author know about the problem.
Any chance someone getting the width error could list the addons they are using that generate LDB plugins? I'm already using Broker_Factions and StatBlock_Money and they aren't generating that error. StatBlock_Money did create an error via a bug in LibDataBroker-1.1 which I've corrected in my code until it, LDB, is fixed.