LabVIEW Idea Exchange

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

Rearrange Unbundle and Bundle By Name

Status: New

Re-opening because LabVIEW NXG has been discontinued.

Oftentimes, rearranging or reordering a Bundle by Name or Unbundle by Name for clusters can yield fewer wire crossings. For instance, below, wire crossings can be eliminated by moving "Timestamp" to the bottom of the Unbundle and "Value" second to bottom on the Bundle:

 

20985iEE7ABCE2AA5DD1B3

 

The current process of moving one of these elements:

  1. Increase the size of the node using the Resize Handles on top or bottom, or select "Add Element" from Context Menu (and hope you remember if it adds and element below or above the cell you are clicking on!
  2. Wire to the new element, and deal with deleting the old wire
  3. Delete the old accessor using either Resize Handles or "Remove Element" from Context Menu

This can be laborious. Instead, I would like a way to quickly reorder the elements. I have a few ideas how this can be accomplished:

  1. Context menu with a "Move Up" and "Move Down" action (not so elegant)
  2. A pop-up window that allowed rearrangement (think "Rearrange Cases..." on Event Handler or Case Structures)
  3. A native drag-and drop on the Unbundle/Bundle node itself. This could be realized given the current "click regions" on the node (hover your mouse and sweep horizontally over one of these nodes... you'll discover the 4 regions). The two "Arrow" regions currently move the node on the BD, but they could be used to rearrange the node (see below)

20991iC0D9F95AD3E82BBE 

 

Just throwing out some ideas, I'm not stuck on any one. So, the idea you are voting for: Provide a User Interface for quickly rearranging elements on a Bundle or Unbundle by Name.

19 Comments
AristosQueue (NI)
NI Employee (retired)

Related Question: Would you be ok with teaching Clean Up Diagram to rearrange the order of names in the Unbundle By Name and Bundle By Name nodes?

JackDunaway
Trusted Enthusiast

AQ, you're probably referring to this: http://forums.ni.com/t5/LabVIEW-Idea-Exchange/BLOCK-DIAGRAM-CLEANUP-SHOULD-REORDER-BUNDLE-UNBUNDLE-E...

 

As pointed out in that conversation, Unbundles can be rearranged with no worries, but Bundles could potentially clobber data if you're not careful. And to answer your question, I am continually becoming more fond of the BD Cleanup concept, and I'm ready for the implementation to catch up to an acceptable usability. So, yes, I would see benefit in the BDCT having jurisdiction over Unbundle (and probably Bundle) by Name. I don't want to commit to liking or disliking the idea until actually using it, but I'm open. I have Kudos'd that original idea.

altenbach
Knight of NI

How about a mechanism similar to the new (LV2010) subVI connector swapping tool:

 

Hold down <ctrl> then click on two elements in succession.

 

(In the above case, we would hold down <ctrl> (Cursor changes to the swap graphic!), click on the first and last item, and they would swap, taking the existing wires with them if wired. Nothing new to learn :D)

JackDunaway
Trusted Enthusiast

Christian - my initial thought - "Cool! I like that better than any of my three suggestions! It's intuitive and a well-known procedure"

 

My second thought - the switcheroo tool swaps two elements. Most often, I want to move one item relative to the group, not swap two items and have both their positions change relative to the group. I guess it would work if you were able to swap an item with the "nothing" that resides between two elements, but it would be hard to click right on the one pixel divider.

 

Perhaps this would work if the "Drop Between" cursor shows up, like you see on a Tree Control.

altenbach
Knight of NI

Yes, I agree. How about holding down <ctrl> and drag any single item up or down on the node....

Dragis
Active Participant

although i'd still like to see the cleanup tool perform this operation well, i would certainly find it useful to be able to drag the items manually to rearrange. i think the ctrl+drag could work well. perhaps swaps could be performed with ctrl-shift-drag?

JackDunaway
Trusted Enthusiast

This concept should also apply to property nodes.

Dragis
Active Participant

... and expanded subvis, fpga i/o nodes, etc. pretty much anything that is list of (mostly) independent items.

 

also, jack re-mentioned (in context with allowing the block diagram cleanup tool) that bundles could change behavior if you move things around willy-nilly. just as labview would know changing the order would change behavior with the cleanup tool, labview should also give the user a warning if they attempt to drag a bundle element past a conflicting item. perhaps the tool can prevent you from dragging past a conflict without pressing an additional key? maybe a simple pause would be sufficient?

ClaudioH
Member

Hi, what about use the same procedure available in clusters: it could be available the "reorder bundle" or unbundle.

Clicking at the element it shall be placed on the top, next click below etc.

If there is an wire, it shall be kept connected to the same element name.

Cheers.

CHCastro
king_slacker
Member

Hope this is addressed in LV2012!  Wasn't able to find a description of the new features yet.