My idea is that the LED (Silver), when it has the default green colour, has like a mask where the brightness is different than when you change this default color to other.
It would be a good stuff that those mask be with every colours. For new versions.
Charts and graphs in LabView have been driving me nuts for years. What I would like to see is a simple chart (maybe even an "Express Chart") that has a single dimensional array input and a timestamp input. Values in the array would automatically be plotted on their own plot and the time stamp would be put in the X-axis starting from the left. An option to just use the current time if no timestamp was input and amount of data displayed on the X-axis can be adjusted on the fly by setting the X-axis TIME/DIV
One thing which occurred to me today is that the majority of examples which ship with LabVIEW concentrate on one function or another.
What we don't seem to really have is an example for an actual functioning application with a GUI which actually does something useful. Or at least I'm unaware of something like this.
I think it would be neat to include a sample project for an application demonstrating how to load and save to INI files, set front panel objects, Custom menu interaction, how to synchronise loops and so on. Just a small-ish program which does SOMETHING useful (not the Icon editor, that's too complex).
I think this might help a lot of people "get" the things needed for a decent application as opposed to running code from within the IDE all the time.
Make all of the text editable controls (like control labels, VI names in the project, or even the "VI description" in the "VI properties" dialog) behave like all other Windows input boxes do. I've become accustomed to some standard editing behavior like:
- Ctrl-Left, Ctrl-Right - jump to the next word break
- Shift-Ctrl-Left, Shift-Ctrl-Right - select word left/right
Probably some others as well, but I constantly use these.
The "Remove from Project" menu item leaves the corresponding files on disk. I'd imagine that people would often want to delete the code altogether, if they're removing it from their project.
A "Remove from Project and Delete From Disk" menu item, or a "Permanently delete files from disk?" query when clicking "Remove from Project", would be very handy.
(in the category: has to be duplicate, can't find it)
How come we can transpose a intensity graph, but not "rotate" a waveform graph or chart?
Every now and then I need some data to be displayed vertically. Now I have to make a loop, and put the I and Values in arrays and clusters. This (at least) doubles my data. I also can't use chart functionallity anymore (add one sample, using chart history length). I have to do the buffering myself, and add the entire growing array each time a value is added. This can be a real performance hit.
XY graphs don't need this feature (you can switch the data). It could still be convenient to have. But might be confusing since the inputs are labelled x array and y array.
The menu option should probably be "Transpose scales" or "Rotate .." or something. That's debatable.
Also not sure if the scale labels should automatically be swapped. Probably not (since all properties refer to X and Y scales). I changed them in the image to illustrate the rotation action.
I would like to suggest implementing the capability to add a bulk of users or computers in Volume License Manager. I suggest to allow a text (maybe csv or similar) file's content to be imported in, which would greatly speed up the setup of a new VLM server. Addionally, for the adding computers, it would be good to discover all PCs on the network and allow the administrator to select the computers to add using a checkbox.
Currently NI_Excel.lvclass:Excel Get Last Row.vi gives the last row in an excel worksheet. I am suggesting to add a last column count as well to the same VI.
Current NI_Excel.lvclass:Excel Get Last Row.vi
In a Mixed Signal Graph there isn't a documented way to programmatically change the 'Group' names.
They can be easily changed inside the editor, but not at run-time.
This request has been already discussed several years ago (see here)
The dialog shown after choosing Project > File Information could be improved. After all, it doesn't even contain file information, rather, just a list of files. Short of changing the name of that feature to File List, I think it could be expanded to actually contain useful information. While most of this information can be obtained elsewhere, it would be nice to have it in one place, and File Information is the initiative choice.
The fields I've chosen to show in the example below could be expanded and improved upon.
I know we have some ways to personalize the Getting Started window but to my taste, it's not enough!
What exists right now could be integrated into a SubPanel to keep the same functionality and that would also let anyone make it's own little plugin into this windows.
Here's a little example :
I'm using Key Down? and Key Up events to turn the keyboard into a series of switches for a behavioral experiment. For example, I want the user to push down Caps Lock with the left hand, Return with the right, then use the appropriate hand to do a specified task. By monitoring Key Down and Key Up events, I can capture the timing of the user's "button sequences" (to the accuracy of Window's clock).
Key Down? provides three indicators of what key is pressed -- Char, which is an I16 representation of the Ascii character (and hence can be "converted" easily into a string one could test, e.g. is this "A"?), VKey, an enum saying if the key is an Ascii character or a "special" key (such as Caps or Return), and ScanCode, which is another I16 that corresponds (somehow) to each key on the keyboard. There are also boolean indicators that can tell you if Ctrl, Shift, or Alt are being simultaneously pressed. Of these, the least "transparent" is ScanCode, as there is no obvious way (other than placing a comment on your code) to know that 58 corresponds to CapsLock.
Unfortunately, Key Up only provides ScanCode! So while I can write "nice" code that can more-or-less self-document that I'm testing for Caps Lock or Return (simply wire VKey to a Case statement, which will allow me to have a case labelled "Caps", pretty obvious, no?), I don't have such functionality with the Key Up event.
Suggestion -- add Char and VKey inputs to the Key Up event! This will make it "symmetrical" with respect to Key Down?, and will enable producing Key Up code that doesn't need to rely on "magic numbers" (Scan Codes) for specific keys.
We have a Front Panel and Block Diagram for each VI.
Front Panel as of now serves two purposes:
* User interface
* Data declaration/container
EVERY time I have a VI that has user interface, I have to hide data elements (controls/indicators) that do not belong on user interface outside the front panel boundaries.
EVERY time I need to add/edit any data element I have to move the front panel to get to my hidden data. (Then you know what happens, right? You build the application, run it to find out that you forgot to shift the user interface back, and your application shows data guts of the VI instead of neatly arranged user interface portion of the front panel)
VI should have three layers:
* User interface
* Block Diagram
Then you can edit your VI's data and block diagram all you want, and never mess up your user interface.
Data elements on the data layer don't need to have all that heavy 3D graphical representation where only borders of your nested data structures take up half a screen.
Each data element may or may not have graphical representation on user interface.
What do you think?
An unwired property node of class VI defaults to the current VI.
An unwired property node of class Applicatio defaults to the current Application.
Why does an unwired property node of class Panel defaults to the current VI's panel?
This only makes sense to have for these classes (and some scripting classes not mentioned here):
only to these classes it makes sense, because a VI will always have exactly one! Well, not Project, since a VI can exist outside a project, but it still makes sence to me to default to the current project if it's there...
Why can't I link to Panel?
Why can't I link to VI?
The pane and control link result in old school attribute nodes, the VI and Panel real property\invoke nodes. But to a user, what is the difference?
When linked to a pane, and you need the panel here's what happens:
Try to link to panel, not there.
Try select class, it's disabled (WHY?).
Disconnect from control.
Now we can select class.
Go down a few levels.
The other way around (panel property to pane link) is a snap.
The picture control has been my last resort on several occations. It can be very powerfull.
However it would become much more powerfull if there was a masking option.
When would you need this? Well, for instance when drawing graph data. NI's picture plots all autoscale the scales, because otherwise the lines in the plots need to be clipped. This is really hard to make, and event harder to make efficient for large sets of data. Or draw to a buffer picture, and get a subset of it's image. But that would render the picture control's zoom useless. With a mask, you could mask the plot area, and draw all scaled data. The feature would do the work.
Now the picture control has an opcode for masking (opcode 22, size 8). It's only for a rectangulair mask, but you can test the power of it.
I think this VI should be in the palette. Ideally, masking should be extended with ovals and polylines and mask AND-ing and OR-ing. But even the simple rect mask would be added value.
At present the only way to update the icon for a new class member is to go to the class properties and copy it's icon and then paste it in the new VI's icon editor. Yes, it is possible from the class properties to assign the icon to ALL class members but that is overkill when simply adding a few new members. In addition, it causes havoc with source code control since every class member has now been modified. It would be convenient if the icon editor allowed class member to simply inherit the class icon template directly. This would save the copy/paste action as well as thrashing of the source code control system.