ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

Enhanced Icon Editor

cancel
Showing results for 
Search instead for 
Did you mean: 

Editting an Icon Programmatically - Preserving Layers

[Cross-posted to LAVA]

If I have a VI that has an icon with layers: 

1.png

And I get it's icon data via the invoke node:

2.png

Then call the Icon Editor

icon.png

I can't see the layers

3.png

The API for the Icon Editor seems to be just the image data.

4.png

Does anyone know how to:

  1. Load the layers programatically and invoke the Icon Editor?
  2. Update only one layer programmatically?

Cheers

-JG

Certified LabVIEW Architect * LabVIEW Champion
0 Kudos
Message 1 of 7
(13,217 Views)

Hey JP,

there is no way for you to get to the layer information programmatically right now.

Is there a particular reason why u want to do it programmatically rather than in the icon editor?

Tom

0 Kudos
Message 2 of 7
(8,472 Views)

One of the development tools that I use has a function to depreciate a library or class - a process involving making a duplicate of the class, swapping out the palette entries, and what's relevant to here: adding a decal to the old VIs so that if we are using a "Depreciated" vi in a older project, we can instantly see that it should be replaced. Currently this process ends up with flattened icons, but it would be MUCH nicer if we could simply add a layer to the VIs.

0 Kudos
Message 3 of 7
(8,472 Views)

Hi Tom

I want to programmatically replace a layer of an icon so that e.g. I have a library and I want to change the color of the banner/header but leave text or glyphs unchanged.

Also if I have a reference to a VI, I want to be able to invoke the icon editor and edit that VI's icon/layers manually - I essentially want to replicate the action of double clicking on a VI's icon.

Is either of these possible at the moment?

Cheers

-JG

Certified LabVIEW Architect * LabVIEW Champion
0 Kudos
Message 4 of 7
(8,472 Views)

I'll try to have SET and GET VIs ready by xmas day.

GET/SET User layers: 1D array of all user layers from top to bottom

GET/SET Template layer

GET/SET Text layer

It is currently not possible to launch the icon editor programmatically as a subVI because the wrapper VI of the most important function that is used to determine from which VI/library/ctrl/palette icon/ the icon editor is launched, doesn't have an overwrite input.

I am going to look into that as well.

Tom

0 Kudos
Message 5 of 7
(8,472 Views)

Tom, can I call you Santa?

That would be insanely cool.

Are you able to include the Tags with the image data as well?

So I can identify e.g. the NI_Library image data

Look forward to programmatically launching the IE as well!

Cheers

-JG

Certified LabVIEW Architect * LabVIEW Champion
0 Kudos
Message 6 of 7
(8,472 Views)

Here is the link to the document:

http://decibel.ni.com/content/docs/DOC-8647

0 Kudos
Message 7 of 7
(8,472 Views)