NI Home > Community > NI Discussion Forums

LabWindows/CVI Idea Exchange

Showing results for 
Search instead for 
Do you mean 
Announcements
The NI Idea Exchange is a product feedback forum where NI R&D and users work together to submit ideas, collaborate on their development, and vote for the ones they like best. View all of the NI Idea Exchanges to post an idea or add your opinion on an existing one today!
New Idea

Following this idea already implemented, it could be good to add up/down keys to rows and columns selectors.

 

At present, if the table is in hot or normal mode you can click on a cell in the table preview in the Quick Edit window to select the corresponding row/column: going to editing them is made easy this way. However, if the table is in indicator mode you cannot click on the cella to select row and column. The same applies if you want to reach a column/row out of visible area of the table: the only solution to that is to double click on the column or row selector and type in the number you want. Not easy  nor fast, and prone to errors. Much better to click on a button and increment / decrement the active column index

 

I'm thinking to something like that:

TableRowColSelectors.png

Summary:

Display more struct member information during source editing and during debug.

 

Description:

While editing source code, CVI only displays the struct members, but no information regarding the type of the member (or declaration information, line file and line).

Add a tooltip to the right of the pop-up displaying the struct members in the source editor to display this information. Similar to this picture:

struct.jpg

Also add support for displaying nested structs and even display the member values while debugging, in form of a tree, when execution is suspended (CVI currently only displays the memory address of that struct variable).

 

I made this suggestion some time ago - unfortunately I had combined it with another, related idea. The other idea was implemented so now the complete issue is dead, sorry, completed. :smileysurprised:

 

This suggestion is meant to revive the unfulfilled request of two new attributes, allowing to dim and hide a specified entry in a ring control. This would be convenient as it avoids to programmatically rebuild the control.

 

Thanks!

 

 

RobertoBozzolo

Improvement needed on "Attach controls" function for splitter controls

Status: New
by Proven Zealot ‎05-22-2014 05:24 AM - edited ‎05-22-2014 05:27 AM

Attaching controls to a splitter in the UIR editor can be a pain if the panel has several controls on it. I'll make an example using CVI example SendMail: trying to add a vertical splitter and attach all controls to it in order to rearrange the panel when the user resizes it. This is the original panel, you can see the vertical splitter in the upper right corner:

 

SendMail.png

 

 

First of all, if several controls are selected, they overlap in the right panel of the editor in a way different from the original panel. Here you can see that the decoration indicated by the arrow overlaps two string controls that I'm not able to operate on to select desired  attachment mode. This means that I need to proceed to attach controls in steps, hoping new controls added are not overlapped by previous ones. Alternatively I can move controls in the right panel to encover hidden ones, but this ingenerates confusion as controls are no more in the original position besides being a waste of time.

SendMail_Overlap.png

 

Second item: if selected controls are on the "wrong" side of the panel, they are all grouped (and possibly overlapped) on the closest boundary of the right window. See this example: Send and Quit buttons are only partially visible on the lower left corner of the right window and additionally they are overlapped (in the small box how they appear if I select one of them and move it upwards):

SendMail_Arrangment.png

 

 

I suggest that this function is improved with these additions:

 

  • Honour the z-plane order of the original panel when controls are selected for attachment and moved to the right side
  • Maintain original controls position when moved to the right panel. Consequently:
  • Have both scrollbars enabled in Controls on the Splitter window in order to navigate to the controls; at present only one of them is enabled, whether vertical or horizontal depending on the type of splitter
mmeinders

Tooltips for menu bars

Status: New
by Member mmeinders on ‎09-19-2013 01:56 PM

The place where tooltips are needed most is on menu bars, since the text you can put there is fairly limited and right clicks can not be used to provide help as can be done with buttons. I would love to see this added to CVI soon.

When operating graphs in Labview, it is easy to change the scale of an axis of a graph (at runtime): to change e.g. the maximum value, you select the current maximum value with your mouse, type in the maximum number you want and hit enter. To achieve the same in Labwindows, you have to use a numeric control and a button, which is a bit cumbersome. The same applies for zooming: In Labview, you can click a small button attached to the graph and select the way you want to zoom, and then just use the mouse. In Labwindows, you have to know that zooming is done using the ctrl button, ctrl+space restores the previous setting, etc. It would also be nice to be able to enable autoscale by right-clicking on an axis and having a popup menu which allows to do so (just like in Labview). And if the user changes e.g. the maximum value while autoscale is enabled, it would be nice to automatically disable autoscale (unlike in Labview).

 

So in general, it would be nice to have more comfort in operating graph controls.

 

Thanks.

Felicy

Adding C++ programming abilities to CVI

Status: New
by Member Felicy on ‎08-15-2012 02:28 PM

Customer who has used CVI for years and likes it was looking a Mstudio for the reason that a lot of his new engineers can't or don't do the regular C programming.  He likes Mstudio as an idea but, with the extra cost of adding MS Visual Studio and dealing with a they support/We support issues of having two SW pkg from 2 different companies gives him pause about purchasing.  He stated he likes CVI because if there is an issue (even if rare) he know that NI will help to figure it out. I let him know I'd provide the feedback.

vix

Go to Next/Previous function in source files

Status: Completed
by Active Participant vix on ‎10-22-2010 04:01 AM

Using CVI I can't find an easy way of moving inside a source code file.

Based on my experience with other C editors, I suggest these 3 little features that I think are really useful:

  • a shortcut to jump to the beginning of previous function in the same source file (CTRL + PGUP, for example)
  • a shortcut to jump to the beginning of next function in the same source file (CTRL + PGDWN, for example)
  • the current function where the caret is, displayed in the toolbar. It will be nice if you use a combo so that the user can jump to a different function with a simple mouse click (see attachment)

I have thease features in an open source C/C++ editor (Code::Blocks) I use for other projects, and I think they're really useful to reduce the coding time.

When you have large source files with a lot of functions, with CVI is't difficult to easily see where you are inside the file; moreover it's quite common scrolling the file jumping from a function to another.

Status: Completed
Introduced in LabWindows/CVI 2013
Anjelica-W

Include Zoom Functionality for Digital Graph

Status: New
by Member Anjelica-W on ‎01-31-2014 03:33 PM

The regular graph for analog data has the capability to zoom. However, in an application where you may have a large amount of digital data, the digital graph has no native zoom features. Current workaround could be to have an input for the min and max and use the SetAxisScalingMode function to change how much of the data you view. However, it would be helpful to have the same zoom features as the regular graph.

 

Hi Everyone!

 

In these days, I have been debugging a complex application(almost 12,000 lines of code) and it was very hard to do a map showing the relationshing at least of some critical functions.

 

For this reason, I consider that a very helpful debugging tool could be to add in LabWindows/CVI, a window like the VI Hierarchy in LabVIEW; that shows the relationship beetween the functions inside all the module in a CVI project. This windows will show which functions calls a particular function.

 

Here, there is a very simple example:

Untitled.png

 

Regards!

jdubs

Auto Indent Code

Status: Completed
by Member jdubs on ‎11-16-2011 12:34 PM

While developing code, having correct indentations is very helping in making sure you have all the right brackets and to see where your structures are nested easily.  Sometimes, whether by copying and pasting or just rapidly getting out a section of code, a whole segment might have incorrect indentation, which is tedious to correct.

 

This is where an auto indent tool could be a big time saver.  From somewhere like the Edit menu, where similar functionality is located in other development environments, you could select Format Selection to do a highlighted section or Format File to do the whole file.  Then, CVI can format the tabs for you:

 

autoindent.png

 

Although this is a simple example, auto indent becomes even more useful when you have multiple nested structures and decide, for instance, to add or remove another nested loop.

Status: Completed
Introduced in LabWindows/CVI 2013
LucianoAssirelli

Find / Replace parameters and lost time

Status: Under Consideration
by Member LucianoAssirelli ‎05-11-2012 11:20 AM - edited ‎05-11-2012 11:22 AM

I have had severe problems in development, due to a high synergy between my lack of attention and CVI behavior in search/replace dialogs.

I am talking about the fact that Find/Replace parameters [namely search directories] are stored at REGISTRY level, so that they remain the same across different workspaces.

Having to work with different version of the same software product, I have found myself looking into the wrong sources, or even doing mass updates, due to the fact that different projects have identically named sources and includes, just in different directory trees, and rapidly switching from one workspace

to the next I didn't "mind the step"

My suggestion, thus, is to store find/replace parameters at workspace or project level, so as to avoid the aforementioned inconvenience

Johannes_T

Improve Breakpoints Window

Status: Under Consideration
by Member Johannes_T on ‎03-13-2012 04:46 AM

Summary:

Improve the Breakpoints Window, so that breakpoints can be more easily managed.


Description:

1. Change the Breakpoints Window, from a modal dialog to a dockable window (similar to the Watch Window). Debugging can be more easy this way.

2. Allow breakpoints to be grouped, disabled/enabled and edited in user defined categories. This allows users to easily collectively manage several breakpoints at a time. It also helps the user to logically group breakpoints, depending on various issues issues that he might be working on.

3. Breakpoints could also be sorted from a pop-up menu by filename, line, hit count, etc.

 

Breakpoints Window

gvan

Improved/Accelerated Graphic Performance

Status: New
by Member gvan on ‎02-15-2011 04:56 PM

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.


Greg

 

Wolfgang

Improve UI editor for editing tooltip strings

Status: New
by Trusted Enthusiast on ‎08-01-2013 07:11 AM

Hello,

 

The current features of the UI editor with respect to editing tooltips are VERY limited. I am not complaining because one has to start somewhere :smileywink:

Instead I am adding yet another suggestion on this subject :smileyhappy:

 

Please provide the possibility to enter tab stops, see my comment here

 

Because this is such a modest request, please also consider this one :smileywink:

 

THANK YOU!

I noticed that LabVIEW has two ways to download instrument drivers: direct downloads from IDNET and through the NI Instrument Driver Finder.

 

[NI Instrument Driver Finder Menu Option Image]

 

instr1.png


[Alternative NI Instrument Driver Finder Menu Option Image]
instr2.png

 

 

When downloading drivers directly from IDNET, the file must first be unzipped and then placed in the <National Instruments>/labview xxxx/instr.lib folder.

 

The easier option when working with LabVIEW, the NI Instrument Driver Finder, downloads the files, unzips them, and instantly gives you access to example code or palette of VIs for communicating with said instrument.

 

If possible, could we add a similar tool to LabWindows CVI?  It would be nice to have a menu option which would open a CVI Instrument Driver Finder.

 

The interface could then allow users to easily find a driver, download it to their Instruments Folder, see example code and start work.

 

Since probably 30% of all LabVIEW adoption comes from driver downloads and driver development, maybe this is an investment of resources worth looking into?

 

[Image of NI Instrument Driver Finder]

IDfinder.png

 

 

[Image of Instrument Driver Finder example code, project access, and palette access]

IDfinderexample.png

 

Cheers,


Shawn Shaw

Sorry for the long message.

My proposals are at the very end of this post

In order to understand the rationales I propose 2 experiments

 

Experiment #1:

In C:\Users\Public\Documents\National Instruments\CVI2013\samples\userint
Open 2yaxis project

 

Here is the code of interrest (lines 131-145):

 

int CVICALLBACK ScaleIt (int panel, int control, int event, void *callbackData,
                         int eventData1, int eventData2)
{
    int val;
    
    if (event == EVENT_COMMIT)
        {
        GetCtrlVal (panel, control, &val);
        SetCtrlAttribute (panel, PANEL_GRAPH, ATTR_ACTIVE_YAXIS,
                          VAL_RIGHT_YAXIS);   
        SetCtrlAttribute (panel, PANEL_GRAPH, ATTR_YMAP_MODE, val);
        SetActiveCtrl (panel, PANEL_GRAPH);
        }
    return 0;
}

 

Set a break point line 141 (second SetCtrlAttribute())
Then comment line 141 with 2 "/" at the beginning of the line of code
Debug the project (SHIFT+F5)
Before the code start, the breakpoint move "automatically" from line 141 to 142

 

Note : This is "OK". Indeed line 141 is no longer executable so it seems reasonable to move the breakpoint to the next valid line of code.

 

When the UIR appears, click on the scale control
Once in the editor, stop the debug session

 

At this point you should see the breakpoint moving automatically from line 142 to line 141

 

Question : Why? While the breakpoint on line 142 is enable and valid , why does the breakpoint "remember" it comes from
line 141 and then "decide" do go back on this line?


I believe it has to do with the fact that CVI try to set the environment back to the state it was before debugging the code.
IMHO this is weird.

Indeed, at the end we have a source code with a breakpoint set on a commented line.

What is the value for the user?

 

 

Experiment #2 :
If you run the same experiment but, this time, starting with a breakpoint and a comment on line 142 (last SetActiveCtrl() function call)
then the breakpoint move automatically from line 142 to line 144 (return statement)

 

The issue now is that the code stop on the return statement quite often and not only when the EVENT_COMMIT is managed

 

Based on previous experiments I would like to suggest the following 

 

Plan A :


- During code edition, commenting a line of code which have a breakpoint CVI should disable the breakpoint (grey diamond). This provide visual information to the user.
- CVI should not try to find a new line of code where to set an active breakpoint
- Uncommenting a line which had a breakpoint CVI should NOT enable the breakpoint for the user. The breakpoint should stay grey. A single click on the grey diamond should enable the breakpoint (see another proposal I made about breakpoints)

 


Plan B :


- If, before execution, one breakpoint is found on a commented line
- Disable the breakpoint on the commented line (grey diamond). This provide visual information to the user.
- Try to set an new active breakpoint to the statement right after the current line of code if and only if :

a - the statement belongs to the same current block ( {.....} )

b - the condition (if any) is still valid on the selected line of code (this is already done today by CVI)

- If this is not possible, try to set an new active breakpoint to the statement right before the current line of code if and only if :

a - the statement belongs to the same current block ( {.....} )

b - the condition (if any) is still valid on the selected line of code

- Once set, even after the debugging session ends, the new active breakpoint remains active and in place

 

 

I vote for Plan B

Best regards, Philippe

vix

A new "Picture and Text" Command Button

Status: Under Consideration
by Active Participant vix on ‎09-09-2011 01:29 AM

In CVI there are two kind of buttons:

  • the classic text button (i.e. a button with a text where you can't insert an image)
  • the picture button (i.e. a button with an image where you can't add a text)

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

  • an image statically or dynamically  loaded from file)
  • a text string localized through the UIR localizer

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).

msaxon

Translations of CVI runtime messages - msgrte.txt

Status: New
by Active Participant msaxon on ‎12-23-2013 08:09 AM

It would be great if NI could provide standard translations of the NI runtime message file msgrte.txt in commonly-used languages.

 

Whilst we can get translations done ourselves, it is normally done by translators who have little knowledge of the runtime context so the quality is rather variable; also, I get the feeling that we are duplicating effort that may have been already spent elsewhere.

 

If it helps, I for one would be willing to pay for a decent translation.

Wolfgang

Improved table editor

Status: New
by Trusted Enthusiast on ‎04-13-2014 03:31 AM

Hello,

 

I have a table with several columns. Let's assume I want to modify properties of column 5. It would be nice if when clicking on column 5 in the UI editor this column would be preselected. Right now, the table editor opens and one has to manually select a column...

 

Thanks

About LabWindows/CVI Idea Exchange

Do you have a feature idea for how to improve LabWindows/CVI? Submit and vote on ideas now!
  1. Browse by label or search in the LabWindows/CVI Idea Exchange to see if your idea has previously been submitted. If your idea exists, be sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click New Idea to submit a product idea. You should submit a separate post for each idea. Watch as the community gives your idea kudos and adds their input.
  3. Give kudos to other ideas that you would like to see implemented!
  4. NI R&D will review ideas that have been submitted and update the status.

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.