Author: Dale (NI)
Adds an Open Typedef menu option to wires:
If the wire is not a Typedef, the option is greyed out.
I ended up recreating the plugin described this post - looking for "open typedef" menu item when clicking on typedef wire. It looks like the code was never actually posted though so I uploaded mine .
Attachment is saved in LabVIEW 2016. For install instructions, go here.
Why not hide the menu item completely if it's not a typdef?
> Why not hide the menu item completely if it's not a typdef?
Craig: That would violate general good UX design principle: When the same object can have the item sometimes available and sometimes not, disabled and grayed out is preferred over hidden so that items below that do not shift position... helps with user muscle memory hitting the target repeatably. There are two reasons why this menu item would fall into that category:
1) Because a wire can change types and sometimes be a typedef and sometimes not
2) Because wires overall need a consistent menu and there can be a mix of typedef and non-typedef wires on the same diagram
Sometimes a given menu item may violate this general rule, but I think Hey.ItsDale has made the right choice here.
Please note that this rule -- driven by the pain-in-the-hand that breaking the rule causes -- has sometimes lead LV R&D to leave out valuable commands from the right-click menus because their rarity makes them poor candidates to be sitting there almost always grayed out and just taking up space. That's one reason that "Advanced" pull-rights tend to develop -- to bury rarely enabled options so they don't bounce the main menu.
It's a hard UX problem to solve, and it is one reason that so many UX designers say software needs to get away from right-click menus entirely and move toward more direct manipulation, property pages, or menu/ribbon bars, or some new UI element (in that order of preference).
As with all UI decisions: YMMV.
PS: Hey.ItsDale: Kudos.
Thanks for providing that explanation!
Something along those lines was about 10% of my reasoning for doing this. The other 90% was not knowing how to conditionally place an item in the menu using the VI template
> not knowing how to conditionally place an item in the menu using the VI template
You know the array output of the plug-in VI where you specify all the aspects of your menu item? Just return an empty array. Or not. Case structure will do that. 🙂