First I apologize for the rather vague post subject heading. I have (5) 32 channel thermocouple boards in a PXI chassis. The user has the option to turn on/off any channel as well as apply a custom label, such as "motor winding". My current solution has a cluster of 32 booleans to turn on/off each channel and another cluster of 32 string controls for text input. I then align the two clusters on the front panel to give the impression of one cluster. I did it this way because it seemed to make things easier when it comes to parsing the different parts of the clusters later in the program. When applied to 5 boards I end up with 10 clusters to manage make visible/invisible. Is there a more elegant approach to what I want to accomplish? I'm open to taking on an entirely new approach if it means a cleaner programming approach.
Let me toss out a couple of ideas: A tab control may be easier to program and use then hiding / unhiding information for the five boards. If it is possible to modify the front panel during edit time instead of runtime, you could use the 'Label.Text' property of the boolean (and name the bool on the front panel) instead of a string control to give channel names. also - I think I would create a cluster of one bool and one string and place 32 copies of that cluster into another cluster instead of having two clusters for each board - this will give one cluster per board.
Some other ideas:
1. Create just one cluster with boolean, name, and an index or channel number. When the user has edited that cluster, have the user press an enter button which updates the internal data structure (which may be an array of clusters or a cluster of arrays or something else). Also have an indicator which shows status of all or a group of channels.
2. Use a list box with symbols. Some of the available symbols look like check boxes or buttons. You need to do some manipulation with property noddes to change the symbols from unchecked to checked. You also need to use metakeys to check multiple items.
Attached is an image of a possible code. You have to improvize it to programmatically build an array of the cluster data, for each channel selected, along with the device and channel selected in the combo boxes.
Use property nodes, to select channels and input their respective configuration.
This is an image of what Lynn suggested and what I would do if I develop the code.
As an afterthought, I would also use a Tree with Devices and Channels available, for selection. I could use proerpty nodes and invoke nodes to indicate the configured channels, and add the configured details in successive columns, for each channel.