LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Question about class icons

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.

Message 1 of 6
(3,399 Views)

Hi majoris

 

could you post an example of this so I can look at it more closely?

Joe Daily
National Instruments
Applications Engineer

may the G be with you ....
0 Kudos
Message 2 of 6
(3,368 Views)

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.pngavogadro5_0-1787004513850.png

Message 3 of 6
(435 Views)

The parent icon is a separate layer that can be turned off, no?

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 4 of 6
(321 Views)

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.

0 Kudos
Message 5 of 6
(281 Views)

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.pngavogadro5_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.pngavogadro5_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.pngavogadro5_3-1787596785148.png

 

 

 

0 Kudos
Message 6 of 6
(280 Views)