User Interface
Any code that enhances or manipulates the the front panel UI. Custom controls, Xcontrols, property nodes and references.
34 files
-
String AutoComplete
By sam
Copyright © 2006, Sam Behashtei
All rights reserved.
Author:
Sam Behashtei
--see readme file for contact information
Description::
In most modern application, in web based application, the user input Textbox, or (String-Control) have the ability to Auto-Complete the words being typed. This utility helps the programmer give the Auto-Complete behavior to a LabVIEW String.
Version History:
1.0.1:
The mechanism to store suggestion list has been changed.
1.0.0:
Initial release of the code.
2,114 downloads
Updated
-
UI Tools addon: Tree & Tagging
UI Tools Tree OOP Add-On v1.0.4
Copyright © 2009-2010, François Normandin
All rights reserved.
Author:François Normandin
Contact Info: Contact via PM on www.lavag.org
LabVIEW Versions:
Created and tested with LabVIEW 8.6
Dependencies:
lava_lib_ui_tools >=1.0.36
Description:
This package contains classes for manipulating Trees with some enhanced features.
It consists of a set of VIs to create tree objects and associating tags with data in a variant format.
Includes:
- includes some icons from FamFamFam (see license in _Symbols directory) for demo purposes. You do not need these icons if you use the Tree OOP classes in your work.
Instructions:
After installing package with VIPM, refresh palettes if VIPM is not set to refresh automatically.
You will find the palettes in the UI Tools functions palette (user.lib)
Known Issues:
- No drag and drop functionalities included. You'll have to do that on your own if wanted. (for now anyway)
- Arrays will be shown has a succession of Unnamed items. Recursive VI provides a way to put it on
a single line within brackets, but has been removed to provide backward compatibility to 8.6. An add-on
will be posted for LV 9.0+ users.
- The Children & Parents Symbols synchronization works only for Symbol indexes 1-2-3 (True-False-Mixed).
- When adding an item on the same level as an existing one, it gets added in front. Expected behavior would
be to have it added afterwards.
- Modifying a child's data does not recursively modify the parents' data (cluster variants). This will
become obvious once you try the framework... This functionality will be kept in my mind for future improvements.
Acknowledgements:
Norm Kirchner from which I got some tricks in his Tree API (see LAVAG.ORG)
Change Log:
v1.0.4: Solved problems with hardcoded path for symbols installation. Affected primarily installations on 32-bit
Windows systems.
v1.0.3: Initial release of the code. (LV 8.6)
License:
Distributed under the BSD license.
Support:
If you have any problems with this code or want to suggest features:
please go to www.lavag.org and Navigate to the discussion page.
Distribution:
This code was downloaded from the LAVA Code Repository found at www.lavag.org
============================
4,703 downloads
Updated
-
Find Text
By John Lokanis
Find Text v1.0.0
Copyright © 2009, John Lokanis
All rights reserved.
Author: John Lokanis
LAVA Name: jlokanis
Contact Info: Contact via PM on www.lavag.org
LabVIEW Versions:
Created and tested with LabVIEW 8.6.1
Dependencies:
None.
Description:
This project contains the Find Text.vi and supporting subvis.
The Find Text.vi displays a dialog allowing the user to search a text display for a specified string.
A reference to the string control must be passed in.
When the string is found, the calling VI will become front-most so the string can be highlighted.
If the string is not found, an error message is displayed.
Searching starts from the cursor location in the text control.
You can change the search direction using the radial buttons.
The VI will remember previous search strings inside the combo box where you enter the text to find.
If you pass in a caller reference, this will be used to center the dialog. Otherwise, the VI will attempt to find it's caller in the call chain and center on that. If you call this VI dynamically, it will center itself on the primary monitor if the caller reference is not passed in.
Instructions:
Open the 'Example - Find Text.vi' and run it. Select the Find menu function or press Crtl-F to open the Find Text dialog.
Known Issues:
None
Acknowledgements:
None
Change Log:
v1.0.0: Initial release of the code.
License:
Distributed under the Creative Commons Attribution 3.0 (http://creativecommons.org/about/licenses)
See link for a full description of the license.
Support:
If you have any problems with this code or want to suggest features:
please go to www.lavag.org and Navigate to
LAVA > Resources > Code Repository (Certified) and
search for the "[CR]NI Web Service Server" support page.
Distribution:
This code was downloaded from the LAVA Code Repository found at www.lavag.org
960 downloads
Submitted
-
Type Sensitive Popup
By JDave
Copyright © 2007, David Saunders
All rights reserved.
Author:
David Saunders
--see readme file for contact information.
Description:
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.
Features:
- 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
Instructions:
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
MANDATORY elements
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)
OPTIONAL elements
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.
Limitations:
- Can't programmatically bring popup cluster to front. Must do this manually.
Change Log:
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
3,962 downloads
Updated
-
Get Data From Clipboard
By Karissap
Copyright © 2007, Karissa Purcell
All rights reserved.
Author:
Karissa Purcell
--see readme file for contact information
Description:
This collection of VIs uses the Win32 API and Labview Methods to access the clipboard.
GetClipboardData.vi retrieves image, text or a file/folder selection and puts the data into a corresponding control.
Dependancies:
Labview 8.0.x or higher
Windows operating system (tested with XP)
Uses user32.dll, Kernel32.dll and shell32.dll (usually found in C:\windows\system32 folder)
Change Log:
1.0.1: Fixed Commenting.
1.0.0: Initial release of the code.
1,954 downloads
Submitted
-
Get Reference To All Controls
Copyright © 2007, GTech Automation
All rights reserved.
Author:
Dave A. Graybeal
--see readme text for contact information
Instructions:
This code has been tested to run under LabVIEW 8.2.1. Unzip the code into any folder of your choice and open the example called, GetRefExample.vi. This shows how to use the 'Get Reference To All Controls.vi' as well as the 'Get Control Reference by Name.vi' to obtain a reference to all controls and how to search thru those reference to obtain the reference you want.
Features:
Get Reference to All Controls.vi
-Gets the references and labels to All the controls on the front panel of the calling VI.
-Is Able to search thru all Tab Controls recursively to compile a complete list of Controls from the front panel.
Get Control Reference by Name.vi
-Polymorphic VI that allows for searching list for single reference or an array of references.
-Gets a Specific Reference from the List of All Controls by Control Name(Label).
Get Control References By Match Pattern.vi
-Gets an Array of References for all Controls containing the regular expression in the label.
Change Log:
1.0.0: Initial release of the code.
1.1.0: Changed the Class ID of a Tab Control from a constant to a Property Node (To support Future LabVIEW Releases)
1.2.0: Added Get Control References By Match Pattern.vi (Authored By: Justin Goeres) Thanks!
Modified GetRefExample to Include the Get Control References By Match Pattern.vi
Improved some performace by removing unnecessary Items from Loops (Thanks JFM!)
Removed all Dialog boxes from VI's and replaced them with proper error output messages.
Added shift registers where necessary to ensure proper error is passed out of each VI.
Recompiled under LabVIEW 8.2.1.
2,922 downloads
Submitted
-
Picture Hacks
By AdamRofer
Copyright © 2006, Adam Rofer
All rights reserved.
Author:
Adam Rofer
--see readme file for contact information
Description:
A couple of Picture datatype hacks to illustrate the structure of the (LV 6.1 - LV 7+ is untested) picture control.
-- Main VIs --
Example - Show How Picture Is Made.vi:
Main example, shows (incrementally) how a specific picture is generated by displaying the picture with each packet
incrementally added. Good way to see how your own pictures display information.
Opcodes.csv:
Comma-delimited file explicitly describing the packet types and their requirements / uses.
Tool - Picture concat.vi:
Given two pictures, concatenates the data to create a single overlapped picture.
Tool - Packets to Picture.vi:
Given an array of picture packets (cluster), generates a picture.
Tool - Picture to Packets.vi:
Given a picture, generates an array of picture packets.
-- Utility subVIs --
sub - 8-Bit string to 32-Bit number.vi:
utility VI to cast a string to a 32-bit number. Typecast might work instead but this is more explicit.
sub - Find Opcode:
Given a picture data string that has the size header removed, this will extract an opcode from the front.
sub - Strip top of and check picture.vi:
Utility VI to strip the header (size) from a picture data string so that it can be scanned for packets.
Change Log:
1.0.1: (11/13/06)
Cleaned up code for LAVA requirements:
- Renamed VIs for clarification of purpose
- Fixed coercion dots
- Added 0ms delays in all loops
- Added error encapsulation in some subvis
- Replaced local variable for cluster to constant in order to limit thread swapping between the user interface and code threads
1.0.0: (11/07/06)
Cleaned up code from 6i 2001 version for submission.
1,397 downloads
Submitted
-
CLL Dialog
By Lars-Göran
Copyright © 2006
All rights reserved.
Author:
Lars-Göran Andersson
--see readme file for contact information
Description:
This library gives similar functionality as Three Button Dialog.vi but with some extra goodies.
It doesn't strictly conform to the guidlines for a dialog box, instead it shows my personal preferences.
CLL (Common LabVIEW Library) is my way of tagging VIs that have made it into my library of reusable code.
Version History:
1.0.0:
Initial release of the code
1.0.1:
Added version info to the description of CLL Dialog.vi
Changed some default values for TEST CLL Dialog.vi
929 downloads
Submitted
-
JKI Please Wait Dialog
Copyright © 2006, James Kring, Inc.
All rights reserved.
Author:
Michael Aivaliotis
Instructions:
This code has been tested to run under LabVIEW 7.1.1. It will probably work on any newer versions but it has not been tested. Just unzip the code into any folder of your chosing and open the example called, JKI pwd Example.vi. This shows a typical use case where you want to pop-up a non-blocking dialog and display a message and updated text from a parallel running task.
Features:
- Can specify a limited preset amount of progress images via the "animation" selector
- Can update the status message in real-time after the dialog has been launched.
- Setting an animation value of 0 disables animation and displays only text.
- Handles being built into an application
- The dialog is not modal when run in the development environment however it becomes modal when built into an executable.
Version History:
1.0.2:
Renamed VI prefix from MNA to JKI.
Added more documentation to diagram and VI descriptions.
1.0.1:
Fixed bug where dialog was not centering on screen.
Changed dialog behaviour so it updates position on screen before the front panel is open.
1.0.0:
Initial release of the code.
1,940 downloads
Submitted