04-19-2024 02:22 PM
I have created a GUI for operation of our various vehicle and systems. When operators run the executable, it opens the front panel of the GUI and they are prompted with a pop-up window to allow them to select the vehicle type for the Control GUI - as seen in the Selection Screen Image below.
Relec_1-1713552738379.png
After selecting the Vehicle, a loading screen will appear while the GUI details and panels are loaded for that vehicle configuration (Initializing Screen below).
Relec_3-1713552892765.png
Once everything loads, the correct Vehicle GUI is displayed for the test/operations team to use.
Relec_4-1713553005843.png
I would prefer a cleaner setup. Ideally I want to only see the selection screen pop-up when they run the executable. After the selection is made, then only the initializing pop-up should be visible. And after initializing is complete then the Vehicle GUI would appear - populated with the correct panels and parameters.
In code - the Selection Pop-up VI occurs prior to initializing my Main Queue. The Initializing pop-up VI will start to run after the Main Queue starts to initialize.
Relec_6-1713554059110.png
Is there some way to hide the Main UI front panel until the Selection and Initialization pop-up closes?
Thanks
LV2018 SP1.
Relec
04-19-2024 06:27 PM
Get a property node for the VI of the window you want to hide, and change its "Front Panel Window.State" property to hidden:
Kyle97330_0-1713569131926.png
Then after the user makes a choice, set it back:
Kyle97330_1-1713569187584.png
Or you could redo your popup VI to be your main VI, and launch the panel that is currently your main VI as a subVI from it, and hide your popup VI in the same way after the choice is made.
04-25-2024 10:56 AM
Thanks for the input.
I tried the front panel state - but setting it back to standard didn't bring the panel back. I believe I switched it to Maximized and it worked, but I still ended up with the front panel blinking momentarily before it becomes hidden. I could have played around with Window Appearance in VI Properties to get it to work, but didn't figure that out early enough.
I opted for option #2 - moved the selection VI out of the main program. For Runtime environment - I use System Exec.vi to call the main program executable and close the front panel of the selection VI. I still had the problem with the momentary blinking of the main program. But I then adjusted Window Appearance - unclicking Show front panel when called. Made sure the Main program FP was Hidden and Transparent (100%), and after everything is initialized I set FP to be 0% transparent and maximized.
For development environment, I just call the main program and set transparency to 100 for the selection VI. The main program sets the transparency to 0 for the selection VI when it stops execution - this allows me to test things in development mode without having to re-open the selection VI after every shutdown.
Relec