Copyright © 2007, David Saunders
All rights reserved.
--see readme file for contact information.
Provides an intuitive interface for tabular controls containing multiple data types. Users can use various controls and datatypes. Users can also use provided functions for registering and looking up type parameters by control (as well as by column, row, or cell).
When you click on a cell, a correctly positioned and sized popup appears allowing for a controlled and intuitive input. Appears like it is a built-in feature, not an annoying popup window.
- Supports tables, listboxes, multicolumn listboxes, trees, and string controls.
- Implements many data types : string, integer, float, color, ring, boolean, captioned string, etc.
- Can use multiple tabular controls in same program with no programming changes
- Can pre-register controls with certain data types
- Register the entire control, or columns, rows, and cells.
- Can edit the registered data type by registering again at any time
- Allows for different font sizes
- Works even on modal windows
Run the Demo program to see example usage.
To recreate --
1. Drop 'TSPopup.Popup Cluster.ctl' anywhere on your front panel.
2. Create program logic, similar to the demo
a. TSPopup.Initialize.vi (register for the user event in your event structure)
b. TSPopup.Lookup.vi (returns positioning information, looks up any registered controls)
c. TSPopup.Show Popup.vi (called in a Mouse Down? event case)
d. an event case for the user event output from (a.)
e. TSPopup.Close.vi (called at end of program)
f. TSPopup.Register.vi (register controls with popup type parameters)
g. TSPopup.Update Cell String.vi (provided to show how to change the cell string after popup is completed)
3. Bring the Popup Cluster to the front on the front panel. Otherwise the popup will show up behind some of the other controls on your User Interface.
- Can't programmatically bring popup cluster to front. Must do this manually.
1.0.0: Initial release of the code.
1.0.1: Added another demo using dynamically changing data types in a tree
Removed LV version specific event handling (only dealt with LV 7.1)
Fixed bug where headers defaulted to have same type as their column/row
Fixed cluster scanning from text
Fixed ring to default to index 0 if string unrecognized
Changed the background event monitor to always be hidden