From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Random Ramblings on LabVIEW Design

Community Browser
Labels
cancel
Showing results for 
Search instead for 
Did you mean: 

On the subject of screen size part 2 of 2

swatts
Active Participant

Hello My Darlings

This article is continues the discussion about making re-sizable screens in LabVIEW. Part 1 here. Check out the links and videos courtesy of Sam Sharp and Jeff Habets.

While on the subject of links check out this description of the LabVIEW dimensional model. Extremely useful!

We left our screen with a nice little undock button and the code to instantiate a graphscreen vi.

This article will concentrate in this graph screen display. If you skip to 6 minutes into the following video I demonstrate what I am aiming for.

Graph

The behavior I'm expecting here it for the graph to fill the available space without encroaching on any other objects on the screen. The only issues I've found are the palettes, titles etc seem to have a bit of a life of their own so give them a bit of space.

List Box for Channels

The behavior we expect from a list box is that it keeps it's width but extends in height, this can be achieved by adding a splitter and locking it.

Listbox.png

As Sam Sharp says splitters are cool!

Measurements and Cursors

I wanted the measurements and cursors to be off-screen unless required. They also needed to stay the same size in a repeatable position. To become visible when selected. To achieve this we have a button that keeps to the edge of the screen and when selected comes onto the screen allowing interaction with the tabs.

This little tip was from Tim Hursts presentation at the CLD summit with a couple of modifications by me.

We don't want this part of the display to re-size, so I made the tab a strict type-def. when not required I push it to the side.

Listbox.png

I've called the tab control settingsCarrier and the code to bring it in is as follows

settingsCarrierCode.png

The subvi just sets the position left or right depending on the SettingsHidden boolean (I have a separate button to push it back out of sight) and this vi is also used on a return button or resize event.

The only issue left was that if you had the tab visible it looked really ugly when you resized the panel, so my trick is to have a tab within a tab and make the carrier tab transparent, I could then flip it to a transparent window when it is hidden.

InvisibleTab.png

I've been a bit sneaky by embedding a graphic of a tab in the tab selector (it would be transparent too otherwise).

The only other tips I would give is to follow a rule of the simplest way to handle these screens is to remove as much functionality into menus and windows title bars as possible, so then you don't have to worry about them.

I hope this has been useful and if you have any questions post them in the comments (or pm me)


Lots of Love Steve

Steve


Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop


Random Ramblings Index
My Profile