LabVIEW Idea Exchange

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

There is a need to have the capabilities to make comment about a type def/strict type def control (in the control editor) that are only visible in the control editor.

 

Control Editor Comment.png

 

For instance you might want to point to the person editing the control that he/she should not rename that particular cluster element or this will brake the code (and you may want to use an arrow pointing to the element along with some text).

 

Currently, if you do that the comment become part of the control and is visible for every front panel instance. This bring absolutely nothing to be able to see that type of comment on the FP and it should not be seen by the user of the control (because this actually make the type def so large an unwieldy).

 

Therefore, there should be a need to select a group of decorations and mark them has only visible in the control editor .

 

Note: Right now the only way to achieve something similar to what I describe, is to put the comment in the control description, but this is no great because:

 

  1. People tend to not expect control to have VI description.
  2. This does not allow to use arrow and such to directly point  to a specific part of a control.

 

PJM

For modern application development we need better methods to detect wheter our application is called to open a file.

Currently the only help NI gives is based on command line parameters. And we need to jump through loops to get it working to react on opening a file when the program allready runs.

 

This is a major showstopper in creating professional applications.

 

LabVIEW 8.2 had a hidden event for getting this event, which unfortunatly doesn't work in later versions.

 

 

Currently I have to put

 

"allowmultipleinstances = TRUE"

 

into the ini file manually.

We've had a few recent discussions relating to labels of block diagram objects. I don't think the following came up yet, but I think it's one area where improvements are really needed.

 

If we create a property node or invoke node, it has a label indentical to the linked object. However, this label can be changed to anything we want, possibly leading to code that is very confusing! For example if we had two terminals labeled A and B, we could label the property node linked to A with "B" and vice versa, completely obfuscating the code!

 

(The beginner could also incorrectly assume that changing the label is the correct way to change the association to a different terminal)

 

These nodes should really have the label of the linked terminal hardwired to the corresponding terminal name, because anything else simply would not make a lot of sense.

 

My graphic is not as nice as Jack's here, but I think the idea is clear. It would certainly need a few tweaks from the art department. 😉

 

 

We might need an option to hide the label. Oversized labels should be truncated for display, only showing the full text when hovering.

Important disclaimer: I am sorry, this is not my original idea, because it is (together with many other nice features!) already implemented in the LabVIEW UI builder. Credits go to the relevant NI developers.

 

This Idea posted here tries to see how much interest there is in such a feature and to show support that we want this also implemented in plain old LabVIEW. Personally, I really like it! 🙂

 

(It is also somewhat related to this idea (but probably not a true duplicate), especially my comment there already exapands on the idea!)

 

The Unused Items Tray (see also e.g. Christina's Blog entry) is an area on the diagram that contains terminals or FP objects that have not yet been manually placed or are currently only "used" on the BD "xor" FP, i.e. not on both.

 

The current problem in LabVIEW is that if you place a new control on a complicated VI, the terminal will end up on some random place, typically piled well camouflaged on top of some other diagram structures and possible a scroll away from where it is actually needed. Similarly, if we create a control or indicator from a terminal on the diagram, the control will typically be outside the carefully placed visible area and there is no way to grab it without first messing up the FP alignment by either scrolling or enlarging the window.

 

In all these cases, it would be nice if the objects on the "other" window would land in a predictable reserved floating location for quick and easy manual placement where they belong. During development, there are probably a few terminals that are not yet used or connected, and we should be able to place them back into the unused items tray of the diagram so they never scroll out of view or get misplaced.

 

On the front panel, we might have some spare controls "parked", and they would not show in run mode at all. This could even be abused for "local variable zombies" (=hidden controls with the sole purpose of making a local variable) along these lines, which might be OK (=better than hidden controls!). Front panel items in this tray would look like their palette entries. We don't want e.g. full-sized graphs in there!

 

Now, how should all this look like? In order not to cover valuable diagram space, it should be something that collapses to near nothing when not used and would only expand to show the current contents when hovering or clicking in a special area. Of course there should also be an option to pin it open. When minimized, it should look different when "not empty" vs. "empty".

 

Problem:

Lets say you're writing a VI for stopping a process. Wanting the icon function to be recognizable at a glance, you open the icon editor and go to glyphs looking for this:

 

abort.png

 

You type "stop"... nothing... hmm. After muttering a few curses, you either trudge through the whole icon library, or you draw one.

 

Turns out you should have written "abort"! Oops. Not really intuitive.

 

Solution:

Turns out the glyph search is fairly useful. It can see if your search is in any part of the glyph file name. If the above glyph was named "abort stop.png", the search would have succeeded.

 

Glyphs would be a lot easier to find if they contain the noun and a handful of verbs that they represent. For example:

 

"support.png" support.png  -> "support checkmark yes.png" (support?)

 

"keep.png"keep.png     -> "keep checkmark yes.png" (keep?)

 

"create.png"Create.png     -> "create new.png"

 

"file.png"file.png         -> "file disk save.png"

 

 

Alternate Solution:

Impliment tags into the glyph library with the ability to add new tags to current glyphs. This would avoid long file names.

 

Give us the option to input a Hex RGB code in the color palette.LabVIEW Color Palette.png

When selecting objects on the Front Panel and using the Shift + Up or Down arrow key, it moves them to the nearest grid line and successive shift+arrow keys keep things on the grid.  This is fine when selecting a single object, However, when selecting multiple objects that are not perfectly aligned, it may result in a misalignment.

 

The idea being suggested is when multiple objects are selected they should retain the original alignment between objects.  A more sophisticated version could allow the user to select in the options whether objects that are aligned within a given small number of pixels should automatically be perfectly aligned and moved together.  The idea is to prevent having to re-align an object after using the Shift + Arrow to move them.

 

See image below:

 

When String is connected to path, then wire is broken as expected, but we can insert String To Path conversion primitive with single mouse click:

 

STR.png

 

Please do the same for the case when Boolean connected to Numeric:

 

bool.png

Thank you!

When you or two numeric numbers it does a bitwise or.  The same should happen when using Or Array Elements, but it is not supported for numeric arrays. I see no reason why it shouldn't work just the same?

 

test.PNG

I would like to be able to create BD array constants from the predefined string and numeric constants.

 

Presently you cannot create an array constant by dropping a predefined constant into an empty array box on the BD.  Arrays of string constants such as Carriage Return, Line Feed, Tab, and Space need to be created programmatically using build array or manually using the '\' codes or hex codes.  Arrays created in such a manner do not have the graphical indications of what is contained.  Some of the constants (Space) are actually VIs, which may complicate things for NI.

 

Similarly the Math and Science constants like pi and e should be allowed to be dragged to an array of DBL.

 

Lynn

Arrays from constants.png

 

 

One of the annoyance of designing a UI is that you will never know for sure how it will look on another user computer.

 

For instance, you design your UI with the default 13 point font size and when a user that has it default font size set to say 16 (and with a different font type) open your UI everything is a mess (text run out of the screen, text overlay controls ...).

 

In built application (meaning in an exe) one can add the following line to the executable and this fix the problem by coercing the font type and size.

 

  • AppFont=""Tahoma" 13"
  • DialogFont="Tahoma" 13
  • SystemFont="Tahoma" 13
  • CurrentFont="Tahoma" 13

 

But what about a reusable tool that are basically a source code distribution?

 

Currently, the simplest way to ensure this outcome is to write a reusable VI that will recursively set the font size and type of every labels or string to be what you designed your UI to use. This VI has to be run by the UI every time it starts.

 

What I propose is to add a global VI settings (probably somewhere in the VI properties) that will persist whatever font settings was used to design the UI.

 

Persistent font settings.png

 

This setting should default to false.

 

The image above is one possible solution (the simplest one).

 

Another solution would be to explicitely defined what every font style&size should be for every font type (something very similar to the explicit definition one can use in an ini that I mentioned above). In that case, there could be an entirely new font category in the VI properties.

 

Persistent font settings 2.png

 

PJM

Using ctrl + scroll for switching between the cases is somewhat hard to use, because when you have lots of cases its difficult to remember what is the order of them so its harder to ctrl scroll the one you looking for than to go to the case selector. Moreover if you work with bigger sized structures (which happens sometimes) you may not even have the case selector on your screen so if you ctrl scroll, you can only deduct which case you see by the visible part of the code itself. That doesnt work for me, I always go to the selector.

 

But what if when the user uses ctrl + scroll a small popup would appear at the mouse pointer and when the user scrolls up and down the highligh would move up and down selecting any case in the given structure?

 

This would highly increase the usability.

 

Applicable to the Event structure as well.

 

case.png

I've got some calls to low level VIs that rely on windows system dlls within a larger top level VI. To make that application work on Windows and Linux, I've put conditional disable structures around the dll calls. When I open the top level VI in Linux, I have to click through a bunch of "Find missing file" dialogs for the Windows system dlls. If I cancel through all the dialogs, the VI still compiles and runs correctly in Linux, so the Conditional Disable structures are doing most of what they should, but the dialogs are annoying and can cause problems with automated builds and other hands-off activities. Since the code is inside a conditional disable structure, it seems to me that LabVIEW has all the information in needs to know it shouldn't load that stuff, so it would be great to get rid of these nuisance dialogs.

One thing prevent our company to upgrade to newer labview is that the run-time engine gets too big. Even I really like the features in later version, I still have to save the files back to 7.1 then to 7.0 to build application installer. Under 7.0, the run-time engine is very small, and the installer is less than 10MB and I can easily email the program to customers. In version 8.0, the run-time engine is 65MB and now the latest version is well above 100MB.

 

What I would like to see is that application builder get smart, only pick what is needed and build slim app.

LabVIEW's Query Input Devices uses LVInput.dll to return information about the Keyboard(s), Mouse(s), and Joystick(s).  However, it appears that the number of Joystick entries returned is limited to 8, whereas on several machines that I've examined, the "joystick" device can be present in slot 10 (as noted by DxDiag's Input test, which otherwise matches what LabVIEW returns in the first 8 slots).

 

Can this function, which returns an Array, be modified to return as many entries as the DxDiag utility returns for DirectInput?  This would facilitate using multiple joystick-like devices as control units using standard LabVIEW procedures.

 

Bob Schor

The Message Box from LabVIEW doesn't look very nice. On Windows Systems user32.dll provide a better Message Box.

See also MSDN entry at: http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505%28v=vs.85%29.aspx

 

It is possible to set the Buttons

  • Abort, Retry, Ignore
  • Cancel, Try Again, Continue
  • Help Button (!!!)
  • Ok
  • Ok, Cancel
  • Retry, Cancel
  • Yes, No
  • Yes, No, Cancel

Icons for

  • Error, Stop
  • Question
  • Exclamation or Warning
  • Asterisk, Information

and many more ....

 

LabVIEW should support this MessageBox on Windows Systems as additional MessageBox beside the existing.

 

Example MessageBoxA.png

LabVIEW currently porvides TCP and UDP primatives. It would be nice if it had a PING primative as well.

A picture is worth a thousand words.

 

Listbox Control.png

 

Basically I'd like more control over the text in listboxes.  I want the same level of control that you can get from a string control, where each character in a string element can have custom font settings.  At the moment each line in a listbox must have the same settings.  This idea is to have more control over the font settings of listboxes, and multicolumn listboxes, as well as implementing the property nodes that allows for these settings to be controlled problematically.

It's great that you've put connector pane and VI icon side by side in the Front Panel

It's more useful if you can put the same in the Block Diagram

Untitled.png