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.

My typical workflow is:

 

1) Start LabVIEW

2) Realize I have to pull\update my project from SCC

3) Explore to the project manually in windows explorer. Or open project, explore, close project, update SCC, reopen.

 

It would be nice to have an explore option in the Getting Started Window:

Explore from Getting Started Window.png

 

Either a right click menu, a button for each item or a button for the selected item would be great.

 

Same for VIs, maybe even the templates.

Currently if code is already written, it is difficult to put it into a sequence structure, splitting the code into multiple frames, without breaking wires. It would be great if when I right clicked on the edge of a sequence structure and chose "add frame after" it allowed me to draw the next frame before placing it.

 

Add-frame-after-sequence.png

 

I would also like to be able to selectively split an existing frame up

 

Split-frame-in-flat-sequence.png

 

Wouldn't this be easy and intuitive?

 

I tried to look for other ideas like this on the exchange and all I found was this but he was a little confusing in explaining his idea and how would it work. 

 

For as long as I can remember (I have used LabView since 4.0) the decorations and contropls pallette have remained unchanges for the most part.  End users want an application more like the iPhone than windows98.  We need a new decorations capability to be able to customize controls  to a high level.  The square circle and triangle of 2 colors and flat or 3d/rounded nolonger cuts it.  I would like to see a new type of decoration.

 

- Decoration made of vector graphics so it is scalable, user can add or remove verticies and move them around to make new shapes.

- Labview native color pallet linked to item colors (default can be 2 color option of FG, BG but scale this to an array of colors to make more complex decorations)

- Colors add transparancy and alpha channel

- Grouping allows building of a single new decoration from several  primitive shapes.

- Decoration possible support gradients (color blending)

*** Decorations should have optional labels so that they can be addressed programatically

-Decorations added to customized controls that have lables associated with them become part of the control and can be accessed via a property (ie can be set to not visible through a property node)

 

I know this is asking quite alot, but I have found that when I make my applications not look like LabView (and it is easy to spot a LabView application) it is not a well recieved as when I present a highly customized application that does not look like a labview example.  Allowing the community to easily create very professional looking new controls and indicators will do wonders for our GUIs.

 

 

Local Variables. When a VI has a hell of a lot of Controls or Indicators, creating a Local Variable can be a pain. The list to choose from can get very, very long, sometimes so long that it needs a scrollbar.

 

The current method of selecting which control a Local is connect to looks like so:

19687i444C237C87E7B505

All in all, not too bad. I like the alphabetical ordering, and the fact that you can type to choose one.

 

However, from this image you have no idea what datatype each of these variables are (the name helps a bit). I suggest adding the Data Type and Control/Indicator information to this menu like so:

19689i75D30CDEB5395A73

You can now easily see that "Params" is a cluster control, "XY Graphs" is an array of Refnums control, and "Vg Points" is an indicator array of I32. Notice that the datatypes are color coded and look similar to the block diagram icon.

 

In addition to this simple display change, it would be nice if there were an option somewhere in the preferences that sorted this list in different ways. Perhaps two different options: 1. First by Alpha, then by Type - or 2. First by Type, then by Alpha.

 

For those of you who prepend a data qualifier to the beginning of your controls and indicators (such as "str_Input1" or "dbl_Numeric"), this will still help you via the color coding. Plus you probably don't do that for ALL your controls, ones that end-users will be modifying when you release your code.

I normally have 32x32 png images on disk and have to copy and paste them in (and that doesn't always work well and has been reported).

I think it would be cool and fast if I could just drag and drop an image into the Icon Editor from disk.

 

I would like this image to appear as the top-most User Layer or replace the currently selected image (as per mockup below).

 

 

DD in IE.png

There should be an option to fully enable optimization when building an application as to automatically remove performance impacts caused by diagram elements that shouldn't cause any.

 

As summarily declined by NI, this idea

http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Improve-Diagram-Disable-performance/idc-p/3253939#M34372

 

shows that unless you manually go over ALL your VIs disabling debugging, Diagram Disables (that are supposed to not avoid executing some code!) you'll suffer a performance impact.

 

It is preposterous to expect the users to manually disable/reenable debugging on every single VI when building an application.

 

Please add an option to enable full optimization.

 

Untitled.png

Any time I create another Y axis for my plots, I always have to manually adjust the range of each axis to get the grids on both axis to line up in a pleasant way.  For example:

autoscale.jpg

 

It would be nice if I could make Autoscale take into consideration all the axis present on the graph in determining numeric spacing to give the best looking plot.

When dragging a control / indicator label or caption, if you move within a certain distance from the owning terminal the label will snap to one of a set of given positions (top-left, top-middle etc).  Outside this distance (or if the user presses the spacebar to toggle this behaviour), the label can be freely positioned.

 

The selector terminal for a polymorphic VI should display the same behaviour with regard to the owning VI icon.  A polymorphic selector is currently always free-floating.

 

Snap to.jpg

 

 

PS : Many thanks to Intaris and TiTou for their help to formulate this idea.

I'd like to suggest that the clean up tool behave the same for loop iteration and conditional terminals as it does for other block diagram objects.  I frequently end up with a little jog between an item and the conditional terminal.  I like that there is an attempt to move the terminals to their corresponding default corners, but they ought to have the same spacing from the loop frame as they do by default.

Clean Up Conditional Terminal.png

in LabVIEW NXG we have G Types Control which allow us to create and delete controls dynamically at run time.

Creating Controls Dynamically on a Panel - LabVIEW NXG 5.1 Manual - National Instruments 

 

Since LabVIEW NXG is deprecated (no further development) and announced that: the strengths of the NXG platform will be integrated into LabVIEW 2021(+),

 

Will that possible for us to have such G Type feature in LabVIEW? when probably?

For the reasons eloquently stated here:

 

http://forums.ni.com/t5/LabVIEW-Idea-Exchange/quot-Defer-Panel-Updates-quot-within-sequence-frame-so/idi-p/1288952

 

defering Panel updates is both useful and a bit tedious.  You have to fetch the Panel reference, and while you are doing your presumably time-consuming operation, the entire panel is stuck.  I suggest that Deferring Updates should be a property of an individual object and not just the entire panel.  Wrap your operation with a pair of property nodes to start and stop deferring and you are all set.

 

NewDeferPNExample.PNG

Currently on waveform graph, once a plot is named it cannot be deleted (it can be made blank, but it still shows in all pull downs).  For instance I plot 3 graphs, each having 16 plots.  I then refresh data and plot only on graph of 11 plots.  My new plot names show in the top of the pull downs, but all the previous plot names still show up as well (see attached screen shots).

Please expose a method to remove plot names (property to give array of existing names and property to remove name or all names).

 

Let's say you have a class you are developing and want to reuse it in multiple targets, particularly if you work with RT targets. You want to do most of your troubleshooting and development on the PC (assuming that the class has nothing hardware-specific) and when it works well you plan to do some final testing in the actual RT target.

 

So, you create your test project, with the PC target (with the class and the tester VI). Now you add the RT target and reuse all the VIs and the class. BAM! LabVIEW locks the class and you can't make any more changes until you delete one of the targets of your project. You can't even create two projects (one for the PC another for the RT), because the class will be locked.

 

NI has an "explanation" here http://digital.ni.com/public.nsf/allkb/219A8BB7FD8EF0D9862571840053A5E9 but I find it lame, because a similar situation described in the article happens when modifying typedefs (some VIs get temporarily "broken" until you Apply Changes in the typedef editor).

 

Please do not lock classes or at least have a button/command to unlock one of them.

In most software a tab character (/t) is "visually equivalent" to several space characters (see tab list below in notepad).

 

8-30-2011 2-34-58 PM.png

 

Unfortunately in LabVIEW, a tab character is visually equivalent (in normal display mode) to 1 space character. I am proposing that this should be change to be n space character.

 

8-30-2011 2-38-00 PM.png

When you create a class, it gets assigned a "random" color.  But there are only 6 (or so) colors that are randomly chosen from. I do a lot of LVOOP, and generate a lot of classes. But because there's such a small selection of colors, I'll often drop class methods with the same color banner next to each other (and yes, with text), and it can sometimes be a bit misleading.

 

Why not have, say, 64 colors that are used to randomly assign class colors?  Or better yet, just use a randomly generated color within a range of shades?  It's such a simple change yet it would have a meaningful impact on the developer experience (well, at least mine).

 

_carl_0-1721943387831.png

 

SVG would be a great image format for icons. It would also be nice if you could use it for front panel designs or as background images. Exporting a VI as an SVG might also be a nice way of printing a VI or copying it into a presentation.

 

The advantage would be that it's scalable and an W3C standard.

 

(see also  http://forums.ni.com/ni/board/message?board.id=170&message.id=449853#M449853 )

I frequently see people posting messages about issues they have using the application builder.  They report an error number and the text of the error description.

 

Here are some recent examples:

 

Error 1 while building in 8.2

Build Error, Error 6 occurred at AB_Source_VI.lvclass:

Get Error 6 about 50% of time when building Application

Build installer error code -12 while copying distribution

 

The error description always has a long path through numerous VI's that make up the application builder package pointing to where the error occurred.  But the description never seems to give any detail about what actually caused the error.  It is often too long of a file name, or too deep of a path that gave too long of a path/filename which the app. builder VI's could not handle.

 

It would be helpful to both the people who are having the issue, and to the people trying to help on the forums when they post their message asking for help, to have some information as to where to look.

 

Maybe that information is already available and I just don't know where to find it.  Fortunately for me, I don't think I've come across this problem.  One, I haven't need to build a whole lot of executables.  Two, I keep my project folders at the root level of my hard drive, so the initial part of the path is always short.  (e.g.  c:\ProjectFolder\......)  I know if you stored projects in a My Documents directory, the initial path is ridiculously long because of the way Windows locates My Documents on your hard drive  (e.g. C:\Documents and Settings\My UserName\My Documents\ProjectFolder in XP) so you've already wasted 40-50 characters even before you give the directory name for you project folder.

 

My request:  Let's show some meaningful information in the error dialog box for Applicaiton Builder errors that can help people figure out how to fix it.

I was going to post an idea to make the Find Items With No Callers window resizable.

 

Doing a search for "resizable" returns a few ideas specific to a particular window such as the example finder. But any and all windows should be resizable. Is there any good reason that the user should not be able to resize them?

 

find items with no callers.PNG

If different libraries are created by different manufacturers, the same error code can occur multiple times and each has a different meaning.

If you include a project code (unique UID) with the error code, for example, it is possible to provide a unique error message for different program code origins.

 

 

1) Bring to Error Constant a Tag for the Project

 

michaeln_0-1731616848772.png

michaeln_1-1731616959219.png