Here is an update. Changed to allow more than one property to be passed.
[code]def findInstance(window,instanceId):
import system
for row in system.gui.getOpenedWindows():
if row.name == window and row.getRootContainer().Tag == instanceId:
return row
return None
def openInstance(window,properties=None):
import system, app.instanceControl
windowInstance = app.instanceControl.findInstance(window,properties['Tag'])
if windowInstance == None:
windowInstance = system.nav.openWindowInstance(window,properties)
system.nav.centerWindow(windowInstance)
windowInstance.toFront()
windowInstance.setSelected(1)
def closeInstance(window,instanceId):
import system, app.instanceControl
windowInstance = app.instanceControl.findInstance(window,instanceId)
if windowInstance != None:
system.nav.closeWindow(windowInstance)[/code]
To open a window, your code would be as follows:
app.instanceControl.openInstance('WINDOW',{'PROP1':value1,'PROP2',value2})
To check to see if a certain instance is open. This will return the actual window that it finds:
app.instanceControl.findInstance('WINDOW',WINDOW_IDENTIFIER)(
R
To close a window:
app.instanceControl.closeInstance('WINDOW',WINDOW_IDENTIFIER)