Generating a LabVIEW UI 3: Control Scheme

  • This isn’t the only way to generate interfaces, but it works really well for LabVIEW and interacting with other parties (especially to provide deliverables)
  • This isn’t a super-complicated application, and in my case what it needs to do is well understood (it’s my application); so take it with a grain of salt
  • A lot of the decision making in this article is driven by what is the most efficient method that uses the least amount of time; although the interface sells, the functionality should take all of the budget (including UI functionality)
  • Some companies have whole teams for this kind of effort
  • This is NOT geared toward applications that are heavy into process control. Often, those kinds of systems have more functional guidelines to dictate how controls should look, their colors and their shape.
Sample String Types
  • String: I start with a simple string control rather than a classic string to make it easier since it has far fewer layers, I can change the color without having to add or layer any decoration on it
  • Boolean: I start with a flat square button for reasons similar to the string, far fewer layers and no drop shadows
  • File path: historically I’ve used string controls and done conversions from file path to string and vice versa to keep it simple, but in this case I used the classic file control, made it transparent and placed decorations around it to maintain the colors I wanted without the drop shadows/3D effects with the classic control
Navigation Styles
  • Navigation (radio button): I think the end effect looks really cool, but I used a classic radio button control and then since each of the “buttons” are just Boolean controls, I replaced the controls with the Boolean controls we made earlier
  • Progress Bar: I used classic progress bar of the horizontal and vertical variants along with decorations. I went the extra step and during customization moved the increment/decrement buttons inside the progress bar to make lining it up with other controls easier since their use case is to never show the increment/decrement buttons
  • Listbox (tree): I used the classic multi-column listbox, hid everything except the vertical scrollbar, made everything else monochromatic with the outline transparent and added a decoration around it to maintain the look
  • Tab Control: I used a classic tab control, but I just made it 100% transparent and used a decoration around it. I don’t have plans to have the tabs visible (since I’m using the radio button for navigation) so I don’t need to do anything crazy intensive to get it to look right
Control Scheme

--

--

--

My first love was always learning (and re-learning); hopefully I can share that love with you.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

CTF Writeup: 0x00sec CTF Exercise 06

The difference between spreadsheet and database

Ruby … Backend Development

Advanced WWDC 2017 Guide

Python REST APIs with Flask,SQLAlchemy and Marshmallow

How to stop errors before they ever hit your codebase with Travis CI and ESLint

Just Finished It Up

How To Add A Table Of Contents To Jekyll Blog Posts

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Antonio Alexander

Antonio Alexander

My first love was always learning (and re-learning); hopefully I can share that love with you.

More from Medium

Project 2 — Final Submission

Employee Management Database — Design Challenge

POV: Design thinking for web developers (before the prototype)

How To Design A Good Search Engine | Clean Commit