In the project window you can organize the project files into some "virtual" folders (Source Files, Include Files, ...)
If you right-click on the project name, you can add a folder with the item "Add Folder...".
If you right-click on one of these folders, you can add one or more files files.
But it's impossible to create a subfolder of one of these folders.
Every large project has a lot of files (sources, ini-files, images, icons, ...), so I think it's quite common having them saved into different "real" folders and subfolders. If you don't explicitly add these files to the project, you can add them to the distribution kit browsing your hard disk "real" folders, but in this situation the absolute path of the files is used. And if you move all your project from a PC to another one you won't be able to recreate the distribution kit without errors if you don't save the whole project to the same folder you use in the first PC.
And this is a really big problem.
For files explicitly added to the project, instead, the relative path is used, and this is OK, so the best situation is to add all the files in the project window.
So it's necessary create a full structure of virtual folders and subfolders.
It was a nice surprise when CVI provided clang as an external optimizing compiler. In the meantime, however, the initial clang version 1.0 has been significantly improved and now is at version 3.0 - but not for CVI users...
I would suggest that NI provides a current Windows binary of the compiler for everyone with a legal copy of CVI2010 or later. As the release cycles of CVI are quite long it would be convenient to obtain, on a biannual interval, interim updates of clang.
On a side note, this also would provide some motivation to keep/renew the SSP. Right now I consider it disappointing if the equivalent of several hundred Euros is a patch of CVI only. Other major companies such as Autodesk or Microsoft provide patches free of charge...
sometimes vertical buttons or toggle buttons fit better to the rest of the UI than the standard horizontal buttons. In such cases I would like to have the possibility to have the button text aligned vertically. Hopefully the attached figure can explain my wish...
searching through the C code for specific controls first and foremost requires the knowledge of the control's name... If there are some hundred it may get difficult to remember and thus I typically have to check the UI for the constant name. Clicking on the control shows its name in the status bar, a welcome feature, but unfortunately I cannot directly use this text for searching...
What I suggest is allow copying this status bar field using CTRL+C; then it's possible to switch to the C code, press CTRL+F and CTRL+V... (The property browser is not really useful here because it only lists 'NUMERIC_7' and misses the associated panel)
Another, even more powerful feature would be to add a right click popup menu either to this status bar field ('Search C code for this constant') or to the control popup itself: Besides 'Generate control callback' etc. I'd like to see another entry 'Find control in C code'
When designing a new user interface it would be very helpful to have the ability to lock a control's position within a panel. It is far to easy to inadvertently select and move a control that you have already spent time precisely positioning within a panel.
Over the years the look of CVI's control elements got closer to native Windows controls, e.g. by the direct use of native Windows controls such as the File Select Popup, which I would consider a welcome visual improvement.
What still is not available is a control element providing a Windows-like status bar, e.g. like the one of CVI's IDE.
I imagine a status bar which is similar to use as a menu bar, i.e. with a LoadStatusBar command, similar editing capabilities and the possibility to define the number and type of elements (text, image,...). Also the lower right part should resemble the typical Windows 'triangle', see figure below.
We're currently in the era of the large widescreen monitor. Can we have the title bar in the IDE show the full path name of opened instead of abbreviating it with '...' if the window is large enough to show the full path name? Thanks.
I have 2 suggestions for graph improvements.
1/ I suggested the first one a long time ago but it has never been implemeted so I try again trough this idea exchange board.
I would like to have the possibility to change the grid lines style to dash or dot. Today only solid is available.
I have written a routine to do it for printing graphs but as you can see it in the attachment it is not always working properly.
2/ It would be nice to have the possibility to set a percentage of transparency for the plots. In the example attached you can see if the green plot would have been behind the blue some parts would not have been visible. By setting the percentage of transparency of the blue one the green if behind the blue would become partly visible.
These 2 features are already available in the 3D graph so it would be nice to have them also on 2D plots.
It has been discussed a few times in the forum so it might be appropriate to also ask here for the implementation of a native polar plot, i.e. plot r versus theta, with radial grid lines and all the corresponding ingredients.
It would be nice to be able to import and export custom environment and color settings. This would allow users to transfer settings to another computer, and it would also allow the community to create color schemes that could be shared. Creating a good color scheme from scratch is time consuming, so it would be nice for both the creater and the user to be able to share the work that is done.
sometimes it is useful to know if the mouse cursor is above a certain control or not, e.g. a graph control where one might want to toggle the visibility of display coordinates, etc.
Right now, this can be accomplished by installing a timer that periodically calls GetRelativeMouseState() to get the current mouse coordinates which can then be compared to the control coordinates.
To me, this seems to be quite some overhead to have a timer busy all the time checking for various, possibly very many, control coordinates. It appears simpler to have two more events, similar to EVENT_GOT_FOCUS and EVENT_LOST_FOCUS, but triggered on mouse position alone.
The suggestion is also different from EVENT_MOUSE_POINTER_MOVE.
sometimes I use the built-in PromptPopup function, in order to get the user input. It is very comfortable having this feature, but I'd appreciate it more, if I could initialize the "Response Buffer" passing a not void string.
This means that if the string passed to Response Buffer is void, the function works exactly as today. Otherwise, if the string contains some value, the input field of the popup window will be initialized with that value.
If you have a Numeric Indicator, and you set "Range checking" to Notify, CVI will show an ugly popup when you enter a value out of range.
If you set this property to "Coerce", the value you enter is coerced in range, but no specific event is generated.
I think that an EVENT_VAL_COERCED would be really useful: using this event you could easily show a message popup, for example.
I was operating on Pop-ups,I felt need of feature like java.
In Java when we have display Message we can easily concatenate variable with message string by using '+' sign.
In LabWindows,when do message pop up,
int var = 3;
MessagePopup("Message count","Message No : "+var);
such a feature should be there.otherwise we do some string operation then Display message like " Message No : 3".
So it increases string operations and string operations gives problem in memory management.
So at least In API's such '+' sign for concatenation of string with variables should be available.
Even if it is C language supported.
This is sort of a slight extension of the valuable suggestion by vix (Go to Next/Previous function in source files):
Right now, in the CVI IDE it is possible to have a function tree of all library functions - for larger projects it might be useful to also have a function browser for all the functions in the current project, thus not only permitting to jump to the next or previous function, as suggested by vix, but also to more easily return to a frequently used function by one mouse click on the function name in the function browser.
Functions could be grouped by file name (typically there is more than one source file in a project), or alphabetically...
I would consider it quite convenient having a simple CVI function, similar to GetPanelDisplayBitmap, providing a true screenshot image of a CVI panel.
As discussed here, the CVI function GetPanelDisplayBitmap does not provide a screenshot image of the panel, i.e. the bitmap lacks all OS-specific features (color theme etc.).
For backward compatibility reasons, NI should provide a new function, returning a bitmap that looks the same as if I would have pressed Alt+Prt Sc
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.