So I'm trying to fulfil something someone asked me to do, that I think is a great idea: rather than building lots of GUI that no one will like, just create a bunch of LDB data objects that you can configure to show different data elements.
However, I want the option to remove an existing LDB object from LDB, because the user might want fewer LDBs than the maximum number. The API doesn't seem to support this, and additionally, the data spec doesn't specify for a "hide" option that allows for me to indicate a "hidden" status for the Data Object.
I think this would be a "nice to have" thing, allowing a data object to mark itself "hidden", if removal would be a big problem (which I very much suspect it might be).
But you can already do that by setting the property to an empty string, and several addons that already use that (eg. GoldenTicket sets the text to "" if you don't currently have a GM ticket to display the status for).
Well, the addon has a lot of "potential" data streams. It current handles this by having a giant tooltip, and you can select one value from the many to display in the LDB data object.
Obviously, I don't want to generate 1 data object per value, that would be clumsy, and would result in 100s of DOs.
What I was looking to do, was generate, say, up to 5 DOs, and use a simple config to bind each DO to it's value.
The problem isn't generating the DOs, but rather, getting rid of the excess DOs that I don't want (say the user configures for 5 DOs, but then changes their mind and only wants 3). The surplus DOs are just going to take up space. I can get rid of them on a reload, but that seems to be the ONLY way to do that. Being able to say "this DO is surplus to my requirements and is going to go away" to the display seems to me to be something that might be quite useful in my case.
I just remembered a specific edge case: When making TravelAgent, I added two separate feeds. There is no way, from the AddOn itself, to tell the display not to show the coordinate feed, for example, once you've told it you want to see it. Once it's allocated, there's no turning back and the user has to go into the display's configuration and disable it.