Jump to content
Sign in to follow this  
hooovahh

Add Palette to Library or Class Bug

Recommended Posts

So I thought I'd try out the Add Palette to Library or Class option when building a package and I found a few limitations, but first let me mention a bug that I think prevents it from working properly.

 

I tested the feature by building a package and checking the box, then selecting a .lvclass file that is in my source. I then built the package and installed it. But when I right clicked on a class constant or a member of the class the root palette didn't show up like I expected. I opened the installed class and saw what in my case was the "functions_Hooovahh_CAN.mnu" file added to the root of the class. I also opened the class in a text editor and saw the line:

 

functions_hooovahh_can.mnu

 

The problem I see is that this is a case sensitive operation. I editing the text in my class file to read:

 

functions_Hooovahh_CAN.mnu

 

Then closed and reopened LabVIEW and my root menu now shows up if I right click a node on the block diagram. This was built with VIPM 2016 SP1 2016.0.1 build 1991.

 

In addition to this I think this feature is a bit limiting. This feature only works if you are building a package with one class or library in it. My reuse library is build in ways that mirror the NI palettes, and as a result having a palette like "File I/O" means there are several subpalettes each potentially with their own library. Being limited to only selecting one library for a package means this just doesn't work properly. What I think would be a neat feature is to look at the members of a class or library, then figure out what is the most root palette created that a member belongs to, and then add that mnu to the library and adding the default menu there. I think I can do this in a post-install VI but think others might benefit from a simple one click checkbox which would do this for you. It is also possible that I'm the only one that has more than one library or class in a package.

Share this post


Link to post
Share on other sites

So if anyone is interested in the second half of my post, I've attached a VI that does what I was suggesting. It takes a list of Installed Files which the Post-Install VI can return. Then for all Libraries and Classes it looks at the members, and find where they are on the palette and finds the most root MNU file installed and sets the default menu to this palette. So for instance if you have a palette with an Advanced subpalette, all members in that Advanced palette will actually point to the root palette when you right click which is think is a normal work flow since the right click doesn't give bread crumbs to navigate up, only down.

 

I intend on using this in my package building instead of the built in function because of its support for multiple classes and libraries within a package.

Set All Libraries and Classes Default Palette.vi

Edited by hooovahh

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site, you agree to our Terms of Use.