Mon, 02 Apr 2018 12:04:18 +0200
Merged with default branch to prepare new release.
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
6048
82ad8ec9548c
Updated copyright for 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
3 | # Copyright (c) 2004 - 2018 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
7 | Module implementing the writer class for writing an XML session file. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
3145
a9de05d4a22f
# __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3058
diff
changeset
|
10 | from __future__ import unicode_literals |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2302
diff
changeset
|
11 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | import time |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
14 | from E5Gui.E5Application import e5App |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
16 | from .XMLStreamWriterBase import XMLStreamWriterBase |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
17 | from .Config import sessionFileFormatVersion |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | import Preferences |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
938
diff
changeset
|
21 | |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
22 | class SessionWriter(XMLStreamWriterBase): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | """ |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
24 | Class implementing the writer class for writing an XML session file. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | """ |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
26 | def __init__(self, device, projectName): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
30 | @param device reference to the I/O device to write to |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
31 | @type QIODevice |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
32 | @param projectName name of the project or None for the |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | global session |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
34 | @type str or None |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | """ |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
36 | XMLStreamWriterBase.__init__(self, device) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | self.name = projectName |
53
c3eb7cc1ff8b
Renamed e5App to e5App.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
50
diff
changeset
|
39 | self.project = e5App().getObject("Project") |
3600
7d17c492ab95
Started implementing functionality to save expanded file and directory entries of the project browsers to the session.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
40 | self.projectBrowser = e5App().getObject("ProjectBrowser") |
53
c3eb7cc1ff8b
Renamed e5App to e5App.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
50
diff
changeset
|
41 | self.multiProject = e5App().getObject("MultiProject") |
c3eb7cc1ff8b
Renamed e5App to e5App.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
50
diff
changeset
|
42 | self.vm = e5App().getObject("ViewManager") |
c3eb7cc1ff8b
Renamed e5App to e5App.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
50
diff
changeset
|
43 | self.dbg = e5App().getObject("DebugUI") |
c3eb7cc1ff8b
Renamed e5App to e5App.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
50
diff
changeset
|
44 | self.dbs = e5App().getObject("DebugServer") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | def writeXML(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | Public method to write the XML to the file. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | isGlobal = self.name is None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
52 | XMLStreamWriterBase.writeXML(self) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
54 | self.writeDTD('<!DOCTYPE Session SYSTEM "Session-{0}.dtd">'.format( |
411
99409cddaaa9
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
229
diff
changeset
|
55 | sessionFileFormatVersion)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | # add some generation comments |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | if not isGlobal: |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
59 | self.writeComment( |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3600
diff
changeset
|
60 | " eric6 session file for project {0} ".format(self.name)) |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
61 | self.writeComment( |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
62 | " This file was generated automatically, do not edit. ") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | if Preferences.getProject("XMLTimestamp") or isGlobal: |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
64 | self.writeComment( |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
65 | " Saved: {0} ".format(time.strftime('%Y-%m-%d, %H:%M:%S'))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | # add the main tag |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
68 | self.writeStartElement("Session") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
69 | self.writeAttribute("version", sessionFileFormatVersion) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | # step 0: save open multi project and project for the global session |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | if isGlobal: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | if self.multiProject.isOpen(): |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
74 | self.writeTextElement( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
75 | "MultiProject", self.multiProject.getMultiProjectFile()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | if self.project.isOpen(): |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
77 | self.writeTextElement("Project", self.project.getProjectFile()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | # step 1: save all open (project) filenames and the active window |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
80 | if self.vm.canSplit(): |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
81 | self.writeEmptyElement("ViewManagerSplits") |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
82 | self.writeAttribute("count", str(self.vm.splitCount())) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
83 | self.writeAttribute("orientation", |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
84 | str(self.vm.getSplitOrientation())) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
85 | |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
86 | allOpenEditorLists = self.vm.getOpenEditorsForSession() |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
87 | editorDict = {} # remember editors by file name to detect clones |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
88 | self.writeStartElement("Filenames") |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
89 | for splitIndex, openEditorList in enumerate(allOpenEditorLists): |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
90 | for editorIndex, editor in enumerate(openEditorList): |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
91 | fileName = editor.getFileName() |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
92 | if isGlobal or self.project.isProjectFile(fileName): |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
93 | line, index = editor.getCursorPosition() |
938
f421f2138c0f
Adjusted code to use the QScintilla contractedFolds() and setContractedFolds() methods (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
94 | folds = ','.join( |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
95 | [str(i + 1) for i in editor.contractedFolds()]) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
96 | zoom = editor.getZoom() |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
97 | if fileName in editorDict: |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
98 | isClone = int(editorDict[fileName].isClone(editor)) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
99 | else: |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
100 | isClone = 0 |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
101 | editorDict[fileName] = editor |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
102 | self.writeStartElement("Filename") |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
103 | self.writeAttribute("cline", str(line)) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
104 | self.writeAttribute("cindex", str(index)) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
105 | self.writeAttribute("folds", folds) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
106 | self.writeAttribute("zoom", str(zoom)) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
107 | self.writeAttribute("cloned", str(isClone)) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
108 | self.writeAttribute("splitindex", str(splitIndex)) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
109 | self.writeAttribute("editorindex", str(editorIndex)) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
110 | self.writeCharacters(fileName) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
111 | self.writeEndElement() |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
112 | self.writeEndElement() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | aw = self.vm.getActiveName() |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
115 | if aw and self.project.isProjectFile(aw): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | ed = self.vm.getOpenEditor(aw) |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
117 | line, index = ed.getCursorPosition() |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
118 | self.writeStartElement("ActiveWindow") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
119 | self.writeAttribute("cline", str(line)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
120 | self.writeAttribute("cindex", str(index)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
121 | self.writeCharacters(aw) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
122 | self.writeEndElement() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | # step 2a: save all breakpoints |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | allBreaks = Preferences.getProject("SessionAllBreakpoints") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | projectFiles = self.project.getSources(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | bpModel = self.dbs.getBreakPointModel() |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
128 | self.writeStartElement("Breakpoints") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | for row in range(bpModel.rowCount()): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | index = bpModel.index(row, 0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | fname, lineno, cond, temp, enabled, count = \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | bpModel.getBreakPointByIndex(index)[:6] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | if isGlobal or allBreaks or fname in projectFiles: |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
134 | self.writeStartElement("Breakpoint") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
135 | self.writeTextElement("BpFilename", fname) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
136 | self.writeEmptyElement("Linenumber") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
137 | self.writeAttribute("value", str(lineno)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
138 | self.writeTextElement("Condition", str(cond)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
139 | self.writeEmptyElement("Temporary") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
140 | self.writeAttribute("value", str(temp)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
141 | self.writeEmptyElement("Enabled") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
142 | self.writeAttribute("value", str(enabled)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
143 | self.writeEmptyElement("Count") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
144 | self.writeAttribute("value", str(count)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
145 | self.writeEndElement() |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
146 | self.writeEndElement() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | # step 2b: save all watch expressions |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
149 | self.writeStartElement("Watchexpressions") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | wpModel = self.dbs.getWatchPointModel() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | for row in range(wpModel.rowCount()): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
152 | index = wpModel.index(row, 0) |
4463
87cd9719dc23
Fixed an issue writing and reading watch expressions to/from the session file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
153 | cond, special, temp, enabled, count = \ |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
154 | wpModel.getWatchPointByIndex(index)[:5] |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
155 | self.writeStartElement("Watchexpression") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
156 | self.writeTextElement("Condition", str(cond)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
157 | self.writeEmptyElement("Temporary") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
158 | self.writeAttribute("value", str(temp)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
159 | self.writeEmptyElement("Enabled") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
160 | self.writeAttribute("value", str(enabled)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
161 | self.writeEmptyElement("Count") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
162 | self.writeAttribute("value", str(count)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
163 | self.writeTextElement("Special", special) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
164 | self.writeEndElement() |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
165 | self.writeEndElement() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | # step 3: save the debug info |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
168 | self.writeStartElement("DebugInfo") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | if isGlobal: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | if len(self.dbg.argvHistory): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | dbgCmdline = str(self.dbg.argvHistory[0]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
172 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | dbgCmdline = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | if len(self.dbg.wdHistory): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | dbgWd = self.dbg.wdHistory[0] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | dbgWd = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
178 | if len(self.dbg.envHistory): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | dbgEnv = self.dbg.envHistory[0] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | dbgEnv = "" |
5899
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
182 | if len(self.dbg.interpreterHistory): |
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
183 | dbgInterpreter = self.dbg.interpreterHistory[0] |
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
184 | else: |
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
185 | dbgInterpreter = "" |
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
186 | self.writeTextElement("Interpreter", dbgInterpreter) |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
187 | self.writeTextElement("CommandLine", dbgCmdline) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
188 | self.writeTextElement("WorkingDirectory", dbgWd) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
189 | self.writeTextElement("Environment", dbgEnv) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
190 | self.writeEmptyElement("ReportExceptions") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
191 | self.writeAttribute("value", str(self.dbg.exceptions)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
192 | self.writeStartElement("Exceptions") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | for exc in self.dbg.excList: |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
194 | self.writeTextElement("Exception", exc) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
195 | self.writeEndElement() |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
196 | self.writeStartElement("IgnoredExceptions") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | for iexc in self.dbg.excIgnoreList: |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
198 | self.writeTextElement("IgnoredException", iexc) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
199 | self.writeEndElement() |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
200 | self.writeEmptyElement("AutoClearShell") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
201 | self.writeAttribute("value", str(self.dbg.autoClearShell)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
202 | self.writeEmptyElement("TracePython") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
203 | self.writeAttribute("value", str(self.dbg.tracePython)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
204 | self.writeEmptyElement("AutoContinue") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
205 | self.writeAttribute("value", str(self.dbg.autoContinue)) |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
206 | self.writeEmptyElement("CovexcPattern") # kept for compatibility |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
207 | else: |
5899
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
208 | self.writeTextElement("Interpreter", self.project.dbgInterpreter) |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
209 | self.writeTextElement("CommandLine", self.project.dbgCmdline) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
210 | self.writeTextElement("WorkingDirectory", self.project.dbgWd) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
211 | self.writeTextElement("Environment", self.project.dbgEnv) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
212 | self.writeEmptyElement("ReportExceptions") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
213 | self.writeAttribute("value", str(self.project.dbgReportExceptions)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
214 | self.writeStartElement("Exceptions") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | for exc in self.project.dbgExcList: |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
216 | self.writeTextElement("Exception", exc) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
217 | self.writeEndElement() |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
218 | self.writeStartElement("IgnoredExceptions") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
219 | for iexc in self.project.dbgExcIgnoreList: |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
220 | self.writeTextElement("IgnoredException", iexc) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
221 | self.writeEndElement() |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
222 | self.writeEmptyElement("AutoClearShell") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
223 | self.writeAttribute("value", str(self.project.dbgAutoClearShell)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
224 | self.writeEmptyElement("TracePython") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
225 | self.writeAttribute("value", str(self.project.dbgTracePython)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
226 | self.writeEmptyElement("AutoContinue") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
227 | self.writeAttribute("value", str(self.project.dbgAutoContinue)) |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
228 | self.writeEmptyElement("CovexcPattern") # kept for compatibility |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
229 | self.writeEndElement() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
230 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
231 | # step 4: save bookmarks of all open (project) files |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
232 | self.writeStartElement("Bookmarks") |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
233 | for fileName in editorDict: |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
234 | if isGlobal or self.project.isProjectFile(fileName): |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
235 | editor = editorDict[fileName] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
236 | for bookmark in editor.getBookmarks(): |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
237 | self.writeStartElement("Bookmark") |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
238 | self.writeTextElement("BmFilename", fileName) |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
239 | self.writeEmptyElement("Linenumber") |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
240 | self.writeAttribute("value", str(bookmark)) |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
241 | self.writeEndElement() |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
242 | self.writeEndElement() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | |
3600
7d17c492ab95
Started implementing functionality to save expanded file and directory entries of the project browsers to the session.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
244 | # step 5: save state of the various project browsers |
7d17c492ab95
Started implementing functionality to save expanded file and directory entries of the project browsers to the session.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
245 | if not isGlobal: |
7d17c492ab95
Started implementing functionality to save expanded file and directory entries of the project browsers to the session.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
246 | self.writeStartElement("ProjectBrowserStates") |
7d17c492ab95
Started implementing functionality to save expanded file and directory entries of the project browsers to the session.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
247 | for browserName in self.projectBrowser.getProjectBrowserNames(): |
7d17c492ab95
Started implementing functionality to save expanded file and directory entries of the project browsers to the session.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
248 | self.writeStartElement("ProjectBrowserState") |
7d17c492ab95
Started implementing functionality to save expanded file and directory entries of the project browsers to the session.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
249 | self.writeAttribute("name", browserName) |
7d17c492ab95
Started implementing functionality to save expanded file and directory entries of the project browsers to the session.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
250 | # get the names of expanded files and directories |
7d17c492ab95
Started implementing functionality to save expanded file and directory entries of the project browsers to the session.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
251 | names = self.projectBrowser\ |
7d17c492ab95
Started implementing functionality to save expanded file and directory entries of the project browsers to the session.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
252 | .getProjectBrowser(browserName).getExpandedItemNames() |
7d17c492ab95
Started implementing functionality to save expanded file and directory entries of the project browsers to the session.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
253 | for name in names: |
7d17c492ab95
Started implementing functionality to save expanded file and directory entries of the project browsers to the session.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
254 | self.writeTextElement("ExpandedItemName", name) |
7d17c492ab95
Started implementing functionality to save expanded file and directory entries of the project browsers to the session.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
255 | self.writeEndElement() |
7d17c492ab95
Started implementing functionality to save expanded file and directory entries of the project browsers to the session.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
256 | self.writeEndElement() |
7d17c492ab95
Started implementing functionality to save expanded file and directory entries of the project browsers to the session.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
257 | |
599
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
258 | # add the main end tag |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
259 | self.writeEndElement() |
ee87fe94bf96
Migrated the session handler to session reader.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
411
diff
changeset
|
260 | self.writeEndDocument() |