LabWindows/CVI Idea Exchange

Community Browser
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea

Hello,

Could you please increase the number of characaters in the graph legend ? 30 characters is so small...

 

Best regards.

Add support for Show Completion to detect when a user is typing in the name of an include file, within the #include brackets or quotes, and display suggestions of headers.

 

The suggested headers can be anything from the supported library headers or user include paths.

 

ShowCompletionsHeaders.png

I have two suggestions for minor improvements of the statusbar, see the figure below:

 

1) If the active window is a source code window I would like to see the name of the function the current line belongs to. If your function is longer, the name will not be visible on the screen and thus one has to scroll up to find out...

 

2) I'd suggest to have a fixed width of the Build Configuration field - right now the width changes e.g. between debug and debug32 and thus all other fields jump left- or rightwards...

 

Thanks!newstatusbar.png

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.

The  shortcut "Ctrl+Space" is for changing the input method in the some system.

  

Even we can change the shutcut, this function is so often to use.

 

The ideal is to make it like the way in some common source editor: when typing from any space position, the completion shows automatically.

 

This could be an option, to toggle on or off in  Edit>> Auto Completion menu item .

While it is possible to programmatically add a menubar to a tab page with LoadMenuBar, it is not possible to do that in the UIR editor.

 

Sometimes I use a tab control to display different scenarios to the user hiding tabs so that he's not aware of the pages not shown: this permits to have a single panel with all elements properly placed and designed on the different pages and programmatically choose which page to display depending on operating conditions or other characteristics. In such a case the tab page behaves like a "normal" panel, but while you can have a standard child panel with its own menubar, you cannot add one to a tab page other than programmatically.

 

It would be a handy to be able to add a menubar to tab pages too in the editor.

Please make the UIR editor WYSIWG again.

It's difficult to size and position controls if they get a (slightly) different size when the program is run because they use an other font than the editor.

See example here.

 

If you can't, at least make the editor use the same replacement as the runtime.

Hi,

 

in many of my applications, I have to verifiy some conditions recursively and they can generate an error, for example when checking the presence of a file (see below).

RecursiveWarning.JPG

Imagine to have a task doing this control and imagine the task is scheduled every 5 seconds or less.

This means you'll get the popup window continuosly and it makes almost impossible to debug your code.

I know I can reduce the Debugging level from Extended or Standard to No RunTime Checking in order to block that popup window, but sometime I need a deeper level of debug to fix my problems.

What do you think about adding a third button to ignore, for the current debugging session only, the run time errors generated from the same instruction in the same thread?

More, what do you think about adding a fourth button to ignore, for the current debugging session only, the run time errors of the same type?

 

Regards

Sergio

First of all : I LOVE the Format File and Format Selection and many thanks for the existing options in the dialog box (pointer for example)

 

Here is what I propose :

 

1 - "Function calls on single line" check box in the Miscellenaous section of the dialog box so that :

 

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;
}

 The code above comes from ..\CVI2013\samples\userint\2yaxis.prj

 

Is transformed in :

 

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;
}

 

Please note this apply not only to the SetCtrlAttribute() function call but also to the ScaleIt() function itself (very first line)
A long time ago it was OK to restrict ourselves to 80 chars per line but today I feel more confortable with statements on one line

 

2 - "Insert empty line before first statement in function definition" check box in the Miscellenaous section of the dialog box
Especially usefull when you use the Java Formating Option where the '{' is at the end of the line


With the previous sample code :

 

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;
}

 

The formated source (Java) should be :

 

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;
}

 

Instead of : 

 

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;
}

 

Pay attention to the "int val;" declaration with one spacing line in the first code and no spacing line in the second one.

 

Best regards, Philippe

 

Currently, CVI sorts all the entries from the Source Code Browser alphabetically. While this is useful for finding items, it is less practical when tracking items.

 

If we have, for instance

void foo()
{
    int a = 0, c = 0;
}

// 1000 lines of code

void bar()
{
    int b = 0;
}

In the source code browser, under Variables, we will have:

a (line 3)
b (line 1000+)
c (line 3)

 

I believe that having an option to sort the items either alphabetically or by occurence would give users a better view of their code.

We have a nice password control for user management. Alas, we are on our own when it comes to secure networking or saving/retrieving the data, passwords etc.

It would be nice to have some sort of cryptography.fp included. The simplest I found was the blowshish algorithm: it is fast and as far as I know, sound too. A crypto-module could be built around it. Moreover, it is available for Labview already...

I made this suggestion some time ago - but had it combined with another idea. Part of the suggestion was implemented so I am trying to revive the remainder here... Smiley Wink

 

For me it would be useful to have at least two different line types for the separator in ring controls, i.e. not only a solid line, but also a dashed (and possibly a dotted) line: This would help to group different entries into groups (solid line) and subgroups (dashed line). The idea would be to provide some more escape codes resulting in the different line styles.

 

Thanks.

Tables are often used to display test results organized in columns, which means the user very often has to search a particular column for a specific value. At present the "search vertically" checkbox is not checked by default in Find in Table Cells dialog, which means the user has to explicitly select it otherwise the search could locate the wrong cell.

 

What I would like to have is the ability to programmatically set the relevant default options on the dialog before it is shown. With this I mean:

  • Show/Hide/Dim some elements
  • Preset some value (like checking the Search Vertically option)

 

FindInTable.png

 

( Tested with CVI 2012SP1. Not yet installed 2013 )

  1. Open a project
  2. Go to Options
  3. Select Build Options...

 

If all the "C Language Options" are unchecked

Checking "Build with C99 extensions" check box should automatically check the "Require function prototypes" check box. If not, if a function is not prototyped before invoked then the compiler will generate an error (which is good and safe for the user).

This idea is similar to the fact that one cannot check "Enable OpenMP support" until C99 option is checked

 

Later on, if a user load a project with C99 support set but "Require function prototype" uncheck I guess CVI should let him know that it will set the "Require function prototype" for him in the Build options (simple dialog box for example).

 

Regards, Philippe

 

Capture.PNG

Bonjour,

This is a minor thing (I mean aesy to improve)

 

On the Welcome page when you click the "Browse" folder icon the file dialog looks for .prj by default :

 

Capture.PNG

I believe it make sense to look for "Workspace" by default

Doing so one can find out his workspaces directly (NewSamples.cws for example) rather than get the Open File dialog box on screen, then select workspace in the type list then look for his .cws

 

Does it make sense?

Yes because even single project based project are included in a workspece so it does not change anything for the one looking for "simple" project

Yes because more and more CVI users have more than one project in a workspace and so changing the default behavior will save time (1 or 2 seconds) for most of us.

 

Regards, Philippe

 

add the 'view control callback' to menu items from uir editor

saves alot of time for searching the CB manualy in huge projects

So far there is no way to take advantage of the CVI  style sheet when embedding HTML tags in the documentation of our functions 

The situation is as follow : 

1 - If the user does not use HTML tags every thing looks good BUT, for example, there is no way to display correctly a sample source code as it is done in the documentation of LoadPanel for example (see below). Same thing for the icons and other cool stuff available in "../cvi2013/bin/libref/tooltp.css"

 

Capture.PNG

2 - On the other hand, if the user use HTML tags in the function documentation then the display look "weird" and there is no easy way to improve the display.

 

My proposals

1 - Alow the users to leverage the .css file that come with CVI. This mean document/explain the style and the ressouces available (icon etc). This also mean that when the users embed HTML tags in the documentation then the help should include the CVI .css file and then the user documentation (like it is done for the CVI function call documentation)

2 - Another option could be to create a new documentation tag that help users to describe their own .css file. The problem here is that it would break the consistency within the documentation. I prefer option one.

 

I hope its understandable... 🙂

Regards, Philippe 

As discussed here, the new and nice auto indent feature does not always work consistently. I suggest to improve this:

 

  • at present auto indent considers the first 40 characters of a line only; if indentation is later, say at column 44, auto indent fails. I suggest to loosen this restriction and consider up to 100 characters
  • at present, different comment styles are treated differently. Although /* */ is THE valid C comment, auto indent can be configured only for the // style comment, it ignores this setting for /* */ comments. I suggest to treat both types of comments the same way

Thanks!

 

 

CVI2013 does not seem to save debug information, instead it has to generate it every time a project is loaded. For large projects this can take some time...

Prior to CVI2013 we were used to a large *.cdb file with browse information which is now gone.

 

I suggest to save debug information (function list,...) to a file that is loaded on starting CVI so one can make use of this information 'immediately'.

 

Be able in CVI to deploy code to a Compact RIO for execution. This would allow Compact RIO users to use C code from a Linux LabVIEW.