LabVIEW Idea Exchange

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

Event for Array : Index Values change

Status: New
How about an event that fires when an Array's Index Values (shown at the top left of the array) changes ?  I use a arrays of clusters of controls to present configuration options to users and would like to know when they have selected a different index.
12 Comments
JackDunaway
Trusted Enthusiast
In that case, do we want an additional property node: "IndexVals (Signaling)" (think of the difference between "Value" and "Value (Signaling)")? I think it would be powerful.
SteveP
Active Participant
Yes, because the Signaling value then provides a way of programmatically firing that new Index Values changed event.
Knight of NI
I think the better solution to this is to not use an array control in the first place. Array controls are typically a bad idea when it comes to providing a control for a user interface. I rarely use them since they are not intuitive for the "regular" user.
dan_u
Active Participant

I rarely use arrays on the UI as well. When I do so, I usually hide the Index Display and use a separate control (something more self-explanatory like listbox, enum, ...) to select the visible array element(s).

Anyway, I like the idea.

JackDunaway
Trusted Enthusiast

If you're trying to emulate a straight-up Windows app, and if the user has a mouse, and if you don't want nice icons, and if you don't need to resize the scrollbars, then sure, don't use arrays in your UI. But if you're programming for embedded touch panels, I would argue you're going to hard pressed to not use arrays. It simply boils down to customizability and properties available: arrays trump your trees, listboxes, rings, etc.

 

I would DEFINITELY agree with the statement that a "Vanilla LabVIEW Array should not be shown in a UI" - I would just as likely show an error cluster indicator!!! But there's surely a place for arrays in UI's.

Message Edited by JackDunaway (mechelecengr) on 09-30-2009 07:02 PM
Message Edited by JackDunaway (mechelecengr) on 09-30-2009 07:03 PM
Knight of NI

JackDunaway wrote:
I would DEFINITELY agree with the statement that a "Vanilla LabVIEW Array should not be shown in a UI" - I would just as likely show an error cluster indicator!!! But there's surely a place for arrays in UI's.

I agree there's a place for them. That's why I and dan_u said "rarely" and not "never". 

altenbach
Knight of NI

I agree that this would be a useful addition. I very often use arrays on front panels, often as indicators. 🙂

 

The event should also be triggered by a scroll bar change, of course (which is also an index change!).

 

I've had scenarios in the past where I had several vertical 1D arrays next to each other (e.g. a string and a numeric array, because making an array of clusters would waste too much space on frames), and only the rightmost showed the scrollbar. The problem was to scroll all other arrays accordingly whenever the rightmost got scrolled.

 

An event as suggested would make things like that much easier! 🙂

 

 

SteveP
Active Participant

Let's say I have several measurement results for an instrument such as voltage, current and temperature.  I wish to display those in a manner that shows they are all associated with the instrument and I want a graphical indicator (meter for example) display rather than just a numeric.  Furthermore, there are several of these instruments and the number of those instruments can vary at run time.  I have been putting the indicators in a cluster and then using an array of those clusters to be able to change the number of displayed collections (clusters) of those indicators by changing the number of array rows.  Is there a different/better approach ?

RavensFan
Knight of NI

Steve,

 

Your message doesn't sound like it is a comment about the proposed idea on how to improve LabVIEW, but a more general LabVIEW question that you should be posting in the LabVIEW board.

Fedor
Active Participant

I would also  like to see Array Index Value Change Event added to Labview in the future.