NI Linux Real-Time Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Floating vs Modal Windows (LabVIEW Linux Real-Time)

Solved!
Go to solution

I have a cRIO 9030 application (main VI) which dynamically calls other VIs and programmatically shows their Front Panels. These dynamic VIs are Process VIs which perform measurement and analysis on connected hardware, and they're called dynamically because the system is highly configurable. It's important that the Process VI and the main VI are visible on screen together.


I originally wanted to dock the Process VIs into a subpanel in Main VI, but subpanels are not supported in LVRT. Therefore I need to make sure the Front Panels appear in the correct place on screen such that they look like they're 'docked' (simulating a subpanel effect).

 

I can make the Front Panels appear, and set their properties to make them frameless (no scrollbars, no title, no toolbar etc.), but what I cannot do is stop them from stealing the focus if I try to set them to stay on top:

If I set the Behaviour to Default then the VI Front Panel disappears behind the main VI when an operator interacts with the main VI.

If I set the Behaviour to Modal then the Process VI will always remain on top (great) but it steals the focus permanently and prevents the operator for being able to interact with the main VI (not good).

If I set the Behaviour to Floating (which I thought would be the sensible option) then it behaves exactly the same as Modal. The point of Floating mode is that the window stays on top but the user can still interact with other visible windows. Under MS Windows this works fine (from experience), but it appears to be different for Linux Real-Time.

 

So - how can I get my Process VI Front Panel to behave like a true Floating window such that it remains on top (cannot be pushed behind other VIs) yet does not insist of stealing the focus?

Thoric (CLA, CLED, CTD and LabVIEW Champion)


0 Kudos
Message 1 of 2
(3,186 Views)
Solution
Accepted by topic author Thoric

Hmm, I was being a turnip.

 

My floating window was working fine, but the parent mainVI was stuck in an event structure with "Lock Panel (defer processing of user actions)" set so it appeared that my main VI was inaccessible when I tried to interact with it. It wasn't inaccessible, it was just unresponsive because of my scratch code. Serves me right for hacking quick test code together.

So... nothing to see here! (Whistling) 

Thoric (CLA, CLED, CTD and LabVIEW Champion)


0 Kudos
Message 2 of 2
(3,171 Views)