LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Scripting - List of overridable VIs for class

Does anyone know of any convenient means for getting a list of VI methods given a class and its ancestry, of what VIs *may* and *need* to be overridden? Perhaps I've missed something but I haven't happened upon any "easy" properties or methods that expose a list like this. I also haven't stumbled upon how the list is generated for the "VI for Override..." tooling.

 

I've already got a package that changes the existing behavior of "pop open every override VI you want to create, but as an unsaved, in-memory VI" to "save everything immediately (we know the class folder and VI name...), skip displaying any VIs, and expand all necessary project tree items to make all new VIs visible. *Chef's kiss*

 

What I'd like to create is a tool, that given a class with an established ancestry, allows listing all overridable VIs, defaults to generating all required overrides, and allows optionally selecting optional overrides. Much like the app builder include lists for items in a project. Even better is a tool that is able to interpret some meta-data from ancestors: Provide some categories of use-cases for an override that also specify what overrides are needed to fulfill that capability. This could be special tags in documentation for the abstract VIs, extra tooling that applies tags to items internally, and so forth. It could even add a bunch of bookmark comments to walk a developer through making sure they touch all the created overrides. (If you're *this* kind of tree item, these vis are functionally necessary, if you're this *other* kind of tree item these items are necessary kind of thing, though by language semantics they aren't *required*)

 

I can make all of this and a fancy easy-to-use editor except for the first step of knowing what overrides are available.

 

Even better would be replacing/providing an alternative for the existing New Class UI with something incorporating this tooling to all-in-one get a class created with all the necessary VIs in place with bookmarks to peruse. Which, again, I know how to do except for the first step of the list of overridable VIs given an ancestry tree.

 

And this is all streamlining development activity and not anything that would go into deployed code so I'll gladly step on a few rusty nails to accomplish this in the near term if it requires an update in future versions; the existing tedious tooling will always be available.

~ The wizard formerly known as DerrickB ~
Gradatim Ferociter
0 Kudos
Message 1 of 3
(876 Views)

If necessary, I could traverse all inherited parents and interfaces and diff a list of existing VIs... which is what some of the existing tooling seems to do. I'm curious if there's a faster way or an existing VI I could look at that accomplishes this. The New -> VI for Override is displayed much faster than I'm sure this route would achieve so I'm sure there's something I haven't found yet.

~ The wizard formerly known as DerrickB ~
Gradatim Ferociter
0 Kudos
Message 2 of 3
(873 Views)

I don't think there's an easy way.

 

All method file names gives all methods a child has available.

 

Sadly, it returns names, and then you need to go into the project items to get info.

 

wiebeCARYA_0-1678894585212.png

 

0 Kudos
Message 3 of 3
(826 Views)