We have recently dropped CVI (as of 2009) as an option for use with our many data visualization applications. The graphic performance is just too slow and clunky to put up with any longer and gets worse as we add features or try to make 'native looking' applications (that resize, animate, etc).
Things like dragging/updating cursors is noticably clunky when you have more than one graph updating (linked cursors across more than one graph).
Updating datasets in large tables is slow enough to watch it step through the rows. Even using suggest tips like using ATTR_CTRL_VAL instead of SetTableCellVal, when a large table has to update... it's painfully noticeable. Basically any operation that updates a large portion of the UI.
Another example, try to resize and move controls (as most other applications do) on the EVENT_PANEL_SIZING?
I'm going to go out on a limb and guess that CVI doesn't use any graphics card acceleration? since workstation or netbook doesn't seem to make much difference in graphic performance.
Our clients notice when our applications look 'clunky' and 'slow' when compared to smooth, responsive apps/interfaces from competitors. It's often the little things that make a big difference in appearance.
usually I work on my projects on two different computers (home/work or development/lab). I would like to see a possibility to more easily move my project back and forth, say by providing two new menu commands
File / Import Project and File / Export Project
I imagine that the Export command generates a zip file consisting of all files required to build the executable (and a distribution) and also exports the editor preferences (probably without the window positions because different computers may have different screen resolutions) etc. The Import command then should load the *c., .cds, .cws, *.fp, *.h, *.prj and *.uir files, import the editor settings, adjust the library menu and load any instruments.
It would be nice to be able to set the ON and OFF values on toggle buttons the same way that they can be set for binary switches, instead of having them hardcoded to be 1 and 0. Thanks..
Quite often I need to look at one project source code while working on a second one
So, I use Windows File Explorer, find my project of interrest then double click on the .cws file
In this case, CVI load the cws file in the running instance of the IDE
This is not really what I want
I would like CVI opens the workspace in a new instance of the IDE (similar to what is done when, in a function panel help, you click on the "open sample code" button)
For what I remember I believe the above behavior is the one adopted by Visual Studio Express 2013
So far, I must remember to run a second instance of CVI first and then drag'n drop the cws file
PS : drag'n drop a .cws or .prj should work on the CVI Welcome page
Coupled with the Source Code Browser, there should be a 'Refactor' option to rename an identifier to something else. And only that one, not the homonyms from other contexts, which is something impossible to achieve with a search and replace.
In CVI there are two kind of buttons:
But if you try to design a modern interface (like the MS Outlook 2010 ribbon, for example) you need a button where you can have both
Even in the new CVI 2010 SP1 there isn't a convenient workaround (see here, for example).
In LabVIEW, otherwise, this kind of buttons can be easily created.
An interesting feature would be also a setting to set the text position referred to the picture (top, bottom, left, right).
While defining attachment mode for controls attached to a splitter we face a very strange situation. In this image you can see on the right the aspect of the window with one control selected in "Controls on the splitter" window in Attach/Detach Controls dialog. On the right the same dialog when you click on Attachment mode control:
Now, there are two strange effects:
I suggest that at least that ring is not disabled when clicking on it or clicking away from "Controls on the splitter" box.
(this suggestion refers to CVI up to 2012SP1, I cannot check it for more recent releases)
As already mention in its help documentation, ClientTCPRead function may return without reading all data you want.
So an example code is provided so one can do the read operation as expected.
But I think this behaviour is not intuitive and I am sure many people (including me) have struggled to much before finding the cure.
I suggest to add a second function to the TCP library like ClientTCPReadExact which does this workaround for us and returns with all the data we have asked for.
right clicking in the source code brings up a popup menu, see below.
Some of its items are dimmed or adapted to the context. For example, 'Format File' versus 'Format Selection'. This is nice and as I would expect it for a context menu!
Unfortunately, there are some entries that are available even if they are more ore less superfluous.
For example, 'Edit DAQ task' shows up even if no DAQ is installed. Selecting this menu entry only shows 'This feature requires DAQmx' - so why not dim it if no DAQmx library is available?
The same is true for 'Edit IVI Specific Driver Attributes...' and the IVI library.
But also 'Recall Function Panel', 'Browse Identifier' and 'Find UI object' don't care about their context.
'Open Quoted Text' for example, does! (which is good)
So I would suggest to have the popup menu act more consistently and only provide commands that are meaningful.
If you have, say, three controls called MAX_1, MAX_2, MAX_3 arranged vertically. If I select them all, copy and paste, the new controls appear as MAX_4, MAX_5 and MAX_6 but in the wrong order to what you would expect.
A similar issue occurs with assigning a group of controls to a control array, they always seem to be in the wrong order, usually reversed.
I would like to have the possibility to store the uir-file not as a tui-file (old-fashioned ini file), instead as a xml file.
It has been suggested much earlier here, but obviously passed out of mind:
When using 'Go to Definition' (CTrl+I) while in release configuration, CVI tells that no source code information was found for the identifier '...', because 'Browse information is not available in the Release configuration'... (still true for CVI2010)
This can and should be improved!
And it might be a good opportunity to also add the reverse process, 'Goto Declaration', suggested here
building on this suggestion I'd like to see a more comfortable panel of the UI editor for editing label/value pairs, see below:
I realize that there may be open source solutions for this but I would love a robust easy to use email function on completion. Essentially, I am gearing up to run some larger batched analysis routines on a remote workstation for our user group. The analysis time and queue length will vary from minutes to hours (hopefully not days yet). I would love the option to email the user on completion, failure, or email me if something really goes crazy.
The problem with the current simple email solution (unless authentication was really recently implemented) is that almost every SMTP server requires additional authentication to combat spammers I suppose.
Starting from CVI2010, the User Interface Browser and the Attribute Browser are both located on the right of the UIR editor in the Workspace window.
I'd like to be able to hide these windows when required: when working on small screens like when you use a laptop these windows occupy a lot of space even if you reduce their size at the minimum.
In addition, the ability to choose which window to display on the bottom left could be a good option: up to version 2009 the bottom left side of the workspace window switched between the library tree (source editor) and the attribute browser (UIR editor).
Ideally, while in the UIR editor I would like to be able to:
Even after using CVI for many years I still find the DirSelectPopup confusing, because it provides a file selector, displays files, and even allows to select files...
I would prefer an improved/modified function such that the DirSelectPopup only shows directories, does not provide a file selector, etc.... This should make it much more obvious that one is selecting a directory, not a file...
imho the nice tool tips feature provided by the Programmer's Toolbox leads a miserable existence, because it is extra effort integrating it into a GUI.
I would love to see the tool tips integrated into the IDE, that is, when editing a control in the GUI editor, I would like to be able to also set the tool tips text and if it is initially enabled, just like it is possible to enter a control label text. This would include moving the tool tips from the Toolbox to the regular user interface library.
Please conisider supporting multi-touch screen gestures in a similar manner to the mouse events. Windows 7 Mulittouch capabilities are a good place to start. http://msdn.microsoft.com/en-us/magazine/ee336016.
The GUI of the future will most certainly be touch screens, and users expect to be able to use gestures such as pinch, fling, spread, rotate, etc.
we are daily dealing with "constant name" field's values that canNOT exceed 21 characters due to restriction on labwindows/CVI.
even the latest CVI/2009 SP1 v9.1.1 (450) has this restriction.
this is very tedious because our software makes use of this value to make cross searches in the registers' table of our component.
as such, if the "constant name" field's value must be trimmed down to <=21 chars to comply with CVI restriction above, this makes the cross-search unusable.
please increase this limit up to 32 chars (at least).
STMicro Grenoble France.
It has been suggested earlier (here) to provide the LabVIEW feature of a display format 'SI notation' allowing to directly enter 100 kHz (instead of 100000 or 1e5)
Note: the LabWindows/CVI Idea Exchange is not the appropriate forum to submit technical support questions.
The LabWindows/CVI R&D team is committed to reviewing every idea submitted via the LabWindows/CVI Idea Exchange. However, we cannot guarantee the implementation of any LabWindows/CVI Idea Exchange submission.