LabWindows/CVI Idea Exchange

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

Hello,

 

right clicking in the source code brings up a popup menu, see below.

 

Some of its items are dimmed or adapted to the context. For example, 'Format File' versus 'Format Selection'. This is nice and as I would expect it for a context menu!

 

Unfortunately, there are some entries that are available even if they are more ore less superfluous.

 

For example, 'Edit DAQ task' shows up even if no DAQ is installed. Selecting this menu entry only shows 'This feature requires DAQmx' - so why not dim it if no DAQmx library is available?

 

The same is true for 'Edit IVI Specific Driver Attributes...' and the IVI library.

 

But also 'Recall Function Panel', 'Browse Identifier' and 'Find UI object' don't care about their context.

'Open Quoted Text' for example, does! (which is good)

 

So I would suggest to have the popup menu act more consistently and only provide commands that are meaningful.

 

Thanks

 

popup menu.png

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!

 

 

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

 

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!

 

 

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 Smiley Wink

Instead I am adding yet another suggestion on this subject Smiley Happy

 

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

 

Because this is such a modest request, please also consider this one Smiley Wink

 

THANK YOU!

Hello,

 

a long standing issue with the function GetGlobalMouseState is that it does not detect the <alt> key modifier (contrary to the documentation).

 

I'd like to suggest adding the capabilities to detect the key modifiers

 

  • <alt>
  • <shift> + <alt>
  • <ctrl> + <alt>

Of course this can be done with the Win32 function GetKeyboardState, and this is how I do it right now, but this means that I have to include <windows.h>.

 

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.

During editing of large programs, I often find myself following a thread of logic through a program, through multiple routines, to find out where it is going. The problem occurs when I want to trace my steps back and take another fork in the program: the current bookmark scheme only lets to go to the next or previous bookmark in line-number sequence, not the order in which they were laid down.

 

It would be nice if there were some mechanism that could follow the bookmarks back and forth in the order that they were placed  - and allow multiple chains of bookmarks for following different threads of logic. Ideally, a graphical display on a special window  with the file, line number, and subroutine name for each bookmark; perhaps showing the line of code as a "tip" popup when I put the mouse over it.

I've been using multithreading a lot in a large data-acquisition and motion-control program that I'm working on. There are various reasons, but the speed (or rather lack thereof) in the GUI seriously slows down data acquisition and processing if I try to run everything in the main thread. So, I've got the main thread that handles the user interface; the DAQmx data acquisition thread; and a data processing thread that runs in the background, accepts the data (which comes in at regular intervals) from the DAQmx thread, processes it, and stores it for display and saving to disk.

 

Anyways, with all of this I make heavy use of the multithreading utilities in the utility library, especially the Thread Safe Queue functions, threadlocks, and the threadsafe scalar variable macros. They work nicely, but 45% of my debugging now consists of finding all of the spots where I forgot to release a variable after locking it, forgot to release a pointer after locking it, or forgot to close a queue after starting it.

 

Another 45% consists of finding places where I call a function from two different threads, for instance if I start up a window in one thread, and try to call a function for that window in another thread (for instance: calling the main callback function for a panel with the CLOSE event to force it to close when shutting down the main program, for forcing a button-press with the COMMIT event) which doesn't always work. Allocating a list in one thread and calling a function that reads from or writes to that list from another thread really doesn't work!

 

It would be very nice to have some help in CVI that can count the various threadlock and other thread-safe stuff openings and closings and tell me: "Hey, you forgot to release that one". Since 99% of the time these are locked and released in the same subroutine, it would be helpeful even if it just looked within routines.

 

It would also be very helpful to have some utility that can keep track of what thread a given function is executing in. Perhaps the best way to do this would be to simply implement a function call-tree utility, with some notation of threads in there; the main problems after all occur when one calls the same routine from two different threads, with different results for each.

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

Add an ATTR_COLUMN_PROPORTION (tree or table control) column attribute to set the width of a column in percent.

A second attribute could be added, to maintain column width proportions, in case the user is resizing the columns.

When writing a large amount of functions for CVI, I use the View>> Collapse All / Expand All options quit a lot.  It would be incredibly useful to have a keyboard shortcut to do this. 

 

That's all, but I can't stress how much I use these menu items and how incredibly helpful it would be to have a shortcut.  All of my coworkers agree.  Thanks.

Hi,

 

When attaching a graph to a splitter control where the splitter control sizes the graph, I've noticed a few things. 

 

1.  First, the legend is also attached to the splitter so that it moves.  This works well if the legend is located in the default location (at the bottom right corner of the graph control) but problematic when the legend has been located elsewhere.  I would like the option of having the legend move or not move when the graph control is attached to a splitter that sizes (I would imagine this might have to be a new graph control attribute). 

 

2.  In addition, it would appear that the label is not attached to the splitter so it doesn't react to the splitter control being operated.  It would be nice if there was some way that the label text could be attached to a splitter, or perhaps a setting so that the label text could be made to auto-center above the graph control when the graph control is resized by the splitter.  (a potential workaround for the moment is to not use the label with the graph control and instead use a text message control as the label that can then be attached to splitter controls independent of the graph itself).

 

Thanks.

If you design a table in the UIR editor including cell colouring and at a later time you want to switch the table from indicator to hot or viceversa, cell colouring is lost and all cells default to black text / white background.

 

I understand that there can be a reason for this to happen (i.e. follow colouring standards for controls / indicators) but it's a hassle being forced to apply every time all colouring effects on the whole table! At least add a dialog box to choose whether to preserve actual colouring or use default black/white.

Doing a CTRL+F and finding all instances of a word works, but is a lot of steps.  I tend to use Notepad++ a lot for my IDE and it has this really handy feature.  If you double-click a word, it will highlight that and all other instances of that word inside that one open file.  This is like a "quick find" that saves a lot of time.  See attached image to get the idea.  The darkest highlight is the one instance that was double-clicked.

I would like to suggest a function tree view in CVI.  I feel this is sorely missing.  Many times, I want to jump right to a function, but I don't remember where it is.  In a single C file with 1,000+ lines, this can be very aggravating.

 

For this reason, I tend to use Notepad++ for the heavy lifting, along with the Source Cookifier plugin.  See attached screenshot of that plugin.

 

There are options in the plugin to enable certain features, such as the global and local variables in addition to the function names.  When you are inside a function in the souce editor, the tree updates with a selection to show that you are inside that function.  This is very helpful with functions that have more lines than available veritcal screen space.  This way, I don't have to scroll up to see what function I'm looking at.  I simply look at the tree with a glance and I know.

 

It would be nice if eventData1 and eventData2 were used when EVENT_VAL_COERCED is triggered.

 

I have an application in which I want to know if too high or low of a number entered.

 

GetCtrlVal always returns the coerced to number that is in range.

 

if eventData1 is 1 the max value was hit, if -1 the min value was hit.

 

eventData2 is always 0.

 

You can check the value returned by GetCtrlVal against the min and max of the control using GetCtrlAttribute.

 

I am running into an issue where my ranges change based on other control ranges and sometimes the min and max of a control are set to the same

number.  I want to know if the number entered was too high or low.

Starting from CVI2010, the User Interface Browser and the Attribute Browser are both located on the right of the UIR editor in the Workspace window.

 

I'd like to be able to hide these windows when required: when working on small screens like when you use a laptop these windows occupy a lot of space even if you reduce their size at the minimum.

 

In addition, the ability to choose which window to display on the bottom left could be a good option: up to version 2009 the bottom left side of the workspace window switched between the library tree (source editor) and the attribute browser (UIR editor).

 

Ideally, while in the UIR editor I would like to be able to:

  • Choose whether to show some window on the right side or not
  • In case nothing is shown on the right, choose whether to have the attribute browser, the library tree or the user interface browser in the bottom left angle

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.

Hi 

might be a useful idea to add a checkbox to some controls such as leds, text and numeric value which utilize a blinking feature.

I'd like the following options being added to FileBrowser tollslib control:

 

  • Ability to hide / tailor popup menu for the right portion of the FileBrowser (file list): at present, even if I disable the popup menu on the tree control (regardless it is made before or after converting the tree into a FileBrowser) the rightmost part of the control has its own popup menu enabled
  • In case the menu is shown, it would be a good thing to be able to add / change / hide items in that menu
  • Ability to programmatically set the width of columns in the file list section of the FileBrowser
  • Ability to programmatically set the label of columns both sections of the FileBrowser: this is particularly necessary in case you need to localize the user interface in a language other than English, as FileBrowser cannot be treated by the Localization Utility since it is created at runtime