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
(11,120 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
(6,375 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
(6,375 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
(6,375 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
(6,375 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
(6,375 Views)

Here is the link to the document:

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

0 Kudos
Message 7 of 7
(6,375 Views)