Advanced LabVIEW User Interfaces
Advanced LabVIEW User Interfaces
Advanced LabVIEW User Interfaces
Before we Begin
Different tastes exist our tips may not always apply This presentation assumes a basic experience level Visit (and join) our UI Community Group to find:
Part I of this presentation online Downloadable demos and examples LabVIEW users passionate about UI (who share)
decibel.ni.com/content/groups/ui
2
Topics
Brush Up: Introduction to UI Design Part One Giving your UI a Custom Look Organization of Complex UIs Indicating Progress of Slow Operations Conclusion
Sources of Inspiration
Apple Microsoft Office Applications on your own computer Icon galleries Web design tutorials Your corporate design team Photography, Art Books on:
User interface design User interaction design Usability Graphic design Visualization of information
System controls mimic common operating system controls and are familiar to most users
Dont do what isnt necessary Youll get done sooner Itll cost you less to own it
The Cereal Box Effect: Which cereal catches your eye first?
Why?
10
It seems that perfection is attained not when there is nothing more to add, but when there is nothing more to remove. Antoine de Saint-Exupry
11
12
UI Customization Techniques
Front Panel Images and Decorations
Make default controls transparent Add an image via menu Edit Paste Custom Controls Use to customize cosmetics of controls and indicators Access via front panel right-click context menu Advanced Customize XControls Use to customize the functionality or cosmetics of controls and indicators Access via menu File New
13
15
Edit Mode
Change size or color of a control or indicator Access a right-click shortcut menu
Customize Mode
Make extensive changes to controls or indicators Change individual parts of a control or indicator
17
Pixel Decrement
Cosmetic
18
Frame
20
22
An XControl Example
Design a thermometer control that can represent a single numeric input in either Celsius or Fahrenheit.
Note: This example XControl is pre-built as part of the default LabVIEW Examples
23
24
Using XControls
Manage XControls via the Project Explorer XControls appear as regular terminals You start with shell code
Terminal View
Icon View
Structure of an XControl
Properties (Optional)
XControl
26
XControl Properties
Allow the user to configure the XControl programmatically via Property Node
27
XControl Methods
Allow the user to engage functionality of the XControl programmatically via Invoke Node
28
XControl Abilities
Required components for proper function Represented by VIs or Controls Four mandatory abilities:
Data State Faade Init
30
31
32
33
34
CREATING AN XCONTROL
35
Gallery of Examples
Gallery of Examples
Gallery of Examples
Credit: Jonathan Cohn Bloomy Controls LabVIEW Example Code Contest 2010 UI Controls Category Winner
38
39
43
44
Using a SubPanel
1. 2. 3. 4. Determine higher level VI screen real estate Develop size appropriate, modular SubVIs Dynamically Run SubVI Dynamically insert SubVI into subpanel
46
Gallery of Examples
For tips on using busy cursors, view Part I of this presentation available on the NI Community UI Interest Group site
49
Gallery of Examples
For Support, Please Visit: http://www.ni.com/
Key Takeaways
Dont be innovative Less is more Think about your user
Customize controls using Control Editor Encapsulate functionality via XControls Clean up your front panels with tabs, subpanels Disguise load times using splash screens
52
decibel.ni.com/content/groups/ui
53