09-01-2010 09:30 AM
So I learned today that a child class's icon is created by merging the child's icon as displayed in the class properties with the parent's icon as it appears in the parent's properties (the child's icon being the top image in the merge and the parent's the bottom). This isn't obvious from normal operation since the default icons are the same size and thus the child's icon perfectly overlaps and thus displaces the parent's. However, I drew an icon that extends a little bit beyond the bottom of the border of where the default icon normally goes (in the parent icon). This change was propogated to my numerous child classes, and now the icon is cut off on like 100 vis and it looks dumb.
Technically, this doesn't change anything about my program. Since I never actually place the child vi's on a block diagram, I never see the icons except when editing the child vis or when they are calling each other (one child vi calls the other, which is rare). The code is only brought into the main vi via dynamic dispatch. That said, I'd love to know if there is a way to override the default behavior of how labview builds these vi icons. It's driving the pedant in me crazy.
09-02-2010 10:04 PM
Hi majoris
could you post an example of this so I can look at it more closely?
08-17-2026 05:08 PM
Create a subclass of Actor from actor framework and use "set text icon", now root actor's cog peeks out from under its child's banner.
avogadro5_0-1787004513850.png
08-24-2026 04:02 AM
The parent icon is a separate layer that can be turned off, no?
08-24-2026 01:39 PM
There's currently no way to disable this behavior... the parent class icon will always "bleed through" when the child class icon is drawn on a terminal or constant of the child class. That's why I suggest people always ensure their child class banners are the same height as the parent class... which unfortunately means the 'Set Text Icon' feature may not be the best to use with Actor child classes.
08-24-2026 01:40 PM
Depends. Note I'm using the "develop" open source icon editor. Here's the icon of a VI after clicking "Apply Icon To VIs" from the class menu:
avogadro5_1-1787596522526.png
NI_Library layer includes the parent underlay.
If I re-import import the owning library icon from the method's icon editor I get this:
avogadro5_2-1787596600832.png
As far as I can tell there's no way to remove the icon from the "class data" icon on constants/controls/indicators, other than covering it up with something else in the child's libary icon.
avogadro5_3-1787596785148.png