Attached is the source code and project to create the LabVIEW 2012 icon editor. To install the code, do the following:
Note that in LabVIEW 2012, an API was introduced to allow you to programmatically alter the new, multi-layer LabVIEW icons. This API is located in <LabVIEW2012>\vi.lib\LabVIEW Icon API.
If you have questions or run into issues, let us know in the comments.
Where do you find the Icon API functions on the LabVIEW 2012 Tool Palettes? When I opened up the API from vi.lib and found the names of some of the VIs and then did a Search from the Functions palette, none of the VI Icon Palette vis showed up in the search.
I should give more complete answer: things in the palettes are VIs we aim to not change/delete between versions of LV. These are seen as more fluid parts of the editor, not stuff that should be part of a user's application for their end users. As such, they don't belong in the palettes until we have had them long enough to be sure the API is organized the way we want. Lots of these editor support functions exist in LV's vi.lib without being in the palettes. Sometimes they change radically between LV versions.
Good enough for me. I have been building some Scripting Code that other developers utilize to write standardized code while in the LV Development Environment and wanted to incoroporate the functionality of the icon layers into wrapper creation to futher reduce my developers coding time. This is not something that everyone needs access too on the palettes - I just thought it might be exposed similar to the Scripting code, via a setting in Tools>Options>Vi Server. Thank you for the reply.
I have an application that calls the icon editor called the FP SubVI Fixer found at
I want to call the icon editor through the development environment so the user will be able to edit the icon via the editor they have set up.
This was acomplished in previous versions by calling the Application Invoke node called "User Interaction: Edit Icon"
This node apparently was deprecated in 2010 but it still worked until 2012.
Is there a way with the new editor vis to replace this functionality?
When LabVIEW launches the icon editor, it looks for <LabVIEW2012>\resource\plugins\lv_icon.vi and launches it if present. If not present or if broken, it launches the old icon editor. You can put any icon editor you want at <LabVIEW2012>\resource\plugins\lv_icon.vi. You could dynamically switch things out, if you have directory permissions. You may want to back things up before doing it.
My goal is not to use the icon editor that I choose.
It is to use the icon editor that the user of the development environment has chosen. (Standard editor if lv_icon.lvlibp exist, Custom editor if the lvlibp renamed and lv_icon.vi is valid)
I am looking for a VI or Node that does the same thing as double clicking on the icon to open the editor.
As you stated The logic already exist to determinewhich icon editor to call.
How do I call the icon editor through the development environment to get the same functionality programmatically?