09-20-2011 08:26 AM
Thank you for that analysis (and code) Matthew!
Wrappers around AEs is what the undocking app uses.
I get the new state from the AE and then defer FP updates before aplying changes.
Ben
09-20-2011 09:26 AM - edited 09-20-2011 09:27 AM
Ben- You did indeed understand the approach- there are a few vesigal code pieces in my example but it does serve to demonstrate the GERM approach.
Matthew. raises an excellant point! and is correct in pointing out the benefits of "going to nirvana" by creating wrappers for each method that must operate on data rather than merely write the value to a terminal to "do the heavy lifting." (I had hoped the point would be brought up by the comunity and am greateful that it started with Matthews expert analisys)
The Elapsed Timer GERM has limited external dependancies, to wit: 1 call to an OS level clock. Also no user input is permitted at the GUI- it is Display only. Lag is not an issue here but there are cases where the GERM may have considerable interaction with hardware or file systems. A graph of a DAQ input or tree built from a file structure would be classic examples. In these types of cases it is absolutly imperative to limit the scope of the GERM's AE to display of data only and wrap calls to the display AE with "utility" operations such as "Get waveform and display", G"et file structure and display" or "Copy displayed files toX" utilities.
Richard did take the time to demonstrate this- (And we slaved on his example for quite a bit longer than on mine for these reasons)
09-21-2011 11:08 AM - edited 09-21-2011 11:09 AM
Hi, Colleagues,
Just my 5 cents - another example with GUI using Sub Panels as Linked List in XControl (similar to Ben's Dock/Undock example).
Downsaved to LabVIEW 9.0.
Andrey.
09-21-2011 12:33 PM
@Andrey Dmitriev wrote:
Hi, Colleagues,
Just my 5 cents
Andrey.
5 cents? That's at least 5 bucks!
Awesome stuff Andrey, kudos!
09-21-2011 12:50 PM
@Andrey Dmitriev wrote:
Hi, Colleagues,
Just my 5 cents - another example with GUI using Sub Panels as Linked List in XControl (similar to Ben's Dock/Undock example).
Downsaved to LabVIEW 9.0.
Andrey.
Great XControl / SubPanel demo Andrey! Thanks.
09-27-2011 02:30 AM
Andrey Dmitriev 已写:
Hi, Colleagues,
Just my 5 cents - another example with GUI using Sub Panels as Linked List in XControl (similar to Ben's Dock/Undock example).
Downsaved to LabVIEW 9.0.
Andrey.
Good !
09-27-2011 02:31 AM
Andrey Dmitriev 已写:Hi, Colleagues,
Just my 5 cents - another example with GUI using Sub Panels as Linked List in XControl (similar to Ben's Dock/Undock example).
Downsaved to LabVIEW 9.0.
Andrey.
Good !
09-28-2011 10:13 AM
OK Time to wrap up what we've learned.
Using Sub-panels on our GUI's is a simple way to offload maintainance of FP objects (and Sub-panels are often overlooked as building blocks for useful GUI elements.) Sub-panels can be combined with advanced LV constructs such as X-controls, LVOOP classes to extend the scope of data a user can interact with WITHOUT bothering the GUI itself since the code in the sub-panel manages it's own data.
Thank you all for the enlightening examples and participating with your suggestions and comments. (Now I'm off to code another UI to drop in a sub-panel)