LabVIEW Idea Exchange

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

Rework front panel object alignment

Status: New

I was very happy when NI implemented this feature in LabVIEW, but was disappointed when it was not implemented in many other programs I use.

 

  1. In most other programs that have this feature, the selection order determines the "home" position for the alignment.  For example, If I select 3 objects ans alogn left, LV aligns to the left-most object.  Other programs align to the left of the first object selected.  This is particularly useful for centering objects, as LV uses a calculated center line, so I am constantly readjusting or temporarily grouping objects to try to get things where I need them to be.  If I had one object where I wanted it, I could select that first, then center everything else to it.  (I admit it will take some getting used to at this point, but it would at least be consistent with how the feature is used elsewhere).
  2. Allow locked objects to be selected for alignment.  Just because it is locked doesn't mean I don't want to use it for alignment purposes.  Obviously, I don't want it to move, but it would be nice to be able to select it without having to unlock it, align, then relock.
  3. I would like to see an align with pane option as well.  This is most useful for centering, but I would also have some use for it when I am trying to put an abject right a the corner of the pane.
12 Comments
johnsold
Knight of NI

One way to implement 1. without breaking the existing setup would be to add an option in the alignment menu/palette for align to first selected.

 

Another way to deal with both 1 and 2 is to create an object which serves a reference point. It is anchored to the panel (or BD) grid and does not move under alignment.  Any other objects can be aligned to it.  If a group contains a reference point object, that group would not move with others on alignment.   The reference point is not visible on an executing panel.  These reference points would be especially useful for center alignment.

 

Some drafting programs I have used have such objects.

 

For center alignment it would be nice to be able to align to the boundaries of the underlying object, regardless of the size of the visible label or caption.  Again this should be an option.

 

Lynn 

Manzolli
Active Participant

The way it's now is just not practical. Any other good software I know, like Corel Draw! and OpenOffice Draw, uses something like Matthew said. In other words: the user choose the reference object, It's easy to know where the objects will be after the align command. This behavior will be nice also for left and right align. Now if you want to align to the right, you should move one item to the rightmost position (reference) and all others to the left of this one to garantee that it will work properly.

 

There is no easy way to use center right now. Actually I don't use it, if I do, after aligning, I have to move all aligned objects to the position I need.

 

If you lock a reference object it doesn't participate of the align process (like Matthew said), if you not, it moves. Doesn't work even if the reference object is bigger than all pack you are aligning!

 

The Visual Studio environment has something very nice like a "magnet" behavior which dynamically sticks to other objects references interactively allowing the user to align objects as he creates or edit it very easily.

 

The ideas proposed by Matthew and Visual's Studio "magnet" will make all programmer's life much easier, since the align is not used only in the FP. I use the align command a lot to organize my BD terminals also!

André Manzolli

Mechanical Engineer
Certified LabVIEW Developer - CLD
LabVIEW Champion
Curitiba - PR - Brazil
X.
Trusted Enthusiast
Trusted Enthusiast

Idea worth reviving. Come on NI... Such a basic interface behavior!

Since I was about to write a similar idea, let me chime in with an illustration for point 1:

 

ScreenHunter_001.jpg

 

If I select both objects and use the "Left Edges" tool:untitled.JPG, here is what I get:

 

ScreenHunter_003.jpg

 

Not what I want.

X.
Trusted Enthusiast
Trusted Enthusiast

Just to clarify, point 1 says: if I had selected the numeric control FIRST and THEN the Array, I would have been happy with the result. The suggestion is that, in order to obtain what I want:

 

ScreenHunter_005.jpg

 

I would select the Array FIRST then the Numeric control and finally apply the same exact "Left Edges" align action.

RavensFan
Knight of NI

Just so you know, the alignment is defined by the left most object when lining up the left edges.  It is defined by the right most object when lining up the right edges.  I'm not sure what is used when lining up the centers.

X.
Trusted Enthusiast
Trusted Enthusiast

@Raven Fans: I understand that and that is precisely what the idea is trying to go beyond. And just in case the folks at NI (or elsewhere) did not get the point, I illustrated it. Maybe I should have also added a textual description of the current behavior. Thanks for adding it 🙂

RavensFan
Knight of NI

I had actually kudoed this idea in Sept. 2009.  Reading through the original idea again (as opposed to just your comment), I now realize that Matthew did actually describe the current behavior.  I agree with you that moving things relative to the first selected object makes sense, as long as the behavior is clearly documented.

X.
Trusted Enthusiast
Trusted Enthusiast

One little suggestion I would have is to be able to differentiate between "objects", "objects+label/caption" and in some cases "objects+boolean text/unit".

In other words, in the situation below:

 

ScreenHunter_004.jpg

 

I would like to be able to align the two numeric controls on the right along their borders, not along the right edge of their unit:

 

ScreenHunter_005.jpg  or ScreenHunter_006.jpg

 

depending on whether I selected the "ms" numeric or the "bizarre unit" numeric first.

This, of course, would require the ability to select a control without selecting its label/caption or boolean text/unit...

X.
Trusted Enthusiast
Trusted Enthusiast

Oh, yeah! Here is what's going on currently:

 

ScreenHunter_009.jpg

 

It's a bit long to write up with words. 🙂

MacNorth
Member

I'm with Matthew -- while adjusting to the left-aligned or right-aligned behavior is somewhat less kludgey, the behavior for centering objects works against you.

 

I find I spend more time manually aligning objects than in actual LabVIEW programming. It's almost as if the feature wasn't tested before it was included in the source base. Sadly, it appears the project managers were aware of the situation considering the documenation exactly describes how the alignment strategies affect the objects on the FP or BD [1]. 

 

This behavior has been frustrating LabVIEW users since at least 2008 [2], without any helpful articles describing how to work around it and cause LabVIEW to comply more closely with graphical editing conventions [3]. At least the NI search tool pointed me to this idea 🙂 [4]

 

[1] LabVIEW 2011 Help for aligning objects

http://zone.ni.com/reference/en-XX/help/371361H-01/lvhowto/aligning_objects/

 

[2] Align objects to a first object without the first object moving

http://forums.ni.com/t5/LabVIEW/Align-objects-to-a-first-object-without-the-first-object-moving/m-p/...

 

[3] NI Forum search for "Align Objects"

http://forums.ni.com/t5/forums/searchpage/tab/message?q=%22Align+Objects%22

 

[4] NI KnowledgeBase search for "Align Objects"

http://search.ni.com/nisearch/app/main/p/bot/no/ap/tech/lang/en/pg/1/sn/catnav:kb,ssnav:sup/q/Align%...