LabWindows/CVI Idea Exchange

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

I've been looking around for a way to open the LabWindows/CVI print dialog box. It appears when you call the PrintCtrl function, does NOT appear in the PrintTextFile or PrintTextBuffer functions, and there is no function to open it directly; I need to print from a text buffer and would like to open it directly from a Print Setup menu function. The best recommendations that I have received are either use the Windows PrintDlg function, or to kludge the text into a hidden control and print the control. I highly recommend either adding it to all user interface library print functions or allow the user to call it directly.

In few applications, while plotting multiple parameters on same graph,we should have multiple Y-axis insertion.

Like 1 parameter's axis limit is 0 to 50 while other has 0 to 5000 ,so when we plot both ,the change in parameter with smaller value is not seen properly.it look like plain line.

 

Also when we move cursor to graph it should show value at that position.

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.

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)

Sometimes I want to complement standard UIR controls with custom graphics on my own. For instance an arrow linking two otherwise normal controls. One way to do those custom graphics is to draw them in a transparent canvas. But then if you place the canvas on top of the controls, it catches the clic events destined for the controls below.

 

There should be either:

- an attribute for the canvas (or maybe all controls) that basically says 'ignore me and pass the event to the control below me'

- a way for the canvas callback to say 'nope, this event is not for me, just pass it on to the control below me'

Hello,

 

debugging an event-driven software sometimes might be easier if there would be a possibility to log all events (e.g. to a log file) because it happens that the sequence of events occurring is different from the sequence expected ...

 

What I have in mind is an additional checkmark in the Build Options panel, 'Log events'. As a further option, events could either be logged to a debug window or to a file, with information such as

 

system time, thread_id, event_type (e.g. VAL_CHANGED), event source (e.g. panel_handle, control_id)

 

Thanks!

"Auto hide project tree" environment option works differently depending on which file you click in the project tree: ig you double-click a UIR file the file is oepned in the editor region and the project tree remains open; on the contrary, if you double-click source or include files the project tree closes immediately so that if you want to open more file you need to move the mouse on the leftmost side of the window to display the project tree again.

This is particularly annoying when working on laptops, that is when the auto-hide feature is more necessary because of the limited screen size of these machines (not considering the ugly feeling when using the laptop's touchpad instead of a regular mouse, but this is not a CVI problem Smiley Wink )

 

I'd like to have the project tree remain open even when double-clicking a source file, until I move the cursor out of the tree area.

Hello,

 

sorry for the strange title, I couldn't find a better one:

 

Right now, if I toggle a tag or set a breakpoint, these actions cannot be undone using 'Undo (CTRL+Z)'.

 

Similarly, if I want to discard any changes I have made in a project this may not be especially simple... If I simply close CVI then I am asked if I want to save or discard my changes - this is fine - unfortunately this does not include breakpoints, tags, etc. So even if I select 'discard', tags, breakpoints etc. are not undone.

 

I'd like to have a possibility to close a project in the state I have opened it.

This is an (extensible) list of things I'd like to see improved in the CVI help:

 

- I miss a list of all obsolete functions, preferably in an ordered, linked list showing obsolete function name, replacement function name (if any), library, CVI version of improved function:

e.g.:

          Convolve          |   ConvolveEx     |   Advanced Analysis Library    |   CVI 9.0

 

- I miss a list of all new functions / attributes ... per version (if I am updating one of my older projects that has been untouched for years I'd like to also update it to new CVI features (and change to non-obsolete functions) so I'd like to see what is new since then.)

 

- I'd also like to have the lists of fixed (and open) bugs included in the help

 

Thanks Smiley Wink

I usually add a lot of files to my project (images, documents, ...) because in this way their path is taken as a relative path when building a distribution kit.

But in this way, if I press "Mark files in project" all the files are marked to search in, and so CVI gets a lot of errors for the files that can't be opened because they are not text files.

Using "Mark all c" and "Mark all h" extends the research also inside CVI installation directory, and (usually) this is not what I want.

 

I propose to replace "Mark files in project" with "Mark source files in project" or to add this last option to the existing ones.

Hi,

 

I think it would be a nice tool to save a panel which is generated dynamically from a source code. If I have a database with many variables which I want to set on a panel as controls, I could write an import of this database, generate a panel automatically and could save this panel as UIR file. After this I could use this automatically generated UIR file in a project.

 

Greets

 

Thomas

Currently "intellisense" only show up when you enter control+space keys after typing a few characters.

 

In this case I typed: setctrl and then control+space to show up this:

 

intellisense.jpg

 

 

Another example:

my_var.jpg

 

I would be very efficient if this "intellisense" shows up as soon as you start typing first letter of variable name or function name.

One of the more valuable tools within LabWindows is the ability of the editor to fill in struct elements given the struct name. I also work with Eclipse-based tools for embedded systems work, and it has a similar ability. Unfortunately, whereas Eclipse dynamically analyzes the code as it is written, and can provide stuct elements (and other variable information) as soon as the programmer types it in, LabWindows cannot provide this information until after the code has been successfully compiled. As this may or may not happen for some time after the file has been started, or major changes begun, it is almost useless.

 

Another useful tool that Eclipse offers that LabWindows does not is the ability to refactor variables and other symbols. Again, Eclipse dynamically tracks the code as it is written, not requiring compilation; refactoring is similar to global replace, except that it tracks the 'C' usage of the symbol and only changes the proper usage. So, for instance, if I use a local variable named "X1" in three different subroutines, and refactor "X1" to "X2" in one of them, only the variable in the particular routine gets changed.It works with any C symbol, including routine names, global and static variables, and structures.

 

As a matter of fact, I would encourage NI to look into the possiblity of basing LabWindows on the Eclipse platform, as Atmel did in replacing its proprietary Studio software with an Eclipsed-based version. This would enable users to take advantage of a large number of available Eclipse tools, such as source-code management.

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

Hello NI world,

 

when modifying functions I typically encounter errors such as:

 

30240, 1   Redeclaration of 'xyz' previously declared at ab.c:1621.

when I forgot to adjust a parameter etc.   It would be useful if I could use the right click popup menu of the build output window to jump to the first declaration in order to fix it. Right now, there is only the menu entry Goto Item

After loading a file file into the UIR Localization Tool you have the ability to show a preview of individual panels with the localized strings by pressing the "Open >>>" button. The problem is that, unless the panel is set to auto center in either direction, the preview honours the actual position (top, left) the panel has into the UIR file, with the effect that some panels cannot be previewed as they are out of the viewable screen area. As an example, see the attached UIR file, where PANEL_4 and PANEL_6 are not auto centered while the others are: you'll see that their position is not in the center of the screen.

 

In my opinion the goal of this tool preview ability is to show the final aspect a localized panel has, so it should automatically auto center each panel regardless the value these attributes have into the UIR file.

When working on laptops the room space in the UIR editor is relatively small compared to the size of actual wide desktop videos. Moreover, starting from CVI 2010 the user interface browser consumes additional room to the right of the editor, thus leaving only a few space to design/review panels.

It would be a good addition the possibility to preview an entire panel on the screen, with the ability to zoom in and out so that one can have an idea of the final aspect the panel will have.

Greetings,

 

LabWindows/CVI 9.0.1's implementation of <stdio.h> *scanf and <stdlib.h> strtod functions appears not to support reading back "NaN", "Inf", "+Inf" or "-Inf" values, although printf() can generate them. May I suggest to add functionality like described below.

 

Practical use would be that it's easier to propagate "invalid measurement" through strings if strto*() and *scanf() understand all classes of strings that *printf() family functions will generate.

 

This suggestion is in alignment with ISO 9899:1999 (withdrawn) and its successor ISO 9899:2011, i. e. C99 and C11. Note that there is a "stronger" suggestion to implement all of the C11 standard library in the idea exchange already, which - if implemented - would subsume this suggestion, but as the bare minimum, I'd certainly appreciate seeing this in CVI 2012.

 

Demo code:

 

 printf("%g\n", -NotANumber());
 printf("%+g\n", PositiveInfinity());
 printf("%g\n", NegativeInfinity());
 double x = 0; int i;
 i = sscanf("NaN", "%lf", &x); printf("i=%d, x=%g\n", i, x);
 i = sscanf("Inf", "%lf", &x); printf("i=%d, x=%g\n", i, x);
 errno = 0; x = strtod("NaN", NULL); printf("x=%g, errno=%d\n", x, errno);

 

Desired result:

 

 -NaN

 +Inf

 -Inf

 i=1, x=NaN

 i=1, x=Inf

 x=NaN, errno=0

 

Actual result: we see that printf supports NaN/Inf, but scanf and strtod do not:

 

 NaN
 +Inf
 -Inf
 i=0, x=0
 i=0, x=0
 x=0, errno=0

 

Thank you.

 

I am happy to see that the suggestion of integrating the tooltips into the UI editor was successful. Now I would like to see better, more powerful tooltips Smiley Happy

 

In particular, I suggest

 

  • adding another tooltip attribute allowing the tooltip to disappear automatically after a given time (default of say 3-5 seconds); hence the tooltip would show up with the tooltip delay, show for this specified appearance time, and then disappear automatically. I think that this is the most frequently encountered behavior in other programs. Setting this attribute value to 0 or -1 would imply "show infinitely long"
  • adding an attribute TOOLTIPS_WIDTH that would allow for automatic linebreaks, similar to the behavior found in textboxes. Right now, tooltips get infinitely long if no line breaks are inserted manually. Linebreaks, however, depend on font size etc... The width should be specified in pixels (possibly with a default of say 400)
  • adding an attribute TOOLTIPS_WRAP_MODE, specifying the wrap mode (character/word/...) as in textboxes
  • the possibility of simple text formatting, such as bold or italics. For illustration have a look at the CVI UI editor control panel, e.g. of a text box. Click on the question mark in the upper right corner of the window and then on e.g. line mode: This shows a nice example of what I would like to have to better explain different options (of say a ring control) in a clear way
  • additional tooltips for column headers, row headers, even for every cell of a table: Tooltips of a complete table control may not always be useful, while I have several scenarios in mind where these added tooltips would be most useful: - explain the table columns: typically, due to space constraints, table headers are pretty brief and so extra information could be provided via tooltips for each individual column header. - if a table gets larger and is scrolled, table headers disappear: One could use tooltips (per column) to remind the user what he is actually seeing in column 17...

 

Thanks Smiley Wink

 

 

Hello,

 

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

 

statusbar.png

 

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'

 

Thanks!