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

cancel
Showing results for 
Search instead for 
Did you mean: 

Set tabbing order within multi-cluster typedef

I have a strict typedef I'm using as a control for a user to input a set of datapoints. It has a few numerical elements, a couple checkboxes, and a couple more clusters within it. I'd like the user to be able to click the first box, type some stuff, hit Tab, and have it go to the next box through the control.

 

Unfortunately I don't see a way to have the control Tab between the sub-clusters in the main control. It just stays within whichever one you started with and loops back.

 

desired behavior.png

 

Is there a simple way to do this *other than* manually handling the Tab events in an event structure? My Google-fu failed me on this... perhaps I'm using some poor search terms.

 

The example I provided has one instance of the custom control and an array of them. The user will be filling out a reasonably large array. Tabbing between rows would be the icing on the cake, but my gut tells me that one I'll need to manually handle.

 

Thanks for any tips!

Download All
0 Kudos
Message 1 of 4
(2,237 Views)

I believe you will have to manually handle, at least that is what I did for a project.

 

There is a shortcut, that I cannot remember, hitting tab with another key that will get to the next cluster, but for me it was too much to ask the user to remember that combination, everybody is used to just tab.

 

mcduff

0 Kudos
Message 2 of 4
(2,220 Views)

Hi Bert,

 

a simple solution would be to use a different cluster just for the UI.

 

Instead of cluster of [3 clusters] I would use a simple cluster of [Name, ID, XYZ, XYZ] - just for the UI!

Now you can set tabbing order as needed. You could even use some decorations to group related controls. All you have to do now is to convert from one data representation to the other…

 

(I also like listboxes instead of arrays of clusters for the UI. Sometimes I use the listbox just to select a full row (aka cluster) and have the user do the input in controls next to the listbox.)

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 3 of 4
(2,205 Views)

@GerdW wrote:

Hi Bert,

 

a simple solution would be to use a different cluster just for the UI.

 

Instead of cluster of [3 clusters] I would use a simple cluster of [Name, ID, XYZ, XYZ] - just for the UI!

Now you can set tabbing order as needed. You could even use some decorations to group related controls. All you have to do now is to convert from one data representation to the other…

...


I think it was Michael Avaliotis many years ago writing

 

"Your GUI should not dictate the data structures used in your code."

 

Or something to that effect.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 4 of 4
(2,197 Views)