LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
ChrisLudwig

Easily create sub-panels during runtime

Status: New

Panel Actors provide a very extensible UI tool.  There is simply nothing better than panel actors to build composite UIs, but we are still limited in that we can only insert UI elements into existing sub-panels or new windows.  What if there was a simple function called Create SubPanel.vi with inputs of size and position, and an output of the reference to the created subpanel?  What if closing the subpanel reference removed it from the front panel.  Now we could create an infinitely complex UI at runtime.  It should be a simple matter to build special support for this into the runtime environment. (I actually have no idea how hard it would be)

 

Use case: an acquisition UI with pre-defined display elements (graphs, gauges, numeric boxes, etc, etc), all created as individual panel actors.  The user asks for a new graph element display during runtime.  We programmatically drop a subpanel and then spawn the requested graph actor into it.  User wants it moved, and we can do that with mouse events.  Same for resize.  User wants it gone and we can do that too.  User wants 10 elements or 10,000.  We can do that with no problem.  Give us this and we can create literally any UI of any complexity, fully configurable by the user. 

3 Comments
ChrisLudwig
Member
wiebe@CARYA
Knight of NI

As subpanels are controls, so you're basically asking for dynamic controls.

 

1) This has been asked before...

2) Already implemented in NXG (although ironically NXG doesn't have subpanels yet, IIRC).

3) Considering 1), if it was easy, it would have been implemented a long time ago.

 

I'd simply put a maximum number of subpanels on my screen (10000 (really?) if you must), and let a manager class handle their visibility, position and content...

 

Still a +1, as it would help...

BertMcMahan
Active Participant

MGI's .NET panels can kinda get you some of this functionality- https://mooregoodideas.com/mgi-library/panel-manager/dotnet-panels/