From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW Idea Exchange

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

Flat controls, indicators, and containers

Status: Completed

Available in LabVIEW NXG 1.0. The default style of front panel objects in NXG is a flat style.

As soon as we have more complicated data structures (e.g. clusters of arrays), a large portion of the FP real estate is wasted taken up by borders, frames and trims, etc.

 

We need a palette full of "Amish" 😉 controls, indicators, and containers that eliminate all that extra baggage. We have a few controls already in the classic palette, but this needs to be expanded to include all types of controls, including graphs, containers, etc.

 

A flat control consists of a plain square and some text (numerical value, string, ring, boolean text, etc). A flat container is a simple borderless container.  A flat graph is a simple line drawing that would look great on a b&w printer. A flat picture ring looks like the image alone.

 

They have a single area color and a single pixel outline, if both have the same color, the outline does not show. They can also be made transparent, of course. If we look at them in the control editor, there are only very few parts.

 

Now, why would that be useful?

 

Let's have a look a the data structure in the image. There is way too much fluff, distracting from the actual data. If we had flat objects, the same could look as the "table" below. Note that this is now the actual array of clusters, no formatting involved! It is fully operational, e.g. I can pick another enum value, uncheck the boolean, or enter data as in the cluster above.

 

Many years ago in LabVIEW 4, I actually made a borderless cluster container in the control editor and it looked fine, but it was difficult to use because it was nearly impossible the grab the right thing with the mouse at edit time.

 

The main problem of cours is that the object edges completely overlap, making targeted seletion with the mouse impossible. (For example the upper right corner pixel is the corner of an array, a cluster, another array, and an element at the same time.)

 

So what we need is a layer selection tool that allows us to pick what we want (similar to tools in graphics editing software). It could look similar to the context help shown in the picture with selection boxes for each line. Picking an object would show the relevant handles so we can intereact with the desired object. Another possibility would be to hover over the corner and hit a certain key to rotate trough all near elements until the right element is selected, showing it's resize handles. I am sure there are other solutions.

 

As a welcome side effect, redrawing such a FP is relatively cheap.

 

Message Edited by altenbach on 06-03-2009 09:20 AM
Message Edited by altenbach on 06-03-2009 09:20 AM
38 Comments
crelf
Trusted Enthusiast
I'd like to be able to set the size of the border of my controls and indicators by number of pixels (starting from 0, or have a "Visible Items > Border" right-click menu item.




Copyright © 2004-2023 Christopher G. Relf. Some Rights Reserved. This posting is licensed under a Creative Commons Attribution 2.5 License.
JackDunaway
Trusted Enthusiast
Genius. This seems COUNTERINTUITIVE for HMI designers, because it seems like your front panels would become flat and drab - but anyone who has spent time customizing controls would LOVE this feature.
Charles_CLA
Active Participant
Have you tried the .Net DataGridView? I've found that it uses far less space and is much more flexible than anything offered in native LabVIEW. Regardless, I'd like to see NI release some updated controls for LabVIEW.
Charles Chickering
Architecture is art with rules.

...and the rules are more like guidelines
Thoric
Trusted Enthusiast

As soon as I saw your second graphic I thought to myself - "I need that!"

Love it.

NI - Make it happen!

Thoric (CLA, CLED, CTD and LabVIEW Champion)


Intaris
Proven Zealot

@Charles_CLD

 

.NET doesn't port too well to Mac or Linux......

 

And my internal Geek Lawyer tell me to stay as far away from MONO as humanly possible....

 

Shane.

Erik_the_young
Member

I'd really LOVE the flat controls!

Last time I had to replace a control inside an array of clusters (resized to 10 elements, no index display) the whole thing became a good 5% higher, ruining the FP layout.

Half an hour lost (repositioning/resizing other elements) because of the thicker borders...

Using LabView 6.1, soon to be upgraded (I hope)
I have just passed CLAD
My priority: KNOWLEDGE!
Mads
Active Participant

I hope NI does not look at the number of kudos alone when they decide on what to implement. Popularity contests have their weaknesses...

 

Flat controls e.g. would be a huge advantage compared to lots of ideas that have received more kudos.

 

Nothing wrong with those ideas, by all means, but I would take flat controls over a smaller boolean constant (the top rated idea right now) any day...

CrystalTech
Member
This is a Greeat Idea.  Another example of making the Front Panel more diverse and usable.  The real estate is so minimal, while keeping the data still very readable.  One can make this type of display from the multi-column list box, but with the inclusion of the check box, it would be a chore.  If NI could make this work, it would be a time saver.  Thanks
altenbach
Knight of NI

> One can make this type of display from the multi-column list box

 

Indicators are one thing. The main advantage is in the case of controls. You get all the automatic input checking for the various types of controls (e.g. you cannot enter text into a numeric etc.). Rings act like we expect, showing all the contents when clicked. Time staps can be edited correctly.

 

While the frame of a flat control should be one pixel wide, the frames of adjacent elements should overlap by one pixel so it does not turn into a two-pixel boder.

 

PJM_Labview
Active Participant

For those of you who cares, AistosQueue posted on LAVA (several years ago) a "borderless cluster.ctl" (it actually has a one pixel border) that is extremely usefull in these kind of situation.

 

 



  


vipm.io | jki.net