LabVIEW Idea Exchange

Community Browser
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea
The Index Array function should have an option (possibly default) to require that the index be wired. Forgetting to wire it up is a very common source of bugs and it's hard to find.  The autoincrementing feature when you grow this function is cool and should be preserved, but 95% of the time, I need to have the index wired in.
The venerable Array Size function should just resize itself for the number of dimensions on the input array and have each dimension's size emitted with a separate scalar output.
I would love it if the Call By Reference node had a "don't wait until done" option, so that we can stop using the inconvenient and inelegant Set Ctl Val method or other inconvenient ways to pass arguments to dynamically called processes.

 

I believe the main issue with this is what to do with the outputs from the subVI (since you won't be able to use them) and I can think of two options:

 

1. This option would be settable at edit time and would break the caller if you wire any of the outputs.

2. This option would be settable at run-time and you would get default data from the outputs and an error or warning from the error out terminal of the node if you wire any of the outputs.

A great time saver would be if we could drag or click to switch connections directly in the connector pane instead of having to disconnect and reconnect controls.

 

This can be a simple two click process:

 

Switch Connections.png

 

If there's already another control\indicator where you click, they get switched.

Right now a left-click on an icon connection pane with the operating tool (the finger tool) just highlights the connected control or indicator.  It would be much more useful to have a drop down with the most common choices, especially the required/recommended/optional/dynamic dispatch selection.
Be able to open the block diagram with a hot key or right click menu even when you use custom menu on user interface. This option should be available for debugging in development environment and when debugging an executable with debugging enabled.

Having the possibility to hide a pane at run time. For example if you want to hide a Button Palette, a status bar, Tree View or helper pane as specified in this snapshot:

 

 HidePane

Message Edited by Support on 06-02-2009 12:35 PM

Dany (below) requested support for alpha channel in picture control (I strongly agree with that). I also want support for drawing antialiased object (line, rectangle, circle, arc, ...).

Additionally, improve the performance of the picture control rendering will be greatly appreciated.

 

PJM

Sometimes I like to have the Context Help window viewable to my users so they can hover over FP elements and get some quick pointers on their respective functionalities.  I'd like to be able to control the position and size of the window, and also choose programmatically when it's floating/not floating, so I can have it blend into my user interface more intuatively.  It'd be great to be able to embed it into a subpanel too.

This goes a bit with Christian's suggestion to separate edit time and run time front panel sizes.

 

While I do appreciate the alignment grid on the front panel I find it insufficient a lot of the times. What I would like to see is some alignment helpers similar to the ones that are provided in the form editor of MS Visual Studio:

 

  • When you move a control close to another control, it automatically displays a standard distance "helper" that you can snap to.
  • When you move the edge of one control close to the edge (in one dimension) of another control a vertical or horizontal line is drawn from that other control to which you can snap, regardless of whether it happens to sit on a grid line or not. 
  • When you move a control close to the edge of the front panel a standard distance "helper" is displayed that you can snap to.


All of these features should be available for a move as well as for a resize of the controls.

 

You can find screen shots of what I am talking about here and here.

IMO, the Diagram Disable Structure causes bugs, because the output tunnels of the Diagram Disable Structure are set to "Use Default if Unwired", and the default values are very often not desireable, as can be seen in the screenshot, below:

 

 

See this blog article, for more details:

 

http://thinkinging.com/2008/05/11/the-diagram-disable-structure-causes-bugs/

Add support to transparency in picture control. When you load a PNG file to the picture control consider the Alpha Channel instead of a threshold.

I would like the ability to probe the loop iteration terminal ("i" in For and While Loops) without the need to wire it to something (indicator, edge of structure,...).

When we read the "cursor index" property of a cursor from an intensity graph, we only get a single number. This is insufficient and inconsistent.

 

Since the graph data is a 2D array, we should get an array with two elements, one for the x-index and one for the y-index. Two indices are required to translate the cursor position to the corresponding array element.

 

(This change would make it more consistent. Have a look at the output of e.g. "array size" and "array min&Max" when the input is a 2D array. Same thing!)

Resizing the front panel so it is correct when running the VI is still very tedious and can easily mess up during editing. The problem is even more severe for Xcontrols, because their runtime size is often very small so there is not even enough room to e.g. display all the tools in the tool bar during editing. Once the runtime size is correctly set, all it needs is a double-click on a terminal that has its FP item hidden outside the visible area and everything on the FP shifts and messes up.

 

We need three things:

  1. An "edit time" FP size that is "comfortably big" so we can see the entire toolbar and possibly also helper controls and even maybe some comment text intended for the programmer that are outside the operator area and only used for debugging and such.
  2. A "run time" FP size that matches exactly what the operator sees during running.
  3. A special decoration or other visual cue during editing that indicates the FP area that will be visible at runtime.

 We already have the crosshair in the upper left corner when showing the grid, so that could be defined as the upper left corner at runtime by default. All we need is define the upper left and lower right corner and the runtime FP area is uniquely defined. As a visual cue, everything outside the runtime area could be a shade darker or tinted differently than normal to indicate that fact. Running the VI would snap the FP boundaries to the bright area.

 

Then we also need handles to move any of the boundaries at single pixel increments. A control that scales with the front panel would simply scale to the bright area instead. Of course a legacy mode for older VIs that did not have this feature during their creation needs also to be supported.

 

The example image shows a reddish transparent area (just to throw out another idea, maybe a slightly darker grey would be better). This is one of my own subVIs that demonstrates the problem at hand. At runtime, only the progress bar should be visible, while at edit time, I want to see all controls, because I might need them e.g. to wire the connectors. It is not easy to switch between the two sizes.

 

(Of course we can currently program around all that by setting windows parameters via property nodes, but it is ugly, inefficient, and tedious.)

 

 

 

I think it would enhance the usability of XControls if it is possible to define events that an XControl can generate and that can be statically linked to just like other control type-specific events.

 

Earlier discussions on this topic has been done on LAVA and LAVA.

 

Ton

Since very early LabVIEW versions, we always had the small sizing tip strip at the bottom that showed the current size in pixels when resizing an object on the front panel or diagram.

 

This is maybe OK for simple decorations, but for most other objects it is very inadequate and not helpful at all. For example if I resize an "index array" node to show more outputs, the node size in pixels is probably the least interesting information! It would be much more useful to indicate the number of outputs instead.

 

Now if we resize an "index array" node for 8 outputs, we simply resize until the tip strip shows [8 outputs]. Without this, we need to guess the size, count, resize again, etc. A slow, tedious, and error prone process, especially for larger sizes.

 

Of course the "resize tip strip" should adapt depending on the object that is being resized to always show the most useful values(s). Here are some possible examples:

 

 

Resizing action                      example of tip strip


 

Resize a 1D array:                  [5 elements visible]

Resize a 2D array:                  [6 rows x 5 columns]

Resize "built array" node:          [7 inputs]

Resize "index array" node:          [5 outputs] 

Resize "initialize array" node:     [3 dimensions]

Resize "replace array subset" node: [8 elements/subarrays]

Resize "compound arithmetic" node:  [4 inputs]

Resize a graph:                     [Overall size: 400x600, plot area: 380x500]

...

...

 

It should of course apply equally for front panel and diagram objects. For example the suggestion for the arrays would apply to an array control, array indicator, or array diagram constants. 

 

Of course there are many more possible objects, each with it's on set of useful size parameters. This is just a small collection. Please go over the palettes and make other suggestions!

 

 

Message Edited by Support on 06-02-2009 12:36 PM

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.