ni.com checkout is currently experiencing issues.

Support teams are actively working on the resolution.

LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
dthor

Class Hierarchy: Additional Method of Modifying Class Inheritance

Status: New

The Class Hierarchy window is a great tool to see the relationships between classes. It would be even better if you could use it to change those relationships.

 

I imagine something identical to the way we program with G: connecting wires and moving around icons. A user should be able to drag a class icon around in this window and wire relationships as they see fit.

 

21133i7D399BB1CC32A52F

 

1. Notice an additional button in the Hierarchy window. This is what's used to draw the relationships.

2. By moving an item out of the row (or column if using the "Horizontal Layout") that it's in, the relationship wire disconnects.

3. Using the wiring tool, a user can reconnect the relationship at a different level. Now the red one I've moved is a grandchild of Green.

4. If the user tries to make an invalid relationship (multiple parents, children higher than parent, etc.), then the wire shows broken. The Class Hierarchy window cannot be closed until it's fixed.

 

 

Discuss! I'd love some feedback on this idea. Good? Bad? Better method available?

 

11 Comments
dthor
Active Participant

Addendum:
If you move a class that has children, then those children follow the parent, and only the top level relationship is changed.

Darren
Proven Zealot

I think the current Change Inheritance dialog is clunky.  A one-stop shop where I can change class inheritance for any classes in my project would be great.  I don't know if we're going to see the actual Class Hierarchy dialog provide us this functionality, but there may be other alternatives, like a tree control with dragging enabled or a picture control display.

 

-D

Intaris
Proven Zealot

I second Darren on this (That's normally a safe bet right?)

 

I like the idea, but not the implementation.

dthor
Active Participant

I'd be more than happy with another implimentation; a tree control with dragging sounds great.

 

I just happened to use the Class Hierarchy box because that's where I was when I had the idea 🙂

AristosQueue (NI)
NI Employee (retired)

I'd love to see a better tool for creating classes and modifying class relationships.

 

Hey, aren't I on the team that does these sorts of things?! Yes! So I'll just find someone whose not already working on a project and ... oh... damn.

 

Ok... I need all customers to listen up. I need you to fix the economy so that NI can start hiring again so that we can expand the team. I'm tired of hearing about good ideas and having no one available to work on them. Stupid Wall Street bankers...

 

Kudos for the idea, though.

Darren
Proven Zealot

[famous last words]

 

It doesn't seem like creating a tree-based UI for this would be *that* hard...

 

[/famous last words]

 

-D

 

Spoiler

(I'll try to find some spare time at some point to investigate this...)

JB
Trusted Enthusiast
Trusted Enthusiast

I'll try to find some spare time at some point to investigate this...

 


Thank you very much in advance !

 

Daklu
Active Participant

I've often wished for a feature like this.  Couldn't some script wizards create a tool to do this or are the required commands NI private?

AristosQueue (NI)
NI Employee (retired)

This is a good idea for future LV versions. But help for this does exist today:

 

Symbio makes an excellent UML tool, capable of scripting new LV code into existence from a UML diagram, generating a UML diagram from code, and adjusting existing LV code by editing the associated UML diagram. They created this tool in partnership with us, and they continue to maintain it for every release of LabVIEW. At this time NI encourages users who want that functionality to investigate that tool. Visit http://sine.ni.com/nips/cds/view/p/lang/en/nid/209038 for more details.

F._Schubert
Active Participant

I posted a duplicate idea:

http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Make-inheritance-graphically-setable/idi-p/1276834

But there are some more argumentation to be found.

 

Felix