LabWindows/CVI Idea Exchange

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

So for any bracket opening (, [, or {, CVI editor automatically adds corresponding closing bracket and place cursor between them. I saw this feature somewhere online and it was very convenient.

 

At present, you cannot edit text attributes when several controls are selected. It would be nice to be able to set text attributes the same way as we can set other attributes (e.g. status of leds or min/max limits for numerics and so on).

I am interested both in attributes for control text and control label.

Right now if multiple controls are selected you cannot jump to the code with "View control callback" menu option or Ctrl+B accelerator even if they have the same callback. It could be handy to be permitted to go to source if selected controls have the same callback.

 

Consider this scenario:

On a panel you create two buttons, select both of them and edit their properties assigning a (unique) callback to both. Next with both controls selected you generate the callback using "Generate Control Callback" or Ctrl+G. Now you would like to go and code something in the callback but you're not allowed to: you need multiple clicks to go to source: one click anywhere on the panel to deselect controls, one to select one of the buttons and finally the right click or accelerator key. Not very handy...

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

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:

 

SplitterCtrlAssignment.png

 

Now, there are two strange effects:

  1. Attachment mode control is being operated while dimmed Smiley Surprised
  2. If you happen to miss Attachment mode ring, you need to select again the original control in order to have the ring enabled, which is boring and time-wasting

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)

While it is possible to add, remove and replace files in a CVI project it is not possible to rename or duplicate a file.

 

This is useful for example if a large source code file shall be split to speed up compilation. Although this file operation could be done outside of CVI associated tags would be lost.

 

A workaround has been offered here but a more elegant and simple solution would be welcome. Hence I suggest to provide two more commands to add and duplicate a file including its associated tags and breakpoints...

 

Thanks.

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

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.

Hi,

 

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

CTRL+Q should highlight all instances of the results in the editor

Same thing with CTRL+F

This is similar to Notepad++ for example

 

I find the ALT+UP ARROW and ALT+DOWN ARROW of Visual Studio 2013 quite useful (move selected lines)

 

Please, implement CTRL + L to delete a line

I know the short cut is already owned by "go to line" but my current macro is not that good 😞

 

It seems macros are not working in the editor while debugging a code.

Could be usefull.

Will be mandatory if one day the "Comment multiple lines" is implemeted using a macro 🙂

 

Best regards, Philippe

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

 

Regards, Philippe

 

PS : drag'n drop a .cws or .prj should work on the CVI Welcome page

 

The option tooltip is very good feature what is the problem is it is only for the controls. If I want to show tooltip for listbox then it is fine but what if someone wants to show tooltip for active rows. It simply doesn't. 

 

This is very basic but one of the disadvantage of labview over .NET.

 

This needs to be fixed

The functions available today are OK in terms of functionality but limited in terms of syntax/grammar

 

For example : 

  • No support for multiline patterns
  • No support for '\s' in patterns
  • No support for [:alnum:] in patterns
  • No Posix conformance (ISO/IEC 9945-2:1993 for example)
  • No way to select among various syntaxes (grep, awk, ECMAScript...)
  • At least the ECMAScript grammar should be fully supported

 

I would like to propose to change the Regular Expression compiler with a brand new one

Keep the existing API (but support much better grammar)

Extend the API of the current intrument driver if needed or if it make sense (a Find/Replace function could be a nice for example)

 

 

Philippe

Admittedly not a very urgent wish:

 

Since 2013 strings are displayed in the Array Display, see the screenshot below. I would consider it nicer if the fields would be of the same width, now there is a noticeable change from 9 to 10 and from 99 to 100...

 

 

variable view.png

 

 

Thanks!

 

 

Hello,

 

while editing operations on a panel can be undone this seems not possible for menus. For example, if I have changed the item name of a menu in the UI editor this can not be undone using CTRL-Z. I have to remember my last action and undo it myself.

 

Thanks.

Hello,

 

building on this suggestion of Bertrand I'd like to extend it as follows:

 

Please provide an opacity/transparency attribute not only for xy plots, but also for graph annotations (texts, glyphs), PlotLine, PlotRectangle, PlotText etc.

It would be nice if the "Editting Tab Order" window could change the order of dimmed controls like in previous versions of CVI.  Thanks.

SetAnnotationAttribute permits you to pass -1 in AnnotationIndex parameter to apply the attribute to all annotations on the graph, while SetCursorAttribute does not. It would be good that this command too permits someway to operate on all cursors in a single pass.

 

As an example, when I want to print a graph on a black-and-white printer I prepare the control for this changing all elements to black. 

I can use a single instruction for annotations:

   SetAnnotationAttribute (panelHandle, PANEL_GRAPH, -1, ATTR_ANNOTATION_CAPTION_COLOR, VAL_BLACK);

 

On the other hand, I need to iterate on all elements for cursors

   GetCtrlAttribute (panelHandle, PANEL_GRAPH, ATTR_NUM_CURSORS, &numCursors);
   for (k = 1; k <= numCursors; k++) SetCursorAttribute (panelHandle, PANEL_GRAPH, k, ATTR_CURSOR_COLOR, VAL_BLACK);

 

There is an option to display the default display format for integers and floating point, but no such option to set the default format for
"String Display" or "Array display". Strangely, "Array display" shows my arrays as decimal numbers even though I have the default display format for integers set to Hex.

Ideally, I would like to be able to set them separately for char and unsigned char strings. For example:
                char strings I prefer to display as Ascii, null-terminated strings (the current default).
Unsigned char strings I prefer to display in Hexadecimal, with Options==Display Entire buffer. This is because my unsigned char strings are actually arrays of bytes.

I've been using CVI for a long time and it's frustrating to setup these options each and every time I look at one of my unsigned char strings. Even if it can't be setup separately for signed/unsigned  chars, I would like the option to set some sort of default.

 

Another aside, would it be possible to display the array/string as hex characters with the Ascii equivalent just below it? A dual display would be even nicer!