Array of clusters TAB next element

I have an array of clusters and I want with the TAB key, when I am at the last element of the cluster i, move to the first element of the cluster i+1.
Jean-Marc
Jean-Marc
LV2009 and LV2013
Free PDF Report with iTextSharp
Attachments:
Array of clusters.jpg ‏132 KB

Thanks for they answers.
My problem is the triple TAB (TAB -TAB -TAB) to change the array line  i to i+1.  
Click on an element in the array and move with the TAB key.  When you  are at the element "VOC":
- the first TAB (event "<VOC>:Key Down?" ) generate CTRL +UP (return to tabbing among front panel controls -return to CLUSTER at line i);
- the second TAB (event "<Cluster>:Key Down?" - sequence through the array- move to the array line i to line i+1)
- the third TAB (event "<Cluster>:Key Down?" )generate CTRL + DOWN ( move the key focus inside the array or cluster -move inside the cluster at the line 1+1);
I try to reduce the number of TAB.
Jean-Marc
"Complete the following steps to
use the <Tab> key to move through elements within a single array
or cluster when you run a VI.
Display the front panel. While the VI is running, press the <Tab> key until the array or cluster is highlighted.
Press the <Ctrl> key and the down arrow key to move the key focus inside the array or cluster. (Mac OS) Press the <Command> key. (Linux) Press the <Alt> key.
Press the <Tab> key to sequence through the array or cluster elements and the array indexes.
To return to tabbing among front panel controls, press the <Ctrl> key and the up arrow key. (Mac OS) Press the <Command> key. (Linux) Press the <Alt> key."
Jean-Marc
LV2009 and LV2013
Free PDF Report with iTextSharp
Attachments:
Tab Array Clusters LV8_0.vi ‏94 KB

Similar Messages

  • Different set of values for two rings in an array of clusters

    Hi, people.
    Is it possible to do what it's shown in the attached picture?
    I have an array of clusters. Two elements of the cluster are rings. Can I define a different set of values in the second ring (the one at the right) depending on the value selected in the first ring (the one in the middle)?
    If not, could you give me a good alternative?
    Thanks,
    FranciscoMensaje editado por Porras
    Attachments:
    Rings.jpg ‏270 KB

    I'm trying to do something very similar to your example but populate the comboboxes (or Rings) programmatically.    What you have is so, so close but it seems to require input from the mouse to get the correct control.    I don't really understand why you can change the String[] parameter in your program and it works fine but mine changes all the elements throughout the array.    The Refnum for the control does not change regardless of what cell is selected.   So, I'm a little puzzled how the correct cell or element is updated with the new combobox string.   
    Ultimately, I want to have an array of variables with an associated combobox (ring) of options.     So, for variable Temperature, the options are Cold, Cool, Warm, and Hot.   Then, variable 2 is Pressure, which might be Low, Medium and High.    Yes, this is for a fuzzy logic controller (not part of the NI Controls Toolkit).
    Any help is greatly appreciated!!!
    Attachments:
    TestRing.vi ‏19 KB

  • Saving data from 1d array of cluster of 2 elements: HP 8752 driver

    I'm using the following driver to communicate with my HP 8720C Network Analyzer
    http://sine.ni.com/apps/utf8/niid_web_display.down​load_page?p_id_guid=E3B19B3E9092659CE034080020E748​...
    ...So far I've easily been able to use the "collect and display data" vi, except for saving data. All I want to be able to do is save the data from a single sweep in spreadsheet format. Displaying the data is no problem, which I can then print, however, the output data file is a mess. The VI is rather complicated, and I can't figure out how to save the data in a nice pair of columns of numerical values.
    The VI's output data is in the format of a 1 dimensional array of clusters of 2 elements (ie the x-y values). I would've thought it would be trivial to do this, since this is the standard format for data for the classic X-Y graph. So far, I haven't been able to come up with anything. Any ideas?
    Thanks,
    Spence

    Feed the array of clusters into a for loop with autoindexing enabled (the default). Inside the loop use the Unbundle primitive to extract X and Y for one point. Use Build Array to make a two-element array from X and Y. Wire this array out of the for loop and you will have a two dimensional array with two columns and as many rows as there are elements in the array of points.
    Lynn

  • How to change the tabbing order of an array of clusters?

    How to change the tabbing order of an array of clusters?  I have the cluster arranged in table in the front panel.   The cluster element goes horizontal and array element goes vertically.   When I press the tab key, the cursor goes to the next array element instead of the next cluster item (down instead across).
    Solved!
    Go to Solution.

    Broken Arrow wrote:
    Harold asked a perfectly reasonable and necessary question, but how is that a Solution ???
    I believe it is called the Socratic Method.
    Sea-Story time
    I had the privledge of working for Ron Davis when he managed the Allegheny District of DEC. He was an ex-WO4 (Highest possilbe rank for non-commisioned officer in US Navy, required act of congress to confirm).
    Ron never answered any question I ever saw presented to him. I remember a group of managers in a frenzy over some issue  running to him to to see what he thought. He asked them a series of questions that lead them to the solution and soon they were smiling and slapping each other on the back as they walked away.
    Who is that has a signature that read "it is the questions that guide us"?
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Keyboard "tab" control in Array of Clusters

    I'm trying to polish some of my LabVIEW user interfaces so that my users can work faster in them and so that they follow more "Windows UI Standards" (or whatever).
    I have an array of clusters.  The cluster has 3 numerics.
    When a user "focusses" on the first numeric within a cluster and hits the tab key, it moves the focus to the second numeric.  Hit tab again, and it jumps to the 3rd numeric.  Hit the tab key a 3rd time and it jumps back to the first numeric in the cluster.  What I want to happen is for the focus to move to the first numeric in the next element of the array.
    I've started to play around with the "Key Down" event case that has a conditional looking for "TAB" and then checks the "FindCtrlWithKeyFocus" with the last numeric.  My probes within this event show that the "TAB" key detection is working, but the "FindCtrlWithKeyFocus" never has a TRUE output from the "CtrlFound?" output of the Invoke Node.
    Even if I did know if tab was pressed in the last element, I'm not real sure how to move focus to the first numeric within the next cluster element of the array.
    A numeric array behaves in the correct way.  I could get the program working the way I want with a 2d array of numerics.  However, each numeric has different data entry parameters and there is also a lost of "self documentation".  I would like to find a solution because this has come up with other, more complex, array of clusters that would not be solveable with a 2d array of a base type.
    Seems overly complicated to me.
    Bonus Question: The default value of my numerics is 0.  When my user clicks a numeric the cursor is on either side of the 0 and the user has to delete the 0 prior to their data input.  When a numeric is entered via the Tab key, the whole field is selected.  When the whole field is selected, whatever the user inputs will replace the original "0" that was in the field.  Anyway to have the whole field selected when the user uses the mouse?
    Sorry for the wall-of-text post (and the preposition hell).  Thanks for your input.
    Solved!
    Go to Solution.

    Well I've gone and gotten the tabbing behavior you're looking for.
    -the key is to set "skip when tabbing" on the controls inside the clusters to true, and leave it false for the array elements.  Now when keyfocus is on one of the cluster controls and Tab is pressed, LV will put the keyfocus on the next visible array element.
    -then use a "key down?" filtering event to check and see if any of those controls have keyfocus when Tab is pressed.  If so, and it's not the last control in the cluster, discard the keypress and programmatically advance keyfocus to the next item.  
    -Finally if the Tab press was not discarded, use a normal "key down" UI event to check if one of the array elements now has keyfocus and if so, set KF to the first control in its array.
    So in short, this setup turns off tabbing along a row so that every tab will move to the next row.  Then it filters out Tab if it's not yet at the end of the row.  Finally, it automatically puts the cursor in the first column when the row has advanced.
    One significant drawback is that it only tabs between visible array elements.  You can probably make it auto scroll.
    I'll leave it as an exercise for the reader to handle the shift+Tab (reverse tabbing) key presses.
    To me, this runs up against three holes in LV UI programming:
    1) Array Element events should be available.     The Array:Key Down event only handles key presses when the array has keyfocus, not when things inside it do.  Any kind of key filtering has to be done at the VI level (!!!).
        The data source for these events should include the element index (eg what cell was clicked on?)
    2) There aren't effective ways in VI server to deal with individual array elements.  I recognize that some of it is the basis that array elements have the same properties, but there are display and selection properties that do differ between cells.  I ought to be able to specify that a particular cell index has keyfocus.  Arrays, why can't you be more like Tables?
    3)Tab order should be flat, not hierarchical.
    edit: in case the snippet messes things up, file is attached.
    -Barrett
    CLD
    Attachments:
    Tab through cluster array elements.vi ‏28 KB

  • Use tab to advance through array of clusters?

    I have a control which is an array of clusters.  Is there any way to have the tab key advance through elements in the cluster, then proceed to the next array element at the end of the cluster?

    It's a wacky workaround but you could try using an event handler to capture the tab key and then programmatically tab through each element.  This forum post has a GREAT example posted on the second to last post that does exactly what you are looking for.
    http://forums.ni.com/ni/board/message?board.id=170&message.id=380344&requireLogin=False 
    David_L | Certified LabVIEW Architect
    LabVIEW Tools Network | LabVIEW Tools Network Developer Center

  • Event Structure's value change, not detecting changes when tabbing thru array of clusters

    Hi!  I have an array of clusters (int, int, string, int) control, and want to detecting changes made to the it.  I used the Event Structure's value change case on the array, it works excellent except that it'll only detect the changes when you click out of the element or press the enter key (the one by the numbers, not carriage return).  I want it to detect the changes when I tab thru the cluster or array too, but I can't figure it out... Does anyone have any ideas?
    Thanks!

    mfitzsimons wrote:
    altenbach
    Tried Value Change with my example done in 7.1 and it doesn't trgger an event.  That is why I suggested Mouse Down.
    Curious. I did a few minor edits in 8.0 before saving as 7.1, but the simple value change event got triggered just fine when the value vas terminated with a tab in 7.1. Every time.  Strange....
    Are you on 7.1 or 7.1.1? Maybe there's a difference (I am using 7.1.1).
    LabVIEW Champion . Do more with less code and in less time .

  • Using Enter key from numeric keypad to enter and switch to next element in an array control

    Hello all,
    I have a question regarding a simple but annoying problem, of which I did not found a solution yet.
    I have written an application in which I have to enter data manually in a numeric array control.
    If I want to enter the value and go to the next element in the array control, i am forced to use the Tab key on my keyboard, or risk RSI using the mouse.
    How can I assign the Enter key of the numeric keypad section of my keyboard to to the same as the Tab key?
    Kind regards,
    Raymond

    [email protected] wrote:
    Can you convert the example in a image or can you convert in to 8.2.1 version?.
    Best regards
    Saved in 8.2.1 for you.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    Change Array Event.vi ‏16 KB

  • Sort 1D array of clusters by the second element in the cluster

    Hello Folks,
    I need to sort 1D array of clusters [Point (X & Y)] using the second element (Y) of the Point cluster. Can anyone guide!!!!
    Thanks.
    Manu

    I see Darren is a bit faster than me.
    Here's my solution (LabVEWI 7.0), it is pretty similar.
    Message Edited by altenbach on 03-22-200602:01 PM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    SortByElement2.png ‏4 KB
    SortByElement2.vi ‏27 KB

  • Change properties of a cluster element withing an array of clusters

    Hello all,
    I have an array of cluster that is shaped as a line with different display elements.
    A list or a tree wouldn't have made it, so I had to use a cluster and make a table.
    The problem is that I want to change not only the text but also the text color.
    Individually.
    I found this :
    http://www.ni.com/example/30904/en/
    But it change the property in all the clusters in the array, not just the one I need.
    Some people have the same problem :
    http://forums.ni.com/t5/LabVIEW/Reference-to-Array-of-Clusters-with-an-array-element/td-p/1006427
    http://forums.ni.com/t5/LabVIEW/Different-set-of-values-for-two-rings-in-an-array-of-clusters/m-p/10...
    http://forums.ni.com/t5/LabVIEW/array-of-clusters-get-references-to-all-the-clusters/td-p/1079456
    http://forums.ni.com/t5/LabVIEW/How-can-I-reference-the-properties-of-a-control-in-a-cluster-in/m-p/...
    http://forums.ni.com/t5/LabVIEW/Writing-only-to-certain-cluster-elements-in-an-array-by/m-p/2200728
    http://forums.ni.com/t5/LabVIEW/Update-Properties-Of-One-Control-In-An-Array/m-p/3015501
    http://forums.ni.com/t5/LabVIEW/Array-of-clusters-and-in-the-cluster-is-a-bar-meter-how-can-I/m-p/15...
    http://forums.ni.com/t5/LabVIEW/Property-node-of-a-control-inside-of-cluster-inside-an-array/m-p/946...
    Obviously, while in a list/table or tree you can change the property of an individual
    cell (font, color) you cannot do it within an array of cluster, by some sort of magic,
    the property of a cluster element (font, color) are all linked together, hence rendering
    the use of an array worthless.
    A possible hack is proprosed by using control masking, setting one visible and the
    other invisble, swapping their position, whatever. It's a hack you have to perform,
    hence add another code to maintain.
    Is that still the case or is there now a more official way to handle individual cluster
    properties, not just its data ? After all that's a common real-life example that should
    be handled by Labview. In my opinion.
    David Koch
    Solved!
    Go to Solution.

    altenbach wrote:
    One of the elements could be a 2D picture indicator of about the same size. You can write text in any color using picture functions.
    Here's what I had in mind. Seems to work just fine (I would fine-tune the font, picture border, etc. but this should get you started).
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    ColorText.png ‏13 KB
    ColorText.vi ‏9 KB

  • Adding next element into an array

    I can manage to add the first element as I want in a for loop, however, the next element simple overwrites the index array element. I would like it to add the next element to the next space in the array.
    This is how I have declared it.
    private String stuff[];
    This is it initialised, with 10 as an example.
    Stuff = new String[10];
    This is inside a method with a string tokenizer ("st").
    while(st.hasMoreTokens())
    boolean comparsion = enter.equals(st.nextToken());
    if(comparison == true)
    stuff(i) = st.nextToken(); <<the brackets next to stuff () are meant to be [] but forum formats to italic
    I am trying to add values that match what is entered in a parameter (enter is the parameter variable) against the tokens in a file. It seems to add the first match in the array and then if run again it replaces this a new match and is not added as the second element. Any help much appreciated.
    Thanks.

    Use the code tags as follows next time:
    your codeThank you.
    Your problem is you do not increment i;
    stuff = new String[10];
    int i = 0; // declare and initialize i
    while (st.hasMoreTokens())
      boolean comparsion = enter.equals(st.nextToken());
      if (comparison) // no need to == true
        stuff[i] = st.nextToken();
        i++:  // increment i
    }

  • Type defined array of clusters for holding configuration data - setting default values for each array element

    Hi,
    I was wondering if I could get some information and opinions about using a type defined array of clusters to hold configuration data.  I am creating a program to test multiple DUTs and wanted to have a type defined control for each DUT containing the information needed to create the DAQmx tasks for all of the signals for that DUT.  I am wanting to do this so that the data is hard-coded and not in a file that the user could mess up.
    The type def controls are then put in a subVI that chooses the appropriate one based on the DUT Type enumeration wired to a case structure.  
    I am having problems with the type defined control.  I am seeing issues when attempting to save a unique configuration to each array element in the array of clusters.  Somehow it worked to begin with, but now clicking "Data Operations --> Make Current value default" on individual elements of the cluster or the entire cluster (array element) is not saving the data when I re-open the type def control.  What am I doing wrong?  Am I trying to do something with arrays of clusters that I should not be doing?
    I have attached one of the type defined controls for reference.  I tried changing it to Strict to see if that helped, but no luck.
    To reproduce, change the resource string for array element 0 and make the new value the default value.  Then close the type def, and re-open it.  The old value is still present in that element.  The VI is saved in LabVIEW 2012.
    Solved!
    Go to Solution.
    Attachments:
    CM_AnalogInputs.ctl ‏11 KB

    Values of a typedef are not proprigated to instances of the control. THey will pick it up if created AFTER the data values have been changed. THey will not get updated with future changes. You should either create a VI specifically for hardcoding your values or implement a file based initialization. The file based would be much better and more flexible. If you don't want users to modify the data simply encrypt it. There is a noce blowfish library you can download.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • Coloring elements in array of clusters

    Hi,
    I have an array of clusters.
    My goal is that each element(cluster) in the array will have a different background color.
    I tried to use the color property node but it changed the color of  all the clusters(not only of the desired element).
    How It can be accomplished ?
    (snapshot of the array is attached)
    Thanks,
    Leonid
    Solved!
    Go to Solution.
    Attachments:
    array.PNG ‏14 KB

    See also my posts here and here.
    LabVIEW Champion . Do more with less code and in less time .

  • Reference to Array of Clusters with an array element

    Hi,
    I have an array of clusters CONTROL (calling it as "top level cluster array") with one of the cluster elements being a cluster array (please see attached).
    I plan to pass "Reference" of this top level cluster to different VIs (like add element VI, insert element VI, delete element VI etc) and access (add/modify delete) the elements in this array.
    In my code, how do I typecast the Array Element (cluster) to the inner cluster (as shown in the figure) ?
    I am using LV RT on PXI.
    Solved!
    Go to Solution.

    You cannot use references in the same way that you use pointers around in C. LabVIEW does not manage memory in the same way that C does. This is actually a good thing, though C programmers find it "cumbersome" or "restrictive". I have also programmed in C, and frankly I prefer LabVIEW's memory management any day of the week.
    You had not initially mentioned that this was going to be done in multiple places at (potentially) the same time. Given that, my recommendation is to look into using Action Engines. They provide a means of basically providing a one-location acccess for your data. By using a single VI to access/modify your data you preclude the generation of race conditions. You may also want to join this with the concept of using variants to provide a means to quickly find your data rather than looping to find the element you're interested in. This technique has been around for a while and it has been discussed before. There are examples floating around. Will need to check to find one. 
    As for your question regarding using the reference method which you tried to employ in your initial approach, that's simply not going to gain you anything. You will still be creating buffers when you try to access the cluster elements. But you already have this information in the array inside the outer for loop, so you're just creating unnecessary extra programming for yourself. 

  • Drag And Drop Element Of Array Of Clusters

    I have a project that includes an array of "tests", each of which is a cluster containing an array of "part numbers", a regular expression matching string and an array of "test tasks" (each of which, is in turn, a cluster of elements).
    That is:
    Tests (array of):
    Cluster:
    Part Numbers (array of strings)
    Regex (string)
    Tasks (array of):
    Cluster:
    Task type
    Base Channel,
    Measurement Channel
    Other Channels
    I'd like to be able to drag and drop to re-order the task array within an individual test.  (It's a nice-to-have rather than an urgent request - more for my own learning than anything).  For now, I've implemented "Move Up" and "Move Down" buttons.
    The examples are fine for a single cluster that includes an array, or for an array of objects.  As soon as we have an array of clusters, it's hard to access the individual elements within a specific cluster.
    Has anybody successfully implemented drag and drop within such a setup?
    Curiously,
    Geoff
    Geoff Field, BE, CLAD, MIEAust
    Professional geek, amateur stage-levelling gauge
    Solved!
    Go to Solution.

    Hello GeoffF,
    This is definitely doable, and you can even use the standard start drag and drop methods/events, the tricky part is determining the array elements that are being selected on mouse up/mouse down and handling the swap manually.  Luckily, there are a couple decent examples of how to do this out there already, I'd suggest you take a look at this one:
    Community Example: Determine Clicked Array Element Index in LabVIEW
    https://decibel.ni.com/content/docs/DOC-22434
    That should give you the selected array indices, and then all you have to do is switch the elements around around in the drop event.  I've attached a very basic demonstrative example that uses that code I just linked (you'll need to download that as well) and the events mentioned to swap two array elements.   The attached code is just thrown together, you'll want to design something more robust and scalable for any sort of real use.
    Regards,
    Tom L.
    Attachments:
    array drag.vi ‏21 KB

Maybe you are looking for

  • Syncing - the errors just keep getting worse

    first message was...something about not being able to find a disk... then it was an error reading from the device... now there is a "attempting to copy to the disk'c:\' failed. an error occurred while reading from the device." could someone please te

  • Aiuto di Bridge | Utilizzare i metadati in Adobe Bridge

    Questa domanda è stata pubblicata in risposta al seguente articolo: http://helpx.adobe.com/it/bridge/using/metadata-adobe-bridge.html

  • Internationalization of standalone WebDynpro application(No Portal)

    Hi, I have a webdynpro application running on SAP WAS 7.0(NO portal). Based on the request parameter, the application should show translated content. I am aware of the translation process using .xlf files. But how can a webdynpro application receive

  • Why can't I use iMessage on iphone6, ihone 5S and ipad simultaneously

    if I select imessage on iphone 5S it does not receive text messages if I cannot send messages between iphone 6, ipone 5S and ipad, then why am I spending so much money on hardware?

  • MDM server user

    Hello experts. The developer requested me to take a look at the error. MDM Adapter listener could not start due to: Can not create repository session '<server=turin serverUser=Admin repository=My_Catalog_Master user=pleaseMaintain>' caused by: The sp