In a window there are a number of containers that reference its root container. Stuff like datasets and other configuration parameters that configure the containers when selected depending on the facility/site that is selected. Basically a dynamic configuration. For future development, I would like to simplify this by replacing the containers with windows. The problem that arise is that the scope of the windows are limited to itself. How would the windows that replace the containers access the datasets and other parameters that the containers use to depended on? Is there a way to globally reference a master window, lets say one with tab strip?
You can reference a window from another window, as long as that window is open.
I’m not really following what your trying to do here. If you can elaborate on what your goal is that would be helpful.
Just trying to simplify the app for sustainability if someone else has to maintain it. Using the containers within a window is ok with me but a little more complex than using a tab strip to select windows to eliminate any scripts. With the containers, each container is referencing the root containers custom properties which, as I mentions, have data sets and other parameters that configure the containers when selected. If I use windows instead of containers where can the custom parameters be referenced from? The scope of the custom properties are only limited to it’s window. All seven windows would have to reference the same data set, parameters etc.
What version of Ignition are you using? Reason I ask, if your using 7.4, you could possibly create some UDTs that you can place parameters, then you could point a custom property of the root container of the window to the UDT.
I’m using 7.4. That’s a good idea but, can you build a data set in the UDT? I’m curious why can’t the scope of the widows be shared or some other global resource?
You can get a reference to an open window by using
path = "my_open_window"
window = system.gui.getWindow(path)
You can then reference the root container of that window and any properties that reside there. So you could have your datasets on the header window and reference them from other open windows if you wanted. I don’t really know why you wouldn’t just have a dataset on each window that got its info from the database but I’m assuming you have good reason for doing it the way you’re describing.