Seems like if you select a RepeatGrid that children of that grid should have their .pluginData
settable, i.e., be in the edit context.
I realize that the text/graphics attachments work from the top-level repeat grid, which is good, but to be parallel (e.g., for clearing/settings plugin properties, i.e., pluginData
), the above should be true.
RepeatGrid is one of the special objects that don’t allow you to drill into it’s children and make modifications. Is this feature request for removing that limitation?
Yes, quite aware of the edit context restrictions. Not asking to remove those.
It’s a feature request for letting us set pluginData
in a way that parallels .attachTextDataSeries
and .attachImageDataSeries
, since those are the three things we need to do to a RepeatGrid-contained element when the RepeaGrid node itself is selected: fill it with (1) text or (2) data, and (3) set (including remove) our metadata.
Maybe repeatGridNode.attachPluginData(node, pluginData)
with one value (which can be undefined
to remove it), since all repeated nodes have the plugin data replicated on all nodes?
Could you work around this by setting pluginData
on the RepeatGrid node itself, with an indication of what image/text items you’ve attached to which child nodes? Then when an item inside a RepeatGrid is selected, you can look up the parent hierarchy to read those values back.
That workaround wouldn’t work for us, since the RepeatGrid pluginData
would have to point to arbitrary subnodes, and we can’t store scenenode pointers. And, also, when you’re adding/deleting metadata from subnodes in the proper edit context, we couldn’t modify the pluginData
of the RepeatGrid node itself. So there’s no way to keep both “sides” (top level and interior nodes) in synch.
Here’s the usage context which might help motivate what I’m asking for.
If I have some metadata on a repeat grid sub-node, I can refresh the whole grid by walking all subnodes of the grid’s first child, and using the attach...Series
API. But if I want to clear all that metadata from top-level, I can’t, because I can’t descend into the grid and clear individual nodes’ pluginData
.
So there’s not as clean a UX, where I can refresh the whole grid but can’t clear it from the top-level.