LabVIEW Idea Exchange

Community Browser
Top Authors
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea

Using "Fit control to pane" and the "Scale Object with Pane" options it is now relatively simple to build front panels that scale the way users are used to from other applications - however there is one shortcoming that it is easy to run into: cases where you want a tab and (some of) the controls (a table e.g.) on it to scale with a pane.

 

Getting the tab to fit and scale is a done deal, but then comes the scaling of the objects on the tab...

 

The option you have today is to fit the controls on the tab to the pane...however that does not give a proper behaviour because then they grow larger than the tab they are on. Objects that are set to fit and scale to the pane should basically use the tab as their "pane" - not the pane the tab is on.

Instead of having to open the "Display Format" window everytime you want to drop a control/indicator/constant with a special format value (i.e. 2400000000 as 2.4G) make the control/indicator/constant automatically set to whatever format you put in. For example

 

idea.PNG

 

Typing in 2.4G sets the Display Format to "SI notation".

Typing in 2.4E9 sets the Display Format to "Scientific"

Typing in 2400000000 sets Display Format to "Automatic formatting" etc

 

 

We always get endless confusion in the forums when looking a code images, because we never know if a string diagram constant in a diagram image is in normal, \-codes, hex, or password display.

 

I think we could avoid confusion and really enhance code readability if string constants (and possibly string controls and indicators) would indicat their format.

 

I would suggest something similar to the radix display of numerics.

 

Here's an example how the same string diagram constant could look like, depending on the selected dispaly format.

 

 

 

 

Wire a Case Structure with an enum. Now pop up on it and select "Add Case For Every Value." In today's LabVIEW, this adds new frames to the structure so that every enum value is handled by a unique frame. This makes creating the structure initially easy, and it gives you a way to walk through and make sure that you've filled in code for every frame. But today, the Case Structure has includes the "Default" case when the Case Structure is first wired. That is done so that wiring a Case Structure with an enum does not result in a broken VI. When a programmer provides a unique case for every value, the Default state is now redundant, and the only thing it does is create the potential for error if you ever add to the enum. Thus I would propose that if you use "Add Case For Every Value", then LV should remove the Default tag from the first case.

 

AddCaseForEveryValue.png

Once in a while I encounter a case or event list that forces me to grow the structure

- in order to keep the list readable:

Selector.png

It would be nice if the item-list would automatically "wrap" instead.  

Selector4.png

I like to collapse long string and path constants to consolidate diagrams.  Showing the string or path value in the tip strip is useful but tedious to update.

 

constant tip strip.jpg

 

 

 

 

 

I suggest an appearance property that would automatically display the current value in a tip strip for string and path constants.

 

properties window.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

This property would be most useful if the Block Diagram Options page was also modified to allow a global setting.

 

options window.jpg

 

On the front panel of a VI, there is an origin dot (if you show the grid) that indicate the origin (0,0) of the panel.

 

origin dot.jpg 

 

I try to design all my VIs so that this dot is always in the upper left corner of the panel (it's starting point when you open a new VI).  This is key for dialog VIs where you might have a lot of controls and indicators that are 'off screen' but you need to scroll the panel to them while editing and testing.  Once you are done, you need to return the panel to this origin so only the items you want the user to see are in view.  Scrolling the panel with the scroll bars to get this dot exactly in the upper left of the panel is not always easy.

What I want is a right click menu option on the panel that is called 'return to origin' or 'reposition to origin' or 'scroll to origin'.  This would save me some unnessesary frustration and help keep my VIs neat and organized.

 

The "system OK" button has a predefined key navigation assignment for "Return (set focus on toggle)".

 

I argue that this automatic assignment is not a good idea and can lead to problems. Key navigation should never be automatic, but should be willfully assigned by the programmer when designing the front panel. A small extra step, which makes things predictable!

 

Lets see what happens if we place three OK buttons on the front panel. Can anyone guess which one will have the "Enter" key navigation assigned? (don't cheat!) As it turns out, it's the one we placed last! (Who would have guessed! :o). This also means that if we have a carefully constructed front panel with the enter key already assigned to a dedicated control, and we later add a "system OK" button to the panel, the existing assignment will get lost and transferred to the new OK button without warning. Greedy, greedy button!!!

 

This existing behavior has caused me problems numerous times in the past and I cannot remember a scenario where I wanted that automatic key assignment.

 

Suggestions: no control should have a predefined key navigation assignment. Ever! 

Similar to 'Insert' and 'Delete' methods, please include 'Transpose Array' method as shown below:

 

Method to transpose the array

 

As shown by below RG code, the Select function should be redesigned in order to align the s input with the output vertically. Currently, the input is too low.

 

Select.png

 

Has this ever happened to your application?

 

RootWin.PNG

 

Well, it happened to me many times. I never figured out when this happens and when it doesn't, but I do know of a certain way to disable it - add the line HideRootWindow=TRUE to the application's INI file.

 

The problem with that solution is that when you build a new EXE, LV creates a new INI file which overrides the old one, unless you explicitly create your own INI file and tell LV to use it.

 

So, the solution to this is simple and this is the idea - LV should add the line HideRootWindow=TRUE to the application's INI file by default. Problem solved. Alternatively, maybe the whole root window thing is not needed anymore and NI can simply get rid of it.

 

 

Instead of saving few versions of the same VI, it would be nice to have "Undo" even after saving the VI.

Hi,

 

There are numerous ideas floating around about where the color box constant and control should be located in the palettes. How about if there wasn't a distinction between a color box and its numeric representation? Like the "View As Icon" option on terminals and clusters, I suggest a "View As Color Box" on numeric constants and controls/indicators:

 

ViewAsColorBox.png 

 

I'm undecided on if this options should be available for all numeric data types, integers only, or U32 only, and what should happen to the Representation options when the numeric is a color box. I see at least these options (ordered after my preference - I prefer 1) the most):

 

1) The "View As Color Box" option is available for all numeric data types, but when selected the data type changes into U32. If you change Representation to anything else but U32, the "View As Color Box" option is automatically deselected.

 

2) The "View As Color Box" option is available only when the numeric is U32.

 

3) The "View As Color Box" option is available for all numeric data types, and coercion happens between the selected "color value" (U32) and the true Representation of the numeric.

 

Several ideas would be fixed by this, for instance this and this.

 

Cheers,

Steen

Right now a lot of SubVIs in Vision Development Module looks like that:

 

IMAQ Vision Connector Pane.png

 

Because in most cases we using IMAQ Images on the top and error outputs - the wires fully misaligned. It would be nice if all (or most) of them will have standard and same "default" connector pane (if possible, of course).

Thank you!

 

Andrey.

 

The list of available LabVIEW modules and device drivers is very long. Their names tend to be long too, which is compounded by the many levels of nesting. Modern screens are large.

 

Given all that, why are we selecting software components by scrolling around a tiny window which can't be expanded?

 

tinyinstaller.png

(Note: most of the trees above aren't exen opened yet!)

 

 

Proposal: Make the window bigger (vertically and horizontally), or resizeable, or both.

 

Thanks for listening!

It would be useful to be able to disable the handling of a single Event Case in an Event Handler Structure. Note that this is distinctly different from merely Diagram Disabling the contents of the Event Case; using that method, the Timeout event case will be reset, and additionally program execution will continue past the Event Handler Structure (in the example below, continue to the next iteration in the While Loop).

 

Here's an example of what a Disabled Event Case might look like - the Event Structure and contained code is "washed out" as if Diagram Disabled - additionally, the disabled event in the list of Event Cases is struck-out and in italics:

DiagramDisabledEventHandlerCase.png

 

And here's a proposal for how one might disable a given Event Case, using the context menu that pops up by right-clicking the border of the Event Handler Structure:

 

HowToDisableAnEventCase.png

In LV 2010 the string constant display style is a nice new addition based on the ideas here and here.

The implementation is consistent with how the radix indicator works on numeric constants in that you must navigate to the visible items shortcut menu and turn them on discretely.

If I want to take a string constant, show it in '\' format and turn on the descriptor, it requires two separate operations.

 

I propose that the descriptor (or radix for numeric constants) be automatically shown when displaying any mode other than the default.

 

String formatting.PNG

Not only would this add to the readability of these constants but would eliminate the extra step to have to discretely show this valuable piece of self documentation.

If the developer did not want the descriptor shown, they they could manually turn it off.

The idea below demonstrates the ability to open a Typedef by right-clicking on a wire, but is also directly applicable to the ability of "Show Class Library" by right clicking on a class wire.

ShowClassLibraryFromWire

 

It's handy to be able to right click on a typedef constant, control, or terminal and have the "Open Type Def." option. However, oftentimes I only have a wire and not one of those three objects:

 

TypedefWire.png

 

In this case, the easiest way to access the typedef is by creating a constant or indicator, then using the context menu on your new "dummy". A big problem is that sometimes structures are exploded in the creation of the dummy.

 

        TypedefWire3.png

 

 

Instead of needing to create a dummy to access the typedef, I would like to be able to right click on the wire itself:

 

TypedefWire4.png

I distribuute a lot of code, and sometimes it's difficult to tell my users what they need to install in order to run that code.  It would be nice if I (or a user) could run a built in LabVIEW utility that tells me what a given VI needs to run.

 

For example, do I need DAQmx, Mathscript, Robotics?

When you right-click on a String Constant or Path Constant and choose to Replace it with a Path Constant or String Constant (respectively), the value is lost.  Since strings and paths are somewhat interchangeable, it seems that the data should be preserved (coerced) during the Replace operation.

 

22030iFF96E5BF99C340BC

 

Note: It might be nice if there were a faster way to change a path to a string and vice versa, as suggested here.