[BUG]Grouped Labels with Font Binding

I mean... so the actual issue here is that you're allowed to do that, not what happens on grouping. You've essentially discovered undefined behavior - it happens to work, until we do the grouping operation and recreate the components, at which point your manually injected bindings happen to disappear.

What I would do to accomplish the same goal, but faster (for you as a developer) is use a script to recursively walk the component tree and change every label component's font at once.

Starting from the code I posted here:

You just need a different filter function:

from com.inductiveautomation.factorypmi.application.components import PMILabel
isLabel = lambda component: isinstance(component, PMILabel)

And then your modification is as simple as setting the font:

from java.awt import Font
win = system.gui.getWindow("yourWindow")
for label in filter(isLabel, getComponents(win)):
	label.font = Font("name", Font.PLAIN, 18)
2 Likes