winIDEA SDK
test_document_manipulation.py
1# This script is licensed under BSD License, see file LICENSE.txt.
2#
3# (c) TASKING Germany GmbH, 2023
4
5import os
6import isystem.connect as ic
7
8
9winidea_id = ''
10
11
12def test_documentManipulation():
13 connMgr = ic.ConnectionMgr()
14 connMgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
15
16 ideCtrl = ic.CIDEController(connMgr)
17
18# generalized view enumeration
19 viewVector = ic.ViewDataVector()
20 ideCtrl.enumerateView(ic.CIDEController.ViewType_Document, viewVector)
21 print(f"Following documents are currently opened in 'Document' view:")
22 fileNames = []
23 for index, docData in enumerate(viewVector):
24 docData: ic.ViewData
25 print(f"\tPos {index}: '{docData.name}' (type name: '{docData.typeName}')")
26 fileNames.append(docData.name)
27
28# document only enumeration
29 print(f"Following documents are currently opened:")
30 documents = ic.StrVector()
31 ideCtrl.getOpenDocuments(documents)
32 for document in enumerate(documents):
33 print(f"\tPos {index}: '{document}' )")
34
35 print(f"Saving and closing all opened documents...")
36 ideCtrl.saveAllDocuments()
37 ideCtrl.closeAllDocuments()
38
39 print(f"Opening 'Document' view and restoring previously opened files...")
40 for fileName in fileNames:
41 ideCtrl.openView(ic.CIDEController.ViewType_Document, fileName)
42
43
44if __name__ == "__main__":
45 test_documentManipulation()