LabWindows/CVI Idea Exchange

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

Hello,

 

I don't know if it is possible technically but from a user's perspective it would be convenient for debugging a program (in debug configuration) if the UI constants could be provided in the data tooltips, too. Right now, if something is wrong with my UI I will have to do a lot of detective work to find out which control / control attribute is the problematic one...

 

Example: Consider the code

 

SetCtrlAttribute ( panel_handle, control_id, control_attribute, attribute_value );

 

Right now, if I hover over attribute_value, the tooltip will display something like "attribute_value = 24064". Then I will need to look up userint.h to find out which attribute value this is ( ATTR_CTRL_VAL ). It would be more convenient if the tooltip could include this information, too, and display something like "attribute_value = 24064 ( ATTR_CTRL_VAL )"

 

The same holds for control_id, because a number such as 14 will not immediately help me - I will have to go through the corresponding include file to find the respective UI control (e.g. TABPANEL_2_NUMERIC ).

 

 

The FileSelectPopup dialog in LabWindows/CVI does not allow the programmer to set attributes for the dialog, such as sort order for files in the dialog. 

 

Similar functionality already exists for other functions in CVI, such as SetPrintAttribute to set attributes for a file to be printed. It'd be extremely convenient to have a SetFileSelectAttribute with options such as VAL_SORT. 

 

It shouldn't be necessary to set these attributes to use the FileSelectPopup dialog; their use would simply change the settings from their default values.

 

Thanks,

 

Daniel E.

Applications Engineer

National Instruments

The problem with the CVI standard controls is that once a feature is missing, it's VERY difficult to add for a normal user. What cruel hacks I had to implement to circumvent some limitation (like dynamically overlaying canvas controls over a scrollable table to simulate joined cells) is truly beyond description. Same with graphs controls (try implementing some with five distinct Y axes, fun for the whole family!). I always found you guys to be pretty responsive when it comes to feature requests, but some features are a) so application specific that I don't even dare requesting them and b) even if you'd agree to implement them, it takes about two to three years until they are released and the necessary runtime is deployed worldwide in my company.


So, please consider opening the source code of some of the more complex UI controls (like the table and graph controls), at the very least to some interested users like me (AFAIK my company even has a standing NDA agreement with NI). I already considered doing them from scratch, but then I noticed that I'd even have to re-invent the scroll bars that come with them! This was never a problem with any other platform I had used in the past (like Delphi), because they always came with full source code to the whole library.

Please consider the possibility to make one option to set the application as Windows service, so i can start it on windows server BEVORE the logon is done.

Very usefully !!

Hi,

 

this is a very tiny suggestion, but still I would consider it a very convenient improvement:

 

Right now, if I am using the 'Find' command in the IDE with a typo in the search string (this happens frequently...!), press F3, I receive a popup message telling me that the string 'xxx' has no matches. After pressing OK the popup disappears, but also the Find window disappears! So I have to press Ctrl-F again just to correct my search string.

 

Hence I suggest that in case a search is not successful, (the popup disappears but) the Find window remains open. This is also true if the search was successful, so I would even consider the current behavior inconsistent Smiley Wink 

 

Thanks!

How about...

 

- If control mode is indicator set ATTR_HILITE_CURRENT_ITEM to 0 per default

 

- Provide a code to set the background color of the whole line (from "here" on) instead of just where text is

This would make it far more easy to color alternating lines differently, now you have to append every text with lots of spaces to fake it if you use tabs

 

- Autoscroll option

Always jump to the last line if a new last one is inserted. Useful for logging purposes

 

When working with large programs, especially those with involved user interfaces and the pernicious CallControlCallback or CallPanelCallback functions, it becomes very difficult to follow the program flow when trying to trace a program through all of the various levels of subroutines.

A tool for leaving breadcrumbs, in the order visited, could be very helpful. Right now I use the "breakpoints" as a sort of hyper-bookmark, since the breakpoint facility in LabWindows shows the line number and has the "go to breakpoint" capability in the dialog box. However, this is of limited utility since the dialog box sorts the breakpoints by line number and file, not in order of placement. The bookmark facility doesn't show line numbers nor does it have the goto capability.

 

What is needed is a way of showing the program flow, through routines, in the order visited, in a way similar to the "stack trace" window, except that it needs to be able to show multiple levels simultaneously. This could be done using the existing bookmark facility with the addition of a few items. 1) show file names and line numbers in the bookmark display; 2) allow them to be shown in the order that they were entered, not sorted by line number; 3) add the go-to capability so that I can jump to the location of any bookmark directly.

 

For instance, right now I'm trying to solve a memory problem. A dynamically allocated buffer is being de-allocated before being used, or at least when the error pops up the routine is trying to write to a NULL pointer. I've got to trace through from the starting point and try to understand where in the flow the buffer is being freed and why it's being freed before being written to. Since there are about a half-dozen levels of subroutines, trying to remember what the program flow is and where I'm coming from in trying to trace it can be difficult.

     

It seems to me that it would be really neat if CVI were able to support publishing/acceptance of XML data in the format required by LabVIEW UI Builder. The idea of LabVIEW UI Builder thin clients with a CVI server is quite appealing.

We use the our development and target installation PC's to support both new and legacy projects that were developed under earlier versions of IVI Compliance.  As the only current way to change IVI versions is to uninstall and re-install, we are stuck using the earliest one as a common denominator.   With hundreds of old projects to re-compile, frequent across-the-board updates are not possible.  Newer versions of instrument drivers such as HSDIO are only compatible with later versions of IVI. 

 

I would like to have a reasonably easy way to switch IVI versions, so we can support both old and new code from our development PCs.  Even a batch file and some registry edit instructions would be better than the way it is now.  However, that would limit its use in a secure environment where the users don't have general admin privileges.

 

From an NI business perspective, this may be blocking customers from purchasing upgrades or new NI products.

I have noticed that there are some tricks that can be played with Control and Panel callbacks that cannot be done with Menu callbacks.  More specifically, it would be handy at times to be able to chain menu callbacks, and to be able to programmically call menu callbacks given the menubar/menuitem ID.  Specifically I am looking for new library functions along the lines of CallMenuCallback(), ChainMenuCallback(), UnchainMenuCallback(), etc.

 

Thanks. 


Hello,

The idea is to automatically add the Auto-Complete function. that is, when you type the beginning of a function, the development interface  provides a set of functions. This option is present in most development software and facilitates the development too.

Thanks

Hi,

 

I'd suggest to provide a simple up/down control, i.e. the arrows found in numeric or ring controls, but without the numeric / ring field.

 

For example, they might be used to adjust cursor position or scroll through a list.

 

Right now, it's not possible to set the numeric field width to zero, so there will always be a numeric control attached to the arrows (same is true for rings)

 

When I tried to accomplish something like this (following the discussion here) by putting two controls on top of each other, see below, I had to realize that z-plane order is not maintained. While this might be a bug, it's also not nice because the dashed line indicating the focus is disturbing, too.

 

Two controls on top of each other:

 

ctrl-1.jpg

 

After clicking on the numeric control:

 

ctrl-2.jpg

 

Thanks! 

 

 

Summary: I am looking for this control:  up-down.jpg

I would like an option for "Next Breakpoint" and "Previous Breakpoint" in the menus somewhere, similar to the existing "Next Tag" and "Previous Tag" items.  The reason why I ask is so I can then bind these new menu items to shortcut keys so I can bounce between where I have breakpoints set more easily.  It might also be convienent if there were also toolbar buttons that could be added for next/previous breakpoint.  Thanks.

Currently the 'long double' type has 64 bits of precision, which is the same as the 'double' type.  It would be handy on occasion to be able to use the full 80 bits of precision like is available with the Intel compiler.

This issue has been explained in this thread.

As explained in some documents on the NI web site

the Network Variable Library can be used to develop an OPC Server (and a Client too).

While developing an OPC Client, the function CNVGetDataQuality( ) can be used to read the data quality, but there isn't a way to set this parameters while developing an OPC Server.

For this reason a way to set the data quality status and substatus should be added to the Network Variable Library functions that generate OPC data.

I suggest these new prototypes:

  • CNVSetScalarDataValue (data, type, value, quality)
  • CNVSetArrayDataValue (data, type, &array, NofDims, dims[], quality)
  • ...

Currently the axis names on graphs are limited to 30 characters.  I find this to be rather limiting when trying to put in lengthy descriptions of the data plotted.  Could this limit be increased in future versions of CVI?

Right now it is possible to have plots resembling histograms by choosing as plot style VAL_VERTICAL_BAR.

 

However, at present the width of these bars can only be adjusted by changing the line thickness in pixels (ATTR_PLOT_THICKNESS)

 

From a users point of view it would be more useful having the possibility to specify the width in units of the x axis.

 

Explanation: Say one is plotting an xy graph, with the data equally spaced and in incremetns of 1. If the x scale is 0-100 there would be 100 thin lines which may be appropriate in most cases. If the x scale is 0-5 there would be only five thin vertical lines. This appearance is very much different from what one would expect from an histogram. The suggestion is to set the width of the histogram bars to say +/- 0.4 x units, then there would be nice bars ranging from 0.6-1.4, 1.6-2.4, etc. in the case of an axis scale of 0-5, and the width of the bars would shrink accordingly if the axis scale is 0-100; in this case, there would be 100 rather thin lines resembling more or less the current appearance.

 

So in effect this suggestion is about an automatically adjusting line width (right now it is not possible to implement it manually because the line width is specified in pixels rather axis untis and is also limited to a maximum of 32 pixel.)

 

One step further could be to draw rectangles instead of lines with the possibility to independently choose line color and fill color.

Hello,

 

I am wondering if it would be useful to redefine the CVI callbacks using the const type qualifier to remind users that the parameters are read only, a strategy I use for all of my own function declarations as an extra safety measure.

 

E.g., instead of the current situation

 

int CVICALLBACK PanelResponse (int handle, int event, void *callbackdata, int eventdata1, int eventdata2)

 

have it declared as

 

int CVICALLBACK PanelResponse (const int handle, const int event, const void *callbackdata, const int eventdata1, const int eventdata2)

 

When you have a function to install a callback, for example InstallMainCallback, NewAsyncTimer, InstallComCallback, viInstallHandler, DAQmxRegisterDoneEvent, DAQmxRegisterEveryNSamplesEvent, DAQmxRegisterSignalEvent, etc... it would be nice if the prototype was inserted directly in the source code by pressing Ctrl-D like for variables. Currently you have to open the documentation and do some copy/pasting.

I think it would useful to allow for a progress bar control type in a cell of a table.

 

This could be done manually by loading different canned images into the cell, which would be stills of a progress bar in motion.  But that's cludgey.