LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
Mr._Jim

A Better Way to Choose LVOOP Class Colors

Status: New

Hello all,

 

This is a rather non-technical request.  When classes are created from Project Explorer, a color is assigned by default.  If that's a color you're fine with, you hastily modify the icon and move on to more important matters.

 

While the color assignment works well enough to serve its mundane purpose, I've noticed several weaknesses:

 

  1. The object "cube" icon is not so easily edited because of its pretty, blurred lines and several colors.
  2. As far as I can tell, there are exactly six color families that LabVIEW assigns to classes: "goldenrod," blue, green, red, yellow, and purple.
  3. Depending on the order you make your classes in, the colors can introduce confusion.  e.g. What if three layers of inheritence are all blue? Not a big deal, but confusing nonetheless.

 

My suggestion is this, and maybe there's a better way to do this:

 

In the class properties dialog, why not allow the user to simultaneously assign a color scheme to the icon and the class private data ("cube") icon, in one quick step?

 

This would adjust the hue of the "cube" icon and the VI Icon Template at the same time.  It could also optionally modify the wire color accordingly.

 

Leave everything else on the UI as it is - this would be a new feature in addition to that pre-existing methodogy.

 

Thank you as always,

 

Jim

 

Note: For the sake of simplicity I chose the color picker dialog that LabVIEW uses everywhere else.  Any of several other methods could be used, such as a pulldown menu with predefined color names and swatches.  (Say, a dozen selections)

 

suggestion.png

 

Related ideas I came across:

http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Change-the-color-of-different-classes-in-the-project-e...

http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Class-ICON-update-to-Class-wire-scheme/idi-p/2516440

7 Comments
SteenSchmidt
Trusted Enthusiast

Yes, please!

 

Especially the cube, as you say, is next to impossible to re-color so it looks nicely. And when you have selected a color, started implementing your class methods etc, and then decides to change color scheme... Double d****!

 

My solution is often to select an entirely different icon look for my class members, totally defeating the built-in tools for maintaining a consistent look of the class. Your idea would solve this I think.

 

/Steen

CLA, CTA, CLED & LabVIEW Champion
Mr._Jim
Active Participant

Thanks, Steen!

 

At minimum, I think there ought to be a way to select the color from the existing six color allotment, but alas, there is not, and LabVIEW chooses for you.

 

The way I color "the cube" is by copying its image to an external editor, tweaking the colors quickly, and then copying and pasting the modified cube back into the icon.  Granted, most people probably just shrug and react with apathy, but when there are a lot of classes, especially in larger class hierarchies, it's worth making them visually recognizable.

 

I don't want to spend more than five seconds selecting a color, but I don't want to have classes of cooincidentally simlar colors, either.

 

Thanks for your kudos!

Intaris
Proven Zealot

I do the same to re-colour the cube.  Should really be unneccessary.

 

Kudoed.

AristosQueue (NI)
NI Employee (retired)

Newsflash TODAY:

National Instruments has acquired the Symbio GOOP Development Suite. It is now available through the LabVIEW Tools Network for FREE. The VIs have had the passwords removed as well, making it more extensible.

 

https://www.ni.com/en/support/downloads/tools-network/download.goop-development-suite.html

 

Among several things that the GDS does, it provides a better experience for selecting colors/iconography for LabVIEW classes, including recoloring the cube.

 

If you need help with the GDS or if you make changes to the GDS that you want to share with others, you can find the GDS community here:

https://forums.ni.com/t5/GDS-Goop-Development-Suite/bd-p/5050

Mr._Jim
Active Participant
Excellent news, AQ. I will try it out. Thanks!
Mr._Jim
Active Participant

I've only played with this toolkit for a few minutes, and already I'm very impressed.  A lot of my prior Idea Exchange requests seem to have already been answered!

 

This looks to be a very worthwhile investment on NI's part.

 

Thanks again for the announcement!

 

So how much did you pay for it?  Smiley Very Happy

Just kidding.

AristosQueue (NI)
NI Employee (retired)

> This looks to be a very worthwhile investment on NI's part.

 

This has actually been an investment of NI's for many years -- we've given special support to Symbio (and Mikael) to make sure that their tools were supported in the new versions of LabVIEW, even carving new features into LabVIEW for GDS to hook into. Our development team was too small to handle all the feature requests that were coming in for OO -- that one extra developer was critical. Once Mikael got the GDS going in the first couple years, it was hard to change the status quo. He kept developing it as a separate piece, but there has been a constant drumbeat in the background from users who didn't like depending upon third-party software that didn't have NI's explicit guarantee "this will be supported by us for the long term." With this change, our hope is that more users will be able to use the toolkit and feel more secure with the NI stamp on it. We do not have the resources to continue expanding the toolkit, only to maintain it, which is why we made the decision to open it up to the community.

 

As for this:

> A lot of my prior Idea Exchange requests seem to have already been answered!

 

Yes. In many cases, it made more sense to add features to the GDS, even though it was a separate add-on for LabVIEW. I have long wanted these things to be part of LabVIEW proper, but rewriting them in LabVIEW made little sense... the development effort needed to catch the core of LabVIEW up to the GDS was significant, it would mean NI competing directly against one of our good customers, and I really just wanted to copy Mikael's code, not reinvent it. It took many years to get the corporate forces to align such that the toolkit could move to NI and get opened up.

 

It would be lovely if some of it could become part of LabVIEW directly, particularly the "New >> Class..." experience. But that repackaging is a significant amount of effort at this point, so I'm happy with it being a free add-on at this time, especially as I am no longer on the development team that makes such decisions.