Mon, 01 Jan 2018 19:06:33 +0100
Extended the session to store/retrieve the split views and the order of the editors.
--- a/APIs/Python3/eric6.api Sun Dec 31 18:54:06 2017 +0100 +++ b/APIs/Python3/eric6.api Mon Jan 01 19:06:33 2018 +0100 @@ -6749,7 +6749,7 @@ eric6.Plugins.VcsPlugins.vcsSubversion.subversion.Subversion.vcsTag?4(name) eric6.Plugins.VcsPlugins.vcsSubversion.subversion.Subversion.vcsUpdate?4(name, noDialog=False) eric6.Plugins.VcsPlugins.vcsSubversion.subversion.Subversion?1(plugin, parent=None, name=None) -eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace._addView?5(win, fn=None, noName="", addNext=False) +eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace._addView?5(win, fn=None, noName="", addNext=False, indexes=None) eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace._initWindowActions?5() eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace._modificationStatusChanged?5(m, editor) eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace._removeAllViews?5() @@ -6781,16 +6781,19 @@ eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.editorSavedEd?7 eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.editorTextChanged?7 eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.eventFilter?4(watched, event) +eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.getOpenEditorsForSession?4() eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.getSplitOrientation?4() eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.lastEditorClosed?7 eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.mainWidget?4() eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.nextSplit?4() eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.prevSplit?4() eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.previewStateChanged?7 -eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.removeSplit?4() +eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.removeSplit?4(index=-1) eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.setEditorName?4(editor, newName) +eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.setSplitCount?4(count) eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.setSplitOrientation?4(orientation) eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.showWindowMenu?4(windowMenu) +eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.splitCount?4() eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.syntaxerrorToggled?7 eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.tile?4() eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace?1(parent) @@ -6823,7 +6826,7 @@ eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.TabWidget.setCurrentWidget?4(assembly) eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.TabWidget.showIndicator?4(on) eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.TabWidget?1(vm) -eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview._addView?5(win, fn=None, noName="", addNext=False) +eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview._addView?5(win, fn=None, noName="", addNext=False, indexes=None) eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview._initWindowActions?5() eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview._modificationStatusChanged?5(m, editor) eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview._removeAllViews?5() @@ -6855,6 +6858,7 @@ eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.editorSavedEd?7 eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.editorTextChanged?7 eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.eventFilter?4(watched, event) +eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.getOpenEditorsForSession?4() eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.getSplitOrientation?4() eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.getTabWidgetById?4(id_) eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.insertView?4(win, tabWidget, index, fn=None, noName="") @@ -6864,10 +6868,12 @@ eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.preferencesChanged?4() eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.prevSplit?4() eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.previewStateChanged?7 -eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.removeSplit?4() +eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.removeSplit?4(index=-1) eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.setEditorName?4(editor, newName) +eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.setSplitCount?4(count) eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.setSplitOrientation?4(orientation) eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.showWindowMenu?4(windowMenu) +eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.splitCount?4() eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.syntaxerrorToggled?7 eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.tile?4() eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview?1(parent) @@ -8299,6 +8305,7 @@ eric6.QScintilla.Editor.Editor.highlight?4(line=None, error=False, syntaxError=False) eric6.QScintilla.Editor.Editor.highlightVisible?4() eric6.QScintilla.Editor.Editor.indentLineOrSelection?4() +eric6.QScintilla.Editor.Editor.isClone?4(editor) eric6.QScintilla.Editor.Editor.isJavascriptFile?4() eric6.QScintilla.Editor.Editor.isLastEditPositionAvailable?4() eric6.QScintilla.Editor.Editor.isPy2File?4() @@ -10388,7 +10395,7 @@ eric6.ViewManager.ViewManager.QuickSearchLineEdit.focusInEvent?4(evt) eric6.ViewManager.ViewManager.QuickSearchLineEdit.gotFocus?7 eric6.ViewManager.ViewManager.QuickSearchLineEdit.keyPressEvent?4(evt) -eric6.ViewManager.ViewManager.ViewManager._addView?5(win, fn=None, noName="", addNext=False) +eric6.ViewManager.ViewManager.ViewManager._addView?5(win, fn=None, noName="", addNext=False, indexes=None) eric6.ViewManager.ViewManager.ViewManager._checkActions?5(editor, setSb=True) eric6.ViewManager.ViewManager.ViewManager._getOpenFileFilter?5() eric6.ViewManager.ViewManager.ViewManager._getOpenStartDir?5() @@ -10443,13 +10450,14 @@ eric6.ViewManager.ViewManager.ViewManager.getAPIsManager?4() eric6.ViewManager.ViewManager.ViewManager.getActions?4(actionSetType) eric6.ViewManager.ViewManager.ViewManager.getActiveName?4() -eric6.ViewManager.ViewManager.ViewManager.getEditor?4(fn, filetype="", addNext=False) +eric6.ViewManager.ViewManager.ViewManager.getEditor?4(fn, filetype="", addNext=False, indexes=None) eric6.ViewManager.ViewManager.ViewManager.getMostRecent?4() eric6.ViewManager.ViewManager.ViewManager.getNumber?4() eric6.ViewManager.ViewManager.ViewManager.getOpenEditor?4(fn) eric6.ViewManager.ViewManager.ViewManager.getOpenEditorCount?4(fn) eric6.ViewManager.ViewManager.ViewManager.getOpenEditors?4() eric6.ViewManager.ViewManager.ViewManager.getOpenEditorsCount?4() +eric6.ViewManager.ViewManager.ViewManager.getOpenEditorsForSession?4() eric6.ViewManager.ViewManager.ViewManager.getOpenFilenames?4() eric6.ViewManager.ViewManager.ViewManager.getSRHistory?4(key) eric6.ViewManager.ViewManager.ViewManager.getSplitOrientation?4() @@ -10473,10 +10481,10 @@ eric6.ViewManager.ViewManager.ViewManager.lastEditorClosed?7 eric6.ViewManager.ViewManager.ViewManager.mainWidget?4() eric6.ViewManager.ViewManager.ViewManager.newEditor?4() -eric6.ViewManager.ViewManager.ViewManager.newEditorView?4(fn, caller, filetype="") +eric6.ViewManager.ViewManager.ViewManager.newEditorView?4(fn, caller, filetype="", indexes=None) eric6.ViewManager.ViewManager.ViewManager.nextSplit?4() eric6.ViewManager.ViewManager.ViewManager.openFiles?4(prog) -eric6.ViewManager.ViewManager.ViewManager.openSourceFile?4(fn, lineno=-1, filetype="", selStart=0, selEnd=0, pos=0, addNext=False) +eric6.ViewManager.ViewManager.ViewManager.openSourceFile?4(fn, lineno=-1, filetype="", selStart=0, selEnd=0, pos=0, addNext=False, indexes=None) eric6.ViewManager.ViewManager.ViewManager.preferencesChanged?4() eric6.ViewManager.ViewManager.ViewManager.prevSplit?4() eric6.ViewManager.ViewManager.ViewManager.previewStateChanged?7 @@ -10488,7 +10496,7 @@ eric6.ViewManager.ViewManager.ViewManager.projectLexerAssociationsChanged?4() eric6.ViewManager.ViewManager.ViewManager.projectOpened?4() eric6.ViewManager.ViewManager.ViewManager.receive?4(projectHash, fileName, command) -eric6.ViewManager.ViewManager.ViewManager.removeSplit?4() +eric6.ViewManager.ViewManager.ViewManager.removeSplit?4(index=-1) eric6.ViewManager.ViewManager.ViewManager.replaceWidget?4() eric6.ViewManager.ViewManager.ViewManager.saveAllEditors?4() eric6.ViewManager.ViewManager.ViewManager.saveAsCurrentEditor?4() @@ -10507,6 +10515,7 @@ eric6.ViewManager.ViewManager.ViewManager.setFileLine?4(fn, line, error=False, syntaxError=False) eric6.ViewManager.ViewManager.ViewManager.setReferences?4(ui, dbs) eric6.ViewManager.ViewManager.ViewManager.setSbInfo?4(sbLine, sbPos, sbWritable, sbEncoding, sbLanguage, sbEol, sbZoom) +eric6.ViewManager.ViewManager.ViewManager.setSplitCount?4(count) eric6.ViewManager.ViewManager.ViewManager.setSplitOrientation?4(orientation) eric6.ViewManager.ViewManager.ViewManager.shareConnected?4(connected) eric6.ViewManager.ViewManager.ViewManager.shareEditor?4(share) @@ -10515,6 +10524,7 @@ eric6.ViewManager.ViewManager.ViewManager.showReplaceWidget?4() eric6.ViewManager.ViewManager.ViewManager.showSearchWidget?4() eric6.ViewManager.ViewManager.ViewManager.showWindowMenu?4(windowMenu) +eric6.ViewManager.ViewManager.ViewManager.splitCount?4() eric6.ViewManager.ViewManager.ViewManager.startSharedEdit?4() eric6.ViewManager.ViewManager.ViewManager.syntaxerrorToggled?7 eric6.ViewManager.ViewManager.ViewManager.textForFind?4(getCurrentWord=True)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DTDs/Session-6.1.dtd Mon Jan 01 19:06:33 2018 +0100 @@ -0,0 +1,125 @@ +<!-- This is the DTD for eric's (project) session file version 6.1 --> + +<!ELEMENT MultiProject (#PCDATA)> + +<!ELEMENT Project (#PCDATA)> + +<!ELEMENT ViewManagerSplits (#PCDATA)> +<!ATTLIST ViewManagerSplits + count CDATA #REQUIRED + orientation CDATA #REQUIRED> + +<!ELEMENT Filename (#PCDATA)> +<!ATTLIST Filename + cline CDATA #REQUIRED + cindex CDATA #REQUIRED + folds CDATA #REQUIRED + zoom CDATA #REQUIRED + cloned CDATA #REQUIRED + splitindex CDATA #REQUIRED + editorindex CDATA #REQUIRED> + +<!ELEMENT Filenames (Filename*)> + +<!ELEMENT ActiveWindow (#PCDATA)> +<!ATTLIST ActiveWindow + cline CDATA #REQUIRED + cindex CDATA #REQUIRED> + +<!ELEMENT BpFilename (#PCDATA)> +<!ELEMENT Linenumber EMPTY> +<!ATTLIST Linenumber + value CDATA #REQUIRED> +<!ELEMENT Condition (#PCDATA)> +<!ELEMENT Temporary EMPTY> +<!ATTLIST Temporary + value CDATA #REQUIRED> +<!ELEMENT Enabled EMPTY> +<!ATTLIST Enabled + value CDATA #REQUIRED> +<!ELEMENT Count EMPTY> +<!ATTLIST Count + value CDATA #REQUIRED> + +<!ELEMENT Breakpoint (BpFilename, + Linenumber, + Condition, + Temporary, + Enabled, + Count)> + +<!ELEMENT Breakpoints (Breakpoint*)> + +<!ELEMENT Special (#PCDATA)> + +<!ELEMENT Watchexpression (Condition, + Temporary, + Enabled, + Count, + Special)> + +<!ELEMENT Watchexpressions (Watchexpression*)> + +<!ELEMENT Exception (#PCDATA)> + +<!ELEMENT IgnoredException (#PCDATA)> + +<!ELEMENT Interpreter (#PCDATA)> +<!ELEMENT CommandLine (#PCDATA)> +<!ELEMENT WorkingDirectory (#PCDATA)> +<!ELEMENT Environment (#PCDATA)> +<!ELEMENT ReportExceptions EMPTY> +<!ATTLIST ReportExceptions + value CDATA #REQUIRED> +<!ELEMENT Exceptions (Exception*)> +<!ELEMENT IgnoredExceptions (IgnoredException*)> +<!ELEMENT AutoClearShell EMPTY> +<!ATTLIST AutoClearShell + value CDATA #REQUIRED> +<!ELEMENT TracePython EMPTY> +<!ATTLIST TracePython + value CDATA #REQUIRED> +<!ELEMENT AutoContinue EMPTY> +<!ATTLIST AutoContinue + value CDATA #REQUIRED> +<!ELEMENT CovexcPattern (#PCDATA)> + +<!ELEMENT DebugInfo (Interpreter, + CommandLine, + WorkingDirectory, + Environment, + ReportExceptions, + Exceptions, + IgnoredExceptions, + AutoClearShell, + TracePython, + AutoContinue, + CovexcPattern)> + +<!ELEMENT BmFilename (#PCDATA)> + +<!ELEMENT Bookmark (BmFilename, + Linenumber)> + +<!ELEMENT Bookmarks (Bookmark*)> + +<!ELEMENT ExpandedItemName (#PCDATA)> + +<!ELEMENT ProjectBrowserState (ExpandedItemName*)> +<!ATTLIST ProjectBrowserState + name CDATA #REQUIRED> + +<!ELEMENT ProjectBrowserStates (ProjectBrowserState*)> + +<!ELEMENT Session (MultiProject?, + Project?, + ViewManagerSplits?, + Filenames, + ActiveWindow?, + Breakpoints, + Watchexpressions, + DebugInfo, + Bookmarks, + ProjectBrowserStates?)> +<!ATTLIST Session + version CDATA #REQUIRED>
--- a/Documentation/Help/source.qhp Sun Dec 31 18:54:06 2017 +0100 +++ b/Documentation/Help/source.qhp Mon Jan 01 19:06:33 2018 +0100 @@ -5400,6 +5400,7 @@ <keyword name="Editor.highlight" id="Editor.highlight" ref="eric6.QScintilla.Editor.html#Editor.highlight" /> <keyword name="Editor.highlightVisible" id="Editor.highlightVisible" ref="eric6.QScintilla.Editor.html#Editor.highlightVisible" /> <keyword name="Editor.indentLineOrSelection" id="Editor.indentLineOrSelection" ref="eric6.QScintilla.Editor.html#Editor.indentLineOrSelection" /> + <keyword name="Editor.isClone" id="Editor.isClone" ref="eric6.QScintilla.Editor.html#Editor.isClone" /> <keyword name="Editor.isJavascriptFile" id="Editor.isJavascriptFile" ref="eric6.QScintilla.Editor.html#Editor.isJavascriptFile" /> <keyword name="Editor.isLastEditPositionAvailable" id="Editor.isLastEditPositionAvailable" ref="eric6.QScintilla.Editor.html#Editor.isLastEditPositionAvailable" /> <keyword name="Editor.isPy2File" id="Editor.isPy2File" ref="eric6.QScintilla.Editor.html#Editor.isPy2File" /> @@ -10707,14 +10708,17 @@ <keyword name="Listspace.canTile" id="Listspace.canTile" ref="eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.canTile" /> <keyword name="Listspace.cascade" id="Listspace.cascade" ref="eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.cascade" /> <keyword name="Listspace.eventFilter" id="Listspace.eventFilter" ref="eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.eventFilter" /> + <keyword name="Listspace.getOpenEditorsForSession" id="Listspace.getOpenEditorsForSession" ref="eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.getOpenEditorsForSession" /> <keyword name="Listspace.getSplitOrientation" id="Listspace.getSplitOrientation" ref="eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.getSplitOrientation" /> <keyword name="Listspace.mainWidget" id="Listspace.mainWidget" ref="eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.mainWidget" /> <keyword name="Listspace.nextSplit" id="Listspace.nextSplit" ref="eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.nextSplit" /> <keyword name="Listspace.prevSplit" id="Listspace.prevSplit" ref="eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.prevSplit" /> <keyword name="Listspace.removeSplit" id="Listspace.removeSplit" ref="eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.removeSplit" /> <keyword name="Listspace.setEditorName" id="Listspace.setEditorName" ref="eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.setEditorName" /> + <keyword name="Listspace.setSplitCount" id="Listspace.setSplitCount" ref="eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.setSplitCount" /> <keyword name="Listspace.setSplitOrientation" id="Listspace.setSplitOrientation" ref="eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.setSplitOrientation" /> <keyword name="Listspace.showWindowMenu" id="Listspace.showWindowMenu" ref="eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.showWindowMenu" /> + <keyword name="Listspace.splitCount" id="Listspace.splitCount" ref="eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.splitCount" /> <keyword name="Listspace.tile" id="Listspace.tile" ref="eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.tile" /> <keyword name="LogView (Module)" id="LogView (Module)" ref="eric6.UI.LogView.html" /> <keyword name="LogViewer" id="LogViewer" ref="eric6.UI.LogView.html#LogViewer" /> @@ -15840,6 +15844,7 @@ <keyword name="Tabview.canTile" id="Tabview.canTile" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.canTile" /> <keyword name="Tabview.cascade" id="Tabview.cascade" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.cascade" /> <keyword name="Tabview.eventFilter" id="Tabview.eventFilter" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.eventFilter" /> + <keyword name="Tabview.getOpenEditorsForSession" id="Tabview.getOpenEditorsForSession" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.getOpenEditorsForSession" /> <keyword name="Tabview.getSplitOrientation" id="Tabview.getSplitOrientation" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.getSplitOrientation" /> <keyword name="Tabview.getTabWidgetById" id="Tabview.getTabWidgetById" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.getTabWidgetById" /> <keyword name="Tabview.insertView" id="Tabview.insertView" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.insertView" /> @@ -15849,8 +15854,10 @@ <keyword name="Tabview.prevSplit" id="Tabview.prevSplit" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.prevSplit" /> <keyword name="Tabview.removeSplit" id="Tabview.removeSplit" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.removeSplit" /> <keyword name="Tabview.setEditorName" id="Tabview.setEditorName" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.setEditorName" /> + <keyword name="Tabview.setSplitCount" id="Tabview.setSplitCount" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.setSplitCount" /> <keyword name="Tabview.setSplitOrientation" id="Tabview.setSplitOrientation" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.setSplitOrientation" /> <keyword name="Tabview.showWindowMenu" id="Tabview.showWindowMenu" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.showWindowMenu" /> + <keyword name="Tabview.splitCount" id="Tabview.splitCount" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.splitCount" /> <keyword name="Tabview.tile" id="Tabview.tile" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.tile" /> <keyword name="TagError" id="TagError" ref="eric6.DocumentationTools.ModuleDocumentor.html#TagError" /> <keyword name="Task" id="Task" ref="eric6.Tasks.Task.html#Task" /> @@ -17187,6 +17194,7 @@ <keyword name="ViewManager.getOpenEditorCount" id="ViewManager.getOpenEditorCount" ref="eric6.ViewManager.ViewManager.html#ViewManager.getOpenEditorCount" /> <keyword name="ViewManager.getOpenEditors" id="ViewManager.getOpenEditors" ref="eric6.ViewManager.ViewManager.html#ViewManager.getOpenEditors" /> <keyword name="ViewManager.getOpenEditorsCount" id="ViewManager.getOpenEditorsCount" ref="eric6.ViewManager.ViewManager.html#ViewManager.getOpenEditorsCount" /> + <keyword name="ViewManager.getOpenEditorsForSession" id="ViewManager.getOpenEditorsForSession" ref="eric6.ViewManager.ViewManager.html#ViewManager.getOpenEditorsForSession" /> <keyword name="ViewManager.getOpenFilenames" id="ViewManager.getOpenFilenames" ref="eric6.ViewManager.ViewManager.html#ViewManager.getOpenFilenames" /> <keyword name="ViewManager.getSRHistory" id="ViewManager.getSRHistory" ref="eric6.ViewManager.ViewManager.html#ViewManager.getSRHistory" /> <keyword name="ViewManager.getSplitOrientation" id="ViewManager.getSplitOrientation" ref="eric6.ViewManager.ViewManager.html#ViewManager.getSplitOrientation" /> @@ -17242,6 +17250,7 @@ <keyword name="ViewManager.setFileLine" id="ViewManager.setFileLine" ref="eric6.ViewManager.ViewManager.html#ViewManager.setFileLine" /> <keyword name="ViewManager.setReferences" id="ViewManager.setReferences" ref="eric6.ViewManager.ViewManager.html#ViewManager.setReferences" /> <keyword name="ViewManager.setSbInfo" id="ViewManager.setSbInfo" ref="eric6.ViewManager.ViewManager.html#ViewManager.setSbInfo" /> + <keyword name="ViewManager.setSplitCount" id="ViewManager.setSplitCount" ref="eric6.ViewManager.ViewManager.html#ViewManager.setSplitCount" /> <keyword name="ViewManager.setSplitOrientation" id="ViewManager.setSplitOrientation" ref="eric6.ViewManager.ViewManager.html#ViewManager.setSplitOrientation" /> <keyword name="ViewManager.shareConnected" id="ViewManager.shareConnected" ref="eric6.ViewManager.ViewManager.html#ViewManager.shareConnected" /> <keyword name="ViewManager.shareEditor" id="ViewManager.shareEditor" ref="eric6.ViewManager.ViewManager.html#ViewManager.shareEditor" /> @@ -17250,6 +17259,7 @@ <keyword name="ViewManager.showReplaceWidget" id="ViewManager.showReplaceWidget" ref="eric6.ViewManager.ViewManager.html#ViewManager.showReplaceWidget" /> <keyword name="ViewManager.showSearchWidget" id="ViewManager.showSearchWidget" ref="eric6.ViewManager.ViewManager.html#ViewManager.showSearchWidget" /> <keyword name="ViewManager.showWindowMenu" id="ViewManager.showWindowMenu" ref="eric6.ViewManager.ViewManager.html#ViewManager.showWindowMenu" /> + <keyword name="ViewManager.splitCount" id="ViewManager.splitCount" ref="eric6.ViewManager.ViewManager.html#ViewManager.splitCount" /> <keyword name="ViewManager.startSharedEdit" id="ViewManager.startSharedEdit" ref="eric6.ViewManager.ViewManager.html#ViewManager.startSharedEdit" /> <keyword name="ViewManager.textForFind" id="ViewManager.textForFind" ref="eric6.ViewManager.ViewManager.html#ViewManager.textForFind" /> <keyword name="ViewManager.tile" id="ViewManager.tile" ref="eric6.ViewManager.ViewManager.html#ViewManager.tile" />
--- a/Documentation/Source/eric6.E5XML.SessionReader.html Sun Dec 31 18:54:06 2017 +0100 +++ b/Documentation/Source/eric6.E5XML.SessionReader.html Mon Jan 01 19:06:33 2018 +0100 @@ -104,12 +104,12 @@ <p> Constructor </p><dl> -<dt><i>device</i></dt> +<dt><i>device</i> (QIODevice)</dt> <dd> -reference to the I/O device to read from (QIODevice) -</dd><dt><i>isGlobal</i></dt> +reference to the I/O device to read from +</dd><dt><i>isGlobal</i> (bool)</dt> <dd> -flag indicating to read the global session (boolean). +flag indicating to read the global session </dd> </dl><a NAME="SessionReader.__readBookmark" ID="SessionReader.__readBookmark"></a> <h4>SessionReader.__readBookmark</h4> @@ -147,9 +147,9 @@ <p> Private method to read the project browser state info. </p><dl> -<dt><i>browserName</i></dt> +<dt><i>browserName</i> (str)</dt> <dd> -name of the project browser (string) +name of the project browser </dd> </dl><a NAME="SessionReader.__readProjectBrowserStates" ID="SessionReader.__readProjectBrowserStates"></a> <h4>SessionReader.__readProjectBrowserStates</h4> @@ -172,10 +172,10 @@ <p> Public method to read and parse the XML document. </p><dl> -<dt><i>quiet</i></dt> +<dt><i>quiet</i> (bool)</dt> <dd> flag indicating quiet operations. - If this flag is true, no errors are reported. + If this flag is true, no errors are reported. </dd> </dl> <div align="right"><a href="#top">Up</a></div>
--- a/Documentation/Source/eric6.E5XML.SessionWriter.html Sun Dec 31 18:54:06 2017 +0100 +++ b/Documentation/Source/eric6.E5XML.SessionWriter.html Mon Jan 01 19:06:33 2018 +0100 @@ -74,12 +74,12 @@ <p> Constructor </p><dl> -<dt><i>device</i></dt> +<dt><i>device</i> (QIODevice)</dt> <dd> -reference to the I/O device to write to (QIODevice) -</dd><dt><i>projectName</i></dt> +reference to the I/O device to write to +</dd><dt><i>projectName</i> (str or None)</dt> <dd> -name of the project (string) or None for the +name of the project or None for the global session </dd> </dl><a NAME="SessionWriter.writeXML" ID="SessionWriter.writeXML"></a>
--- a/Documentation/Source/eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html Sun Dec 31 18:54:06 2017 +0100 +++ b/Documentation/Source/eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html Mon Jan 01 19:06:33 2018 +0100 @@ -223,6 +223,9 @@ <td><a href="#Listspace.eventFilter">eventFilter</a></td> <td>Public method called to filter the event queue.</td> </tr><tr> +<td><a href="#Listspace.getOpenEditorsForSession">getOpenEditorsForSession</a></td> +<td>Public method to get a lists of all open editors.</td> +</tr><tr> <td><a href="#Listspace.getSplitOrientation">getSplitOrientation</a></td> <td>Public method to get the orientation of the split view.</td> </tr><tr> @@ -236,17 +239,23 @@ <td>Public slot used to move to the previous split.</td> </tr><tr> <td><a href="#Listspace.removeSplit">removeSplit</a></td> -<td>Public method used to remove the current split view.</td> +<td>Public method used to remove the current split view or a split view by index.</td> </tr><tr> <td><a href="#Listspace.setEditorName">setEditorName</a></td> <td>Public method to change the displayed name of the editor.</td> </tr><tr> +<td><a href="#Listspace.setSplitCount">setSplitCount</a></td> +<td>Public method to set the number of split views.</td> +</tr><tr> <td><a href="#Listspace.setSplitOrientation">setSplitOrientation</a></td> <td>Public method used to set the orientation of the split view.</td> </tr><tr> <td><a href="#Listspace.showWindowMenu">showWindowMenu</a></td> <td>Public method to set up the viewmanager part of the Window menu.</td> </tr><tr> +<td><a href="#Listspace.splitCount">splitCount</a></td> +<td>Public method to get the number of splitted views.</td> +</tr><tr> <td><a href="#Listspace.tile">tile</a></td> <td>Public method to tile the managed windows.</td> </tr> @@ -261,9 +270,9 @@ <p> Constructor </p><dl> -<dt><i>parent</i></dt> +<dt><i>parent</i> (QWidget)</dt> <dd> -parent widget (QWidget) +parent widget </dd> </dl><a NAME="Listspace.__captionChange" ID="Listspace.__captionChange"></a> <h4>Listspace.__captionChange</h4> @@ -273,10 +282,10 @@ </p><p> Updates the listwidget text to reflect the new caption information. </p><dl> -<dt><i>cap</i></dt> +<dt><i>cap</i> (str)</dt> <dd> -Caption for the editor (string) -</dd><dt><i>editor</i></dt> +Caption for the editor +</dd><dt><i>editor</i> (Editor)</dt> <dd> Editor to update the caption for </dd> @@ -333,7 +342,7 @@ <p> Private slot to handle the currentChanged signal. </p><dl> -<dt><i>index</i></dt> +<dt><i>index</i> (int)</dt> <dd> index of the current editor </dd> @@ -343,7 +352,7 @@ <p> Private slot to handle a change of the current editor's cursor line. </p><dl> -<dt><i>lineno</i></dt> +<dt><i>lineno</i> (int)</dt> <dd> line number of the current editor's cursor (zero based) </dd> @@ -359,9 +368,9 @@ Private slot to handle the customContextMenuRequested signal of the viewlist. </p><dl> -<dt><i>point</i></dt> +<dt><i>point</i> (QPoint)</dt> <dd> -position to open the menu at (QPoint) +position to open the menu at </dd> </dl><a NAME="Listspace.__showSelectedView" ID="Listspace.__showSelectedView"></a> <h4>Listspace.__showSelectedView</h4> @@ -369,29 +378,33 @@ <p> Private slot called to show a view selected in the list. </p><dl> -<dt><i>row</i></dt> +<dt><i>row</i> (int)</dt> <dd> -row number of the item clicked on (integer) +row number of the item clicked on </dd> </dl><a NAME="Listspace._addView" ID="Listspace._addView"></a> <h4>Listspace._addView</h4> -<b>_addView</b>(<i>win, fn=None, noName="", addNext=False</i>) +<b>_addView</b>(<i>win, fn=None, noName="", addNext=False, indexes=None</i>) <p> Protected method to add a view (i.e. window). </p><dl> -<dt><i>win</i></dt> +<dt><i>win</i> (EditorAssembly)</dt> <dd> editor assembly to be added -</dd><dt><i>fn</i></dt> +</dd><dt><i>fn</i> (str)</dt> <dd> -filename of this editor (string) -</dd><dt><i>noName</i></dt> +filename of this editor +</dd><dt><i>noName</i> (str)</dt> <dd> -name to be used for an unnamed editor (string) -</dd><dt><i>addNext</i></dt> +name to be used for an unnamed editor +</dd><dt><i>addNext</i> (bool)</dt> <dd> flag indicating to add the view next to the current - view (bool) + view +</dd><dt><i>indexes</i> (tuple of two int)</dt> +<dd> +of the editor, first the split view index, second the + index within the view </dd> </dl><a NAME="Listspace._initWindowActions" ID="Listspace._initWindowActions"></a> <h4>Listspace._initWindowActions</h4> @@ -405,10 +418,10 @@ <p> Protected slot to handle the modificationStatusChanged signal. </p><dl> -<dt><i>m</i></dt> +<dt><i>m</i> (bool)</dt> <dd> -flag indicating the modification status (boolean) -</dd><dt><i>editor</i></dt> +flag indicating the modification status +</dd><dt><i>editor</i> (Editor)</dt> <dd> editor window changed </dd> @@ -423,7 +436,7 @@ <p> Protected method to remove a view (i.e. window). </p><dl> -<dt><i>win</i></dt> +<dt><i>win</i> (Editor)</dt> <dd> editor window to be removed </dd> @@ -433,12 +446,12 @@ <p> Protected method to show a view (i.e. window). </p><dl> -<dt><i>win</i></dt> +<dt><i>win</i> (EditorAssembly)</dt> <dd> editor assembly to be shown -</dd><dt><i>fn</i></dt> +</dd><dt><i>fn</i> (string)</dt> <dd> -filename of this editor (string) +filename of this editor </dd> </dl><a NAME="Listspace._syntaxErrorToggled" ID="Listspace._syntaxErrorToggled"></a> <h4>Listspace._syntaxErrorToggled</h4> @@ -446,7 +459,7 @@ <p> Protected slot to handle the syntaxerrorToggled signal. </p><dl> -<dt><i>editor</i></dt> +<dt><i>editor</i> (Editor)</dt> <dd> editor that sent the signal </dd> @@ -460,6 +473,11 @@ <dd> reference to the active editor </dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +EditorAssembly +</dd> </dl><a NAME="Listspace.addSplit" ID="Listspace.addSplit"></a> <h4>Listspace.addSplit</h4> <b>addSplit</b>(<i></i>) @@ -475,6 +493,11 @@ <dd> flag indicating cascading of windows is available </dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> </dl><a NAME="Listspace.canSplit" ID="Listspace.canSplit"></a> <h4>Listspace.canSplit</h4> <b>canSplit</b>(<i></i>) @@ -483,7 +506,12 @@ </p><dl> <dt>Returns:</dt> <dd> -flag indicating splitting of the view is available. +flag indicating splitting of the view is available +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool </dd> </dl><a NAME="Listspace.canTile" ID="Listspace.canTile"></a> <h4>Listspace.canTile</h4> @@ -495,6 +523,11 @@ <dd> flag indicating tiling of windows is available </dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> </dl><a NAME="Listspace.cascade" ID="Listspace.cascade"></a> <h4>Listspace.cascade</h4> <b>cascade</b>(<i></i>) @@ -506,10 +539,10 @@ <p> Public method called to filter the event queue. </p><dl> -<dt><i>watched</i></dt> +<dt><i>watched</i> (QObject)</dt> <dd> the QObject being watched -</dd><dt><i>event</i></dt> +</dd><dt><i>event</i> (QEvent)</dt> <dd> the event that occurred </dd> @@ -518,6 +551,29 @@ <dd> flag indicating, if we handled the event </dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl><a NAME="Listspace.getOpenEditorsForSession" ID="Listspace.getOpenEditorsForSession"></a> +<h4>Listspace.getOpenEditorsForSession</h4> +<b>getOpenEditorsForSession</b>(<i></i>) +<p> + Public method to get a lists of all open editors. +</p><p> + The returned list contains one list per split view. If the view manager + cannot split the view, only one list of editors is returned. +</p><dl> +<dt>Returns:</dt> +<dd> +list of list of editor references +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +list of list of Editor +</dd> </dl><a NAME="Listspace.getSplitOrientation" ID="Listspace.getSplitOrientation"></a> <h4>Listspace.getSplitOrientation</h4> <b>getSplitOrientation</b>(<i></i>) @@ -526,7 +582,12 @@ </p><dl> <dt>Returns:</dt> <dd> -orientation of the split (Qt.Horizontal or Qt.Vertical) +orientation of the split +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +Qt.Horizontal or Qt.Vertical </dd> </dl><a NAME="Listspace.mainWidget" ID="Listspace.mainWidget"></a> <h4>Listspace.mainWidget</h4> @@ -556,13 +617,25 @@ Public slot used to move to the previous split. </p><a NAME="Listspace.removeSplit" ID="Listspace.removeSplit"></a> <h4>Listspace.removeSplit</h4> -<b>removeSplit</b>(<i></i>) +<b>removeSplit</b>(<i>index=-1</i>) <p> - Public method used to remove the current split view. + Public method used to remove the current split view or a split view + by index. </p><dl> +<dt><i>index</i> (int)</dt> +<dd> +index of the split to be removed (-1 means to + delete the current split) +</dd> +</dl><dl> <dt>Returns:</dt> <dd> -flag indicating successfull removal +flag indicating successful deletion +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool </dd> </dl><a NAME="Listspace.setEditorName" ID="Listspace.setEditorName"></a> <h4>Listspace.setEditorName</h4> @@ -570,12 +643,22 @@ <p> Public method to change the displayed name of the editor. </p><dl> -<dt><i>editor</i></dt> +<dt><i>editor</i> (Editor)</dt> <dd> editor window to be changed -</dd><dt><i>newName</i></dt> +</dd><dt><i>newName</i> (str)</dt> <dd> -new name to be shown (string) +new name to be shown +</dd> +</dl><a NAME="Listspace.setSplitCount" ID="Listspace.setSplitCount"></a> +<h4>Listspace.setSplitCount</h4> +<b>setSplitCount</b>(<i>count</i>) +<p> + Public method to set the number of split views. +</p><dl> +<dt><i>count</i> (int)</dt> +<dd> +number of split views </dd> </dl><a NAME="Listspace.setSplitOrientation" ID="Listspace.setSplitOrientation"></a> <h4>Listspace.setSplitOrientation</h4> @@ -583,10 +666,9 @@ <p> Public method used to set the orientation of the split view. </p><dl> -<dt><i>orientation</i></dt> +<dt><i>orientation</i> (Qt.Horizontal or Qt.Vertical)</dt> <dd> orientation of the split - (Qt.Horizontal or Qt.Vertical) </dd> </dl><a NAME="Listspace.showWindowMenu" ID="Listspace.showWindowMenu"></a> <h4>Listspace.showWindowMenu</h4> @@ -594,10 +676,25 @@ <p> Public method to set up the viewmanager part of the Window menu. </p><dl> -<dt><i>windowMenu</i></dt> +<dt><i>windowMenu</i> (QMenu)</dt> <dd> reference to the window menu </dd> +</dl><a NAME="Listspace.splitCount" ID="Listspace.splitCount"></a> +<h4>Listspace.splitCount</h4> +<b>splitCount</b>(<i></i>) +<p> + Public method to get the number of splitted views. +</p><dl> +<dt>Returns:</dt> +<dd> +number of splitted views +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +int +</dd> </dl><a NAME="Listspace.tile" ID="Listspace.tile"></a> <h4>Listspace.tile</h4> <b>tile</b>(<i></i>) @@ -665,9 +762,9 @@ <p> Constructor </p><dl> -<dt><i>parent</i></dt> +<dt><i>parent</i> (QWidget)</dt> <dd> -parent widget (QWidget) +parent widget </dd> </dl><a NAME="StackedWidget.addWidget" ID="StackedWidget.addWidget"></a> <h4>StackedWidget.addWidget</h4> @@ -675,10 +772,9 @@ <p> Public method to add a new widget. </p><dl> -<dt><i>assembly</i></dt> +<dt><i>assembly</i> (QScintilla.EditorAssembly.EditorAssembly)</dt> <dd> editor assembly object to be added - (QScintilla.EditorAssembly.EditorAssembly) </dd> </dl><a NAME="StackedWidget.currentWidget" ID="StackedWidget.currentWidget"></a> <h4>StackedWidget.currentWidget</h4> @@ -688,7 +784,12 @@ </p><dl> <dt>Returns:</dt> <dd> -reference to the current editor (Editor) +reference to the current editor +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +Editor </dd> </dl><a NAME="StackedWidget.firstEditor" ID="StackedWidget.firstEditor"></a> <h4>StackedWidget.firstEditor</h4> @@ -699,7 +800,12 @@ </p><dl> <dt>Returns:</dt> <dd> -first editor in list (QScintilla.Editor.Editor) +first editor in list +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +QScintilla.Editor.Editor </dd> </dl><a NAME="StackedWidget.hasEditor" ID="StackedWidget.hasEditor"></a> <h4>StackedWidget.hasEditor</h4> @@ -707,7 +813,7 @@ <p> Public method to check for an editor. </p><dl> -<dt><i>editor</i></dt> +<dt><i>editor</i> (Editor)</dt> <dd> editor object to check for </dd> @@ -717,6 +823,11 @@ flag indicating, whether the editor to be checked belongs to the list of editors managed by this stacked widget. </dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> </dl><a NAME="StackedWidget.nextTab" ID="StackedWidget.nextTab"></a> <h4>StackedWidget.nextTab</h4> <b>nextTab</b>(<i></i>) @@ -733,9 +844,9 @@ <p> Public method to remove a widget. </p><dl> -<dt><i>widget</i></dt> +<dt><i>widget</i> (QWidget)</dt> <dd> -widget to be removed (QWidget) +widget to be removed </dd> </dl><a NAME="StackedWidget.setCurrentIndex" ID="StackedWidget.setCurrentIndex"></a> <h4>StackedWidget.setCurrentIndex</h4> @@ -743,9 +854,9 @@ <p> Public method to set the current widget by its index. </p><dl> -<dt><i>index</i></dt> +<dt><i>index</i> (int)</dt> <dd> -index of widget to be made current (integer) +index of widget to be made current </dd> </dl><a NAME="StackedWidget.setCurrentWidget" ID="StackedWidget.setCurrentWidget"></a> <h4>StackedWidget.setCurrentWidget</h4> @@ -753,9 +864,9 @@ <p> Public method to set the current widget. </p><dl> -<dt><i>widget</i></dt> +<dt><i>widget</i> (QWidget)</dt> <dd> -widget to be made current (QWidget) +widget to be made current </dd> </dl> <div align="right"><a href="#top">Up</a></div>
--- a/Documentation/Source/eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html Sun Dec 31 18:54:06 2017 +0100 +++ b/Documentation/Source/eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html Mon Jan 01 19:06:33 2018 +0100 @@ -110,9 +110,9 @@ <p> Constructor </p><dl> -<dt><i>parent</i></dt> +<dt><i>parent</i> (QWidget)</dt> <dd> -reference to the parent widget (QWidget) +reference to the parent widget </dd> </dl><a NAME="TabBar.dragEnterEvent" ID="TabBar.dragEnterEvent"></a> <h4>TabBar.dragEnterEvent</h4> @@ -120,9 +120,9 @@ <p> Protected method to handle drag enter events. </p><dl> -<dt><i>event</i></dt> +<dt><i>event</i> (QDragEnterEvent)</dt> <dd> -reference to the drag enter event (QDragEnterEvent) +reference to the drag enter event </dd> </dl><a NAME="TabBar.dropEvent" ID="TabBar.dropEvent"></a> <h4>TabBar.dropEvent</h4> @@ -130,9 +130,9 @@ <p> Protected method to handle drop events. </p><dl> -<dt><i>event</i></dt> +<dt><i>event</i> (QDropEvent)</dt> <dd> -reference to the drop event (QDropEvent) +reference to the drop event </dd> </dl><a NAME="TabBar.mouseMoveEvent" ID="TabBar.mouseMoveEvent"></a> <h4>TabBar.mouseMoveEvent</h4> @@ -140,9 +140,9 @@ <p> Protected method to handle mouse move events. </p><dl> -<dt><i>event</i></dt> +<dt><i>event</i> (QMouseEvent)</dt> <dd> -reference to the mouse move event (QMouseEvent) +reference to the mouse move event </dd> </dl><a NAME="TabBar.mousePressEvent" ID="TabBar.mousePressEvent"></a> <h4>TabBar.mousePressEvent</h4> @@ -150,9 +150,9 @@ <p> Protected method to handle mouse press events. </p><dl> -<dt><i>event</i></dt> +<dt><i>event</i> (QMouseEvent)</dt> <dd> -reference to the mouse press event (QMouseEvent) +reference to the mouse press event </dd> </dl> <div align="right"><a href="#top">Up</a></div> @@ -291,9 +291,9 @@ <p> Constructor </p><dl> -<dt><i>vm</i></dt> +<dt><i>vm</i> (Tabview)</dt> <dd> -view manager widget (Tabview) +view manager widget </dd> </dl><a NAME="TabWidget.__captionChange" ID="TabWidget.__captionChange"></a> <h4>TabWidget.__captionChange</h4> @@ -304,10 +304,10 @@ Updates the tab text and tooltip text to reflect the new caption information. </p><dl> -<dt><i>cap</i></dt> +<dt><i>cap</i> (str)</dt> <dd> Caption for the editor -</dd><dt><i>editor</i></dt> +</dd><dt><i>editor</i> (Editor)</dt> <dd> Editor to update the caption for </dd> @@ -399,12 +399,12 @@ <p> Private method to copy an editor. </p><dl> -<dt><i>sourceIndex</i></dt> +<dt><i>sourceIndex</i> (int)</dt> <dd> -index of the tab (integer) -</dd><dt><i>targetIndex</i></dt> +index of the tab +</dd><dt><i>targetIndex</i> (int)</dt> <dd> -index position to place it to (integer) +index position to place it to </dd> </dl><a NAME="TabWidget.__copyTabOther" ID="TabWidget.__copyTabOther"></a> <h4>TabWidget.__copyTabOther</h4> @@ -412,15 +412,15 @@ <p> Private method to copy an editor from another TabWidget. </p><dl> -<dt><i>sourceId</i></dt> +<dt><i>sourceId</i> (str)</dt> <dd> -id of the TabWidget to get the editor from (string) -</dd><dt><i>sourceIndex</i></dt> +id of the TabWidget to get the editor from +</dd><dt><i>sourceIndex</i> (int)</dt> <dd> -index of the tab in the old tab widget (integer) -</dd><dt><i>targetIndex</i></dt> +index of the tab in the old tab widget +</dd><dt><i>targetIndex</i> (int)</dt> <dd> -index position to place it to (integer) +index position to place it to </dd> </dl><a NAME="TabWidget.__cursorLineChanged" ID="TabWidget.__cursorLineChanged"></a> <h4>TabWidget.__cursorLineChanged</h4> @@ -428,7 +428,7 @@ <p> Private slot to handle a change of the current editor's cursor line. </p><dl> -<dt><i>lineno</i></dt> +<dt><i>lineno</i> (int)</dt> <dd> line number of the current editor's cursor (zero based) </dd> @@ -443,9 +443,9 @@ <p> Private slot called to handle the navigation button menu selection. </p><dl> -<dt><i>act</i></dt> +<dt><i>act</i> (QAction)</dt> <dd> -reference to the selected action (QAction) +reference to the selected action </dd> </dl><a NAME="TabWidget.__relocateTab" ID="TabWidget.__relocateTab"></a> <h4>TabWidget.__relocateTab</h4> @@ -453,15 +453,15 @@ <p> Private method to relocate an editor from another TabWidget. </p><dl> -<dt><i>sourceId</i></dt> +<dt><i>sourceId</i> (str)</dt> <dd> -id of the TabWidget to get the editor from (string) -</dd><dt><i>sourceIndex</i></dt> +id of the TabWidget to get the editor from +</dd><dt><i>sourceIndex</i> (int)</dt> <dd> -index of the tab in the old tab widget (integer) -</dd><dt><i>targetIndex</i></dt> +index of the tab in the old tab widget +</dd><dt><i>targetIndex</i> (int)</dt> <dd> -index position to place it to (integer) +index position to place it to </dd> </dl><a NAME="TabWidget.__showContextMenu" ID="TabWidget.__showContextMenu"></a> <h4>TabWidget.__showContextMenu</h4> @@ -469,12 +469,12 @@ <p> Private slot to show the tab context menu. </p><dl> -<dt><i>coord</i></dt> +<dt><i>coord</i> (QPoint)</dt> <dd> -the position of the mouse pointer (QPoint) -</dd><dt><i>index</i></dt> +the position of the mouse pointer +</dd><dt><i>index</i> (int)</dt> <dd> -index of the tab the menu is requested for (integer) +index of the tab the menu is requested for </dd> </dl><a NAME="TabWidget.__showNavigationMenu" ID="TabWidget.__showNavigationMenu"></a> <h4>TabWidget.__showNavigationMenu</h4> @@ -487,13 +487,12 @@ <p> Public method to add a new tab. </p><dl> -<dt><i>assembly</i></dt> +<dt><i>assembly</i> (QScintilla.EditorAssembly.EditorAssembly)</dt> <dd> editor assembly object to be added - (QScintilla.EditorAssembly.EditorAssembly) -</dd><dt><i>title</i></dt> +</dd><dt><i>title</i> (str)</dt> <dd> -title for the new tab (string) +title for the new tab </dd> </dl><a NAME="TabWidget.currentWidget" ID="TabWidget.currentWidget"></a> <h4>TabWidget.currentWidget</h4> @@ -503,7 +502,12 @@ </p><dl> <dt>Returns:</dt> <dd> -reference to the current page (Editor) +reference to the current page +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +Editor </dd> </dl><a NAME="TabWidget.hasEditor" ID="TabWidget.hasEditor"></a> <h4>TabWidget.hasEditor</h4> @@ -511,7 +515,7 @@ <p> Public method to check for an editor. </p><dl> -<dt><i>editor</i></dt> +<dt><i>editor</i> (Editor)</dt> <dd> editor object to check for </dd> @@ -521,6 +525,11 @@ flag indicating, whether the editor to be checked belongs to the list of editors managed by this tab widget. </dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> </dl><a NAME="TabWidget.hasEditors" ID="TabWidget.hasEditors"></a> <h4>TabWidget.hasEditors</h4> <b>hasEditors</b>(<i></i>) @@ -531,20 +540,30 @@ <dd> flag indicating editors are managed </dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> </dl><a NAME="TabWidget.indexOf" ID="TabWidget.indexOf"></a> <h4>TabWidget.indexOf</h4> <b>indexOf</b>(<i>widget</i>) <p> Public method to get the tab index of the given editor. </p><dl> -<dt><i>widget</i></dt> +<dt><i>widget</i> (QLabel or Editor)</dt> <dd> -widget to get the index for (QLabel or Editor) +widget to get the index for </dd> </dl><dl> <dt>Returns:</dt> <dd> -tab index of the editor (integer) +tab index of the editor +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +int </dd> </dl><a NAME="TabWidget.insertWidget" ID="TabWidget.insertWidget"></a> <h4>TabWidget.insertWidget</h4> @@ -552,21 +571,25 @@ <p> Public method to insert a new tab. </p><dl> -<dt><i>index</i></dt> +<dt><i>index</i> (int)</dt> <dd> -index position for the new tab (integer) -</dd><dt><i>assembly</i></dt> +index position for the new tab +</dd><dt><i>assembly</i> (QScintilla.EditorAssembly.EditorAssembly)</dt> <dd> editor assembly object to be added - (QScintilla.EditorAssembly.EditorAssembly) -</dd><dt><i>title</i></dt> +</dd><dt><i>title</i> (str)</dt> <dd> -title for the new tab (string) +title for the new tab </dd> </dl><dl> <dt>Returns:</dt> <dd> -index of the inserted tab (integer) +index of the inserted tab +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +int </dd> </dl><a NAME="TabWidget.mouseDoubleClickEvent" ID="TabWidget.mouseDoubleClickEvent"></a> <h4>TabWidget.mouseDoubleClickEvent</h4> @@ -584,9 +607,9 @@ <p> Public method to remove a widget. </p><dl> -<dt><i>widget</i></dt> +<dt><i>widget</i> (QWidget)</dt> <dd> -widget to be removed (QWidget) +widget to be removed </dd> </dl><a NAME="TabWidget.setCurrentWidget" ID="TabWidget.setCurrentWidget"></a> <h4>TabWidget.setCurrentWidget</h4> @@ -594,10 +617,9 @@ <p> Public method to set the current tab by the given editor assembly. </p><dl> -<dt><i>assembly</i></dt> +<dt><i>assembly</i> (EditorAssembly.EditorAssembly)</dt> <dd> editor assembly to determine current tab from - (EditorAssembly.EditorAssembly) </dd> </dl><a NAME="TabWidget.showIndicator" ID="TabWidget.showIndicator"></a> <h4>TabWidget.showIndicator</h4> @@ -605,9 +627,9 @@ <p> Public slot to set the indicator on or off. </p><dl> -<dt><i>on</i></dt> +<dt><i>on</i> (bool)</dt> <dd> -flag indicating the dtate of the indicator (boolean) +flag indicating the state of the indicator </dd> </dl> <div align="right"><a href="#top">Up</a></div> @@ -751,6 +773,9 @@ <td><a href="#Tabview.eventFilter">eventFilter</a></td> <td>Public method called to filter the event queue.</td> </tr><tr> +<td><a href="#Tabview.getOpenEditorsForSession">getOpenEditorsForSession</a></td> +<td>Public method to get a lists of all open editors.</td> +</tr><tr> <td><a href="#Tabview.getSplitOrientation">getSplitOrientation</a></td> <td>Public method to get the orientation of the split view.</td> </tr><tr> @@ -773,17 +798,23 @@ <td>Public slot used to move to the previous split.</td> </tr><tr> <td><a href="#Tabview.removeSplit">removeSplit</a></td> -<td>Public method used to remove the current split view.</td> +<td>Public method used to remove the current split view or a split view by index.</td> </tr><tr> <td><a href="#Tabview.setEditorName">setEditorName</a></td> <td>Public method to change the displayed name of the editor.</td> </tr><tr> +<td><a href="#Tabview.setSplitCount">setSplitCount</a></td> +<td>Public method to set the number of split views.</td> +</tr><tr> <td><a href="#Tabview.setSplitOrientation">setSplitOrientation</a></td> <td>Public method used to set the orientation of the split view.</td> </tr><tr> <td><a href="#Tabview.showWindowMenu">showWindowMenu</a></td> <td>Public method to set up the viewmanager part of the Window menu.</td> </tr><tr> +<td><a href="#Tabview.splitCount">splitCount</a></td> +<td>Public method to get the number of splitted views.</td> +</tr><tr> <td><a href="#Tabview.tile">tile</a></td> <td>Public method to tile the managed windows.</td> </tr> @@ -798,9 +829,9 @@ <p> Constructor </p><dl> -<dt><i>parent</i></dt> +<dt><i>parent</i> (QWidget)</dt> <dd> -parent widget (QWidget) +parent widget </dd> </dl><a NAME="Tabview.__currentChanged" ID="Tabview.__currentChanged"></a> <h4>Tabview.__currentChanged</h4> @@ -808,29 +839,33 @@ <p> Private slot to handle the currentChanged signal. </p><dl> -<dt><i>index</i></dt> +<dt><i>index</i> (int)</dt> <dd> -index of the current tab (integer) +index of the current tab </dd> </dl><a NAME="Tabview._addView" ID="Tabview._addView"></a> <h4>Tabview._addView</h4> -<b>_addView</b>(<i>win, fn=None, noName="", addNext=False</i>) +<b>_addView</b>(<i>win, fn=None, noName="", addNext=False, indexes=None</i>) <p> Protected method to add a view (i.e. window). </p><dl> -<dt><i>win</i></dt> +<dt><i>win</i> (EditorAssembly)</dt> <dd> editor assembly to be added -</dd><dt><i>fn</i></dt> +</dd><dt><i>fn</i> (str)</dt> <dd> -filename of this editor (string) -</dd><dt><i>noName</i></dt> +filename of this editor +</dd><dt><i>noName</i> (str)</dt> <dd> -name to be used for an unnamed editor (string) -</dd><dt><i>addNext</i></dt> +name to be used for an unnamed editor +</dd><dt><i>addNext</i> (bool)</dt> <dd> flag indicating to add the view next to the current - view (bool) + view +</dd><dt><i>indexes</i> (tuple of two int)</dt> +<dd> +of the editor, first the split view index, second the + index within the view </dd> </dl><a NAME="Tabview._initWindowActions" ID="Tabview._initWindowActions"></a> <h4>Tabview._initWindowActions</h4> @@ -844,10 +879,10 @@ <p> Protected slot to handle the modificationStatusChanged signal. </p><dl> -<dt><i>m</i></dt> +<dt><i>m</i> (bool)</dt> <dd> -flag indicating the modification status (boolean) -</dd><dt><i>editor</i></dt> +flag indicating the modification status +</dd><dt><i>editor</i> (Editor)</dt> <dd> editor window changed </dd> @@ -862,7 +897,7 @@ <p> Protected method to remove a view (i.e. window). </p><dl> -<dt><i>win</i></dt> +<dt><i>win</i> (Editor)</dt> <dd> editor window to be removed </dd> @@ -872,12 +907,12 @@ <p> Protected method to show a view (i.e. window). </p><dl> -<dt><i>win</i></dt> +<dt><i>win</i> (EditorAssembly)</dt> <dd> editor assembly to be shown -</dd><dt><i>fn</i></dt> +</dd><dt><i>fn</i> (str)</dt> <dd> -filename of this editor (string) +filename of this editor </dd> </dl><a NAME="Tabview._syntaxErrorToggled" ID="Tabview._syntaxErrorToggled"></a> <h4>Tabview._syntaxErrorToggled</h4> @@ -885,7 +920,7 @@ <p> Protected slot to handle the syntaxerrorToggled signal. </p><dl> -<dt><i>editor</i></dt> +<dt><i>editor</i> (Editor)</dt> <dd> editor that sent the signal </dd> @@ -899,6 +934,11 @@ <dd> reference to the active editor </dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +Editor +</dd> </dl><a NAME="Tabview.addSplit" ID="Tabview.addSplit"></a> <h4>Tabview.addSplit</h4> <b>addSplit</b>(<i></i>) @@ -914,6 +954,11 @@ <dd> flag indicating cascading of windows is available </dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> </dl><a NAME="Tabview.canSplit" ID="Tabview.canSplit"></a> <h4>Tabview.canSplit</h4> <b>canSplit</b>(<i></i>) @@ -924,6 +969,11 @@ <dd> flag indicating splitting of the view is available. </dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> </dl><a NAME="Tabview.canTile" ID="Tabview.canTile"></a> <h4>Tabview.canTile</h4> <b>canTile</b>(<i></i>) @@ -934,6 +984,11 @@ <dd> flag indicating tiling of windows is available </dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> </dl><a NAME="Tabview.cascade" ID="Tabview.cascade"></a> <h4>Tabview.cascade</h4> <b>cascade</b>(<i></i>) @@ -945,18 +1000,41 @@ <p> Public method called to filter the event queue. </p><dl> -<dt><i>watched</i></dt> +<dt><i>watched</i> (QObject)</dt> <dd> -the QObject being watched (QObject) -</dd><dt><i>event</i></dt> +the QObject being watched +</dd><dt><i>event</i> (QEvent)</dt> <dd> -the event that occurred (QEvent) +the event that occurred </dd> </dl><dl> <dt>Returns:</dt> <dd> always False </dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl><a NAME="Tabview.getOpenEditorsForSession" ID="Tabview.getOpenEditorsForSession"></a> +<h4>Tabview.getOpenEditorsForSession</h4> +<b>getOpenEditorsForSession</b>(<i></i>) +<p> + Public method to get a lists of all open editors. +</p><p> + The returned list contains one list per split view. If the view manager + cannot split the view, only one list of editors is returned. +</p><dl> +<dt>Returns:</dt> +<dd> +list of list of editor references +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +list of list of Editor +</dd> </dl><a NAME="Tabview.getSplitOrientation" ID="Tabview.getSplitOrientation"></a> <h4>Tabview.getSplitOrientation</h4> <b>getSplitOrientation</b>(<i></i>) @@ -965,7 +1043,12 @@ </p><dl> <dt>Returns:</dt> <dd> -orientation of the split (Qt.Horizontal or Qt.Vertical) +orientation of the split +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +Qt.Horizontal or Qt.Vertical </dd> </dl><a NAME="Tabview.getTabWidgetById" ID="Tabview.getTabWidgetById"></a> <h4>Tabview.getTabWidgetById</h4> @@ -973,14 +1056,19 @@ <p> Public method to get a reference to a tab widget knowing its ID. </p><dl> -<dt><i>id_</i></dt> +<dt><i>id_</i> (int)</dt> <dd> -id of the tab widget (long) +id of the tab widget </dd> </dl><dl> <dt>Returns:</dt> <dd> -reference to the tab widget (TabWidget) +reference to the tab widget +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +TabWidget </dd> </dl><a NAME="Tabview.insertView" ID="Tabview.insertView"></a> <h4>Tabview.insertView</h4> @@ -988,22 +1076,21 @@ <p> Public method to add a view (i.e. window). </p><dl> -<dt><i>win</i></dt> +<dt><i>win</i> (EditorAssembly)</dt> <dd> editor assembly to be inserted -</dd><dt><i>tabWidget</i></dt> +</dd><dt><i>tabWidget</i> (TabWidget)</dt> <dd> reference to the tab widget to insert the editor into - (TabWidget) -</dd><dt><i>index</i></dt> +</dd><dt><i>index</i> (int)</dt> +<dd> +index position to insert at +</dd><dt><i>fn</i> (str)</dt> <dd> -index position to insert at (integer) -</dd><dt><i>fn</i></dt> +filename of this editor +</dd><dt><i>noName</i> (str)</dt> <dd> -filename of this editor (string) -</dd><dt><i>noName</i></dt> -<dd> -name to be used for an unnamed editor (string) +name to be used for an unnamed editor </dd> </dl><a NAME="Tabview.mainWidget" ID="Tabview.mainWidget"></a> <h4>Tabview.mainWidget</h4> @@ -1038,13 +1125,25 @@ Public slot used to move to the previous split. </p><a NAME="Tabview.removeSplit" ID="Tabview.removeSplit"></a> <h4>Tabview.removeSplit</h4> -<b>removeSplit</b>(<i></i>) +<b>removeSplit</b>(<i>index=-1</i>) <p> - Public method used to remove the current split view. + Public method used to remove the current split view or a split view + by index. </p><dl> +<dt><i>index</i> (int)</dt> +<dd> +index of the split to be removed (-1 means to + delete the current split) +</dd> +</dl><dl> <dt>Returns:</dt> <dd> -flag indicating successfull removal +flag indicating successful deletion +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool </dd> </dl><a NAME="Tabview.setEditorName" ID="Tabview.setEditorName"></a> <h4>Tabview.setEditorName</h4> @@ -1052,12 +1151,22 @@ <p> Public method to change the displayed name of the editor. </p><dl> -<dt><i>editor</i></dt> +<dt><i>editor</i> (Editor)</dt> <dd> editor window to be changed -</dd><dt><i>newName</i></dt> +</dd><dt><i>newName</i> (str)</dt> <dd> -new name to be shown (string) +new name to be shown +</dd> +</dl><a NAME="Tabview.setSplitCount" ID="Tabview.setSplitCount"></a> +<h4>Tabview.setSplitCount</h4> +<b>setSplitCount</b>(<i>count</i>) +<p> + Public method to set the number of split views. +</p><dl> +<dt><i>count</i> (int)</dt> +<dd> +number of split views </dd> </dl><a NAME="Tabview.setSplitOrientation" ID="Tabview.setSplitOrientation"></a> <h4>Tabview.setSplitOrientation</h4> @@ -1065,10 +1174,9 @@ <p> Public method used to set the orientation of the split view. </p><dl> -<dt><i>orientation</i></dt> +<dt><i>orientation</i> (Qt.Horizontal or Qt.Vertical)</dt> <dd> orientation of the split - (Qt.Horizontal or Qt.Vertical) </dd> </dl><a NAME="Tabview.showWindowMenu" ID="Tabview.showWindowMenu"></a> <h4>Tabview.showWindowMenu</h4> @@ -1076,10 +1184,25 @@ <p> Public method to set up the viewmanager part of the Window menu. </p><dl> -<dt><i>windowMenu</i></dt> +<dt><i>windowMenu</i> (QMenu)</dt> <dd> reference to the window menu </dd> +</dl><a NAME="Tabview.splitCount" ID="Tabview.splitCount"></a> +<h4>Tabview.splitCount</h4> +<b>splitCount</b>(<i></i>) +<p> + Public method to get the number of splitted views. +</p><dl> +<dt>Returns:</dt> +<dd> +number of splitted views +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +int +</dd> </dl><a NAME="Tabview.tile" ID="Tabview.tile"></a> <h4>Tabview.tile</h4> <b>tile</b>(<i></i>)
--- a/Documentation/Source/eric6.QScintilla.Editor.html Sun Dec 31 18:54:06 2017 +0100 +++ b/Documentation/Source/eric6.QScintilla.Editor.html Mon Jan 01 19:06:33 2018 +0100 @@ -939,6 +939,9 @@ <td><a href="#Editor.indentLineOrSelection">indentLineOrSelection</a></td> <td>Public slot to indent the current line or current selection.</td> </tr><tr> +<td><a href="#Editor.isClone">isClone</a></td> +<td>Public method to test, if the given editor is a clone.</td> +</tr><tr> <td><a href="#Editor.isJavascriptFile">isJavascriptFile</a></td> <td>Public method to return a flag indicating a Javascript file.</td> </tr><tr> @@ -2691,9 +2694,9 @@ <p> Public method to add a clone to our list. </p><dl> -<dt><i>editor</i></dt> -<dd> -reference to the cloned editor (Editor) +<dt><i>editor</i> (Editor)</dt> +<dd> +reference to the cloned editor </dd> </dl><a NAME="Editor.addCompletionListHook" ID="Editor.addCompletionListHook"></a> <h4>Editor.addCompletionListHook</h4> @@ -3752,7 +3755,27 @@ <b>indentLineOrSelection</b>(<i></i>) <p> Public slot to indent the current line or current selection. -</p><a NAME="Editor.isJavascriptFile" ID="Editor.isJavascriptFile"></a> +</p><a NAME="Editor.isClone" ID="Editor.isClone"></a> +<h4>Editor.isClone</h4> +<b>isClone</b>(<i>editor</i>) +<p> + Public method to test, if the given editor is a clone. +</p><dl> +<dt><i>editor</i> (Editor)</dt> +<dd> +reference to the cloned editor +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +flag indicating a clone +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl><a NAME="Editor.isJavascriptFile" ID="Editor.isJavascriptFile"></a> <h4>Editor.isJavascriptFile</h4> <b>isJavascriptFile</b>(<i></i>) <p> @@ -4076,9 +4099,9 @@ <p> Public method to remove a clone from our list. </p><dl> -<dt><i>editor</i></dt> -<dd> -reference to the cloned editor (Editor) +<dt><i>editor</i> (Editor)</dt> +<dd> +reference to the cloned editor </dd> </dl><a NAME="Editor.removeCompletionListHook" ID="Editor.removeCompletionListHook"></a> <h4>Editor.removeCompletionListHook</h4>
--- a/Documentation/Source/eric6.ViewManager.ViewManager.html Sun Dec 31 18:54:06 2017 +0100 +++ b/Documentation/Source/eric6.ViewManager.ViewManager.html Mon Jan 01 19:06:33 2018 +0100 @@ -777,6 +777,9 @@ <td><a href="#ViewManager.getOpenEditorsCount">getOpenEditorsCount</a></td> <td>Public method to get the number of open editors.</td> </tr><tr> +<td><a href="#ViewManager.getOpenEditorsForSession">getOpenEditorsForSession</a></td> +<td>Public method to get a lists of all open editors.</td> +</tr><tr> <td><a href="#ViewManager.getOpenFilenames">getOpenFilenames</a></td> <td>Public method returning a list of the filenames of all editors.</td> </tr><tr> @@ -886,7 +889,7 @@ <td>Public slot to handle received editor commands.</td> </tr><tr> <td><a href="#ViewManager.removeSplit">removeSplit</a></td> -<td>Public method used to remove the current split view.</td> +<td>Public method used to remove the current split view or a split view by index.</td> </tr><tr> <td><a href="#ViewManager.replaceWidget">replaceWidget</a></td> <td>Public method to get a reference to the replace widget.</td> @@ -942,6 +945,9 @@ <td><a href="#ViewManager.setSbInfo">setSbInfo</a></td> <td>Public method to transfer statusbar info from the user interface to viewmanager.</td> </tr><tr> +<td><a href="#ViewManager.setSplitCount">setSplitCount</a></td> +<td>Public method to set the number of split views.</td> +</tr><tr> <td><a href="#ViewManager.setSplitOrientation">setSplitOrientation</a></td> <td>Public method used to set the orientation of the split view.</td> </tr><tr> @@ -966,6 +972,9 @@ <td><a href="#ViewManager.showWindowMenu">showWindowMenu</a></td> <td>Public method to set up the viewmanager part of the Window menu.</td> </tr><tr> +<td><a href="#ViewManager.splitCount">splitCount</a></td> +<td>Public method to get the number of split views.</td> +</tr><tr> <td><a href="#ViewManager.startSharedEdit">startSharedEdit</a></td> <td>Public slot to start a shared edit session for the current editor.</td> </tr><tr> @@ -1923,23 +1932,27 @@ </dd> </dl><a NAME="ViewManager._addView" ID="ViewManager._addView"></a> <h4>ViewManager._addView</h4> -<b>_addView</b>(<i>win, fn=None, noName="", addNext=False</i>) +<b>_addView</b>(<i>win, fn=None, noName="", addNext=False, indexes=None</i>) <p> Protected method to add a view (i.e. window). </p><dl> -<dt><i>win</i></dt> +<dt><i>win</i> (EditorAssembly)</dt> <dd> editor assembly to be added -</dd><dt><i>fn</i></dt> +</dd><dt><i>fn</i> (str)</dt> <dd> filename of this editor -</dd><dt><i>noName</i></dt> +</dd><dt><i>noName</i> (str)</dt> <dd> -name to be used for an unnamed editor (string) -</dd><dt><i>addNext</i></dt> +name to be used for an unnamed editor +</dd><dt><i>addNext</i> (bool)</dt> <dd> flag indicating to add the view next to the current - view (bool) + view +</dd><dt><i>indexes</i> (tuple of two int)</dt> +<dd> +of the editor, first the split view index, second the + index within the view </dd> </dl><dl> <dt>Raises <b>RuntimeError</b>:</dt> @@ -2392,23 +2405,27 @@ </dd> </dl><a NAME="ViewManager.getEditor" ID="ViewManager.getEditor"></a> <h4>ViewManager.getEditor</h4> -<b>getEditor</b>(<i>fn, filetype="", addNext=False</i>) +<b>getEditor</b>(<i>fn, filetype="", addNext=False, indexes=None</i>) <p> Public method to return the editor displaying the given file. </p><p> If there is no editor with the given file, a new editor window is created. </p><dl> -<dt><i>fn</i></dt> +<dt><i>fn</i> (str)</dt> <dd> filename to look for -</dd><dt><i>filetype</i></dt> +</dd><dt><i>filetype</i> (str)</dt> <dd> -type of the source file (string) -</dd><dt><i>addNext</i></dt> +type of the source file +</dd><dt><i>addNext</i> (bool)</dt> <dd> flag indicating that if a new editor needs to be - created, it should be added next to the current editor (bool) + created, it should be added next to the current editor +</dd><dt><i>indexes</i> (tuple of two int)</dt> +<dd> +of the editor, first the split view index, second the + index within the view </dd> </dl><dl> <dt>Returns:</dt> @@ -2416,6 +2433,11 @@ tuple of two values giving a flag indicating a new window creation and a reference to the editor displaying this file </dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +tuple of (bool, Editor) +</dd> </dl><a NAME="ViewManager.getMostRecent" ID="ViewManager.getMostRecent"></a> <h4>ViewManager.getMostRecent</h4> <b>getMostRecent</b>(<i></i>) @@ -2488,6 +2510,26 @@ <dd> number of open editors (integer) </dd> +</dl><a NAME="ViewManager.getOpenEditorsForSession" ID="ViewManager.getOpenEditorsForSession"></a> +<h4>ViewManager.getOpenEditorsForSession</h4> +<b>getOpenEditorsForSession</b>(<i></i>) +<p> + Public method to get a lists of all open editors. +</p><p> + The returned list contains one list per split view. If the view manager + cannot split the view, only one list of editors is returned. +</p><p> + Note: This method should be implemented by subclasses. +</p><dl> +<dt>Returns:</dt> +<dd> +list of list of editor references +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +list of list of Editor +</dd> </dl><a NAME="ViewManager.getOpenFilenames" ID="ViewManager.getOpenFilenames"></a> <h4>ViewManager.getOpenFilenames</h4> <b>getOpenFilenames</b>(<i></i>) @@ -2748,19 +2790,33 @@ Public slot to generate a new empty editor. </p><a NAME="ViewManager.newEditorView" ID="ViewManager.newEditorView"></a> <h4>ViewManager.newEditorView</h4> -<b>newEditorView</b>(<i>fn, caller, filetype=""</i>) +<b>newEditorView</b>(<i>fn, caller, filetype="", indexes=None</i>) <p> Public method to create a new editor displaying the given document. </p><dl> -<dt><i>fn</i></dt> +<dt><i>fn</i> (str)</dt> <dd> filename of this view -</dd><dt><i>caller</i></dt> +</dd><dt><i>caller</i> (Editor)</dt> <dd> reference to the editor calling this method -</dd><dt><i>filetype</i></dt> +</dd><dt><i>filetype</i> (str)</dt> +<dd> +type of the source file +</dd><dt><i>indexes</i> (tuple of two int)</dt> <dd> -type of the source file (string) +of the editor, first the split view index, second the + index within the view +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +reference to the new editor object +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +Editor </dd> </dl><a NAME="ViewManager.nextSplit" ID="ViewManager.nextSplit"></a> <h4>ViewManager.nextSplit</h4> @@ -2779,34 +2835,48 @@ </dd> </dl><a NAME="ViewManager.openSourceFile" ID="ViewManager.openSourceFile"></a> <h4>ViewManager.openSourceFile</h4> -<b>openSourceFile</b>(<i>fn, lineno=-1, filetype="", selStart=0, selEnd=0, pos=0, addNext=False</i>) +<b>openSourceFile</b>(<i>fn, lineno=-1, filetype="", selStart=0, selEnd=0, pos=0, addNext=False, indexes=None</i>) <p> Public slot to display a file in an editor. </p><dl> -<dt><i>fn</i></dt> +<dt><i>fn</i> (str)</dt> <dd> -name of file to be opened (string) -</dd><dt><i>lineno</i></dt> +name of file to be opened +</dd><dt><i>lineno</i> (int or list of int)</dt> <dd> -line number to place the cursor at (integer) or - list of line numbers (list of integers) (cursor will be - placed at the next line greater than the current one) -</dd><dt><i>filetype</i></dt> +line number to place the cursor at or list of line + numbers (cursor will be placed at the next line greater than + the current one) +</dd><dt><i>filetype</i> (str)</dt> <dd> -type of the source file (string) -</dd><dt><i>selStart</i></dt> +type of the source file +</dd><dt><i>selStart</i> (int)</dt> <dd> -start of an area to be selected (integer) -</dd><dt><i>selEnd</i></dt> +start of an area to be selected +</dd><dt><i>selEnd</i> (int)</dt> <dd> -end of an area to be selected (integer) -</dd><dt><i>pos</i></dt> +end of an area to be selected +</dd><dt><i>pos</i> (int)</dt> <dd> -position within the line to place the cursor at (integer) -</dd><dt><i>addNext</i></dt> +position within the line to place the cursor at +</dd><dt><i>addNext</i> (bool)</dt> <dd> flag indicating to add the file next to the current - editor (bool) + editor +</dd><dt><i>indexes</i> (tuple of two int)</dt> +<dd> +of the editor, first the split view index, second the + index within the view +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +reference to the opened editor +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +Editor </dd> </dl><a NAME="ViewManager.preferencesChanged" ID="ViewManager.preferencesChanged"></a> <h4>ViewManager.preferencesChanged</h4> @@ -2893,13 +2963,25 @@ </dd> </dl><a NAME="ViewManager.removeSplit" ID="ViewManager.removeSplit"></a> <h4>ViewManager.removeSplit</h4> -<b>removeSplit</b>(<i></i>) +<b>removeSplit</b>(<i>index=-1</i>) <p> - Public method used to remove the current split view. + Public method used to remove the current split view or a split view + by index. </p><dl> +<dt><i>index</i> (int)</dt> +<dd> +index of the split to be removed (-1 means to + delete the current split) +</dd> +</dl><dl> <dt>Returns:</dt> <dd> -Flag indicating successful deletion +flag indicating successful deletion +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool </dd> </dl><a NAME="ViewManager.replaceWidget" ID="ViewManager.replaceWidget"></a> <h4>ViewManager.replaceWidget</h4> @@ -3118,6 +3200,16 @@ <dd> reference to the zoom widget (E5ZoomWidget) </dd> +</dl><a NAME="ViewManager.setSplitCount" ID="ViewManager.setSplitCount"></a> +<h4>ViewManager.setSplitCount</h4> +<b>setSplitCount</b>(<i>count</i>) +<p> + Public method to set the number of split views. +</p><dl> +<dt><i>count</i> (int)</dt> +<dd> +number of split views +</dd> </dl><a NAME="ViewManager.setSplitOrientation" ID="ViewManager.setSplitOrientation"></a> <h4>ViewManager.setSplitOrientation</h4> <b>setSplitOrientation</b>(<i>orientation</i>) @@ -3198,6 +3290,21 @@ <dd> Not implemented </dd> +</dl><a NAME="ViewManager.splitCount" ID="ViewManager.splitCount"></a> +<h4>ViewManager.splitCount</h4> +<b>splitCount</b>(<i></i>) +<p> + Public method to get the number of split views. +</p><dl> +<dt>Returns:</dt> +<dd> +number of split views +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +int +</dd> </dl><a NAME="ViewManager.startSharedEdit" ID="ViewManager.startSharedEdit"></a> <h4>ViewManager.startSharedEdit</h4> <b>startSharedEdit</b>(<i></i>)
--- a/E5XML/Config.py Sun Dec 31 18:54:06 2017 +0100 +++ b/E5XML/Config.py Mon Jan 01 19:06:33 2018 +0100 @@ -18,7 +18,7 @@ userProjectFileFormatVersion = "4.0" # version number of the project session file -sessionFileFormatVersion = "6.0" +sessionFileFormatVersion = "6.1" # version number of the shortcuts file shortcutsFileFormatVersion = "3.6"
--- a/E5XML/SessionReader.py Sun Dec 31 18:54:06 2017 +0100 +++ b/E5XML/SessionReader.py Mon Jan 01 19:06:33 2018 +0100 @@ -19,14 +19,16 @@ """ Class for reading an XML session file. """ - supportedVersions = ["4.3", "4.4", "5.0", "6.0"] + supportedVersions = ["4.3", "4.4", "5.0", "6.0", "6.1"] def __init__(self, device, isGlobal): """ Constructor - @param device reference to the I/O device to read from (QIODevice) - @param isGlobal flag indicating to read the global session (boolean). + @param device reference to the I/O device to read from + @type QIODevice + @param isGlobal flag indicating to read the global session + @type bool """ XMLStreamReaderBase.__init__(self, device) @@ -56,7 +58,8 @@ Public method to read and parse the XML document. @param quiet flag indicating quiet operations. - If this flag is true, no errors are reported. + If this flag is true, no errors are reported. + @type bool """ while not self.atEnd(): self.readNext() @@ -92,6 +95,11 @@ self.__readBookmarks() elif self.name() == "ProjectBrowserStates": self.__readProjectBrowserStates() + elif self.name() == "ViewManagerSplits": + splitCount = int(self.attribute("count", "0")) + orientation = int(self.attribute("orientation", "1")) + self.vm.setSplitOrientation(orientation) + self.vm.setSplitCount(splitCount) else: self.raiseUnexpectedStartTag(self.name()) @@ -102,6 +110,7 @@ """ Private method to read the file name infos. """ + editorDict = {} while not self.atEnd(): self.readNext() if self.isEndElement() and self.name() == "Filenames": @@ -117,10 +126,20 @@ else: folds = [] zoom = int(self.attribute("zoom", "-9999")) + cloned = bool(int(self.attribute("cloned", "0"))) + splitIndex = int(self.attribute("splitindex", "0")) + editorIndex = int(self.attribute("editorindex", "-1")) filename = self.readElementText() - self.vm.openFiles(filename) - ed = self.vm.getOpenEditor(filename) + if cloned and filename in editorDict: + editor = editorDict[filename] + ed = self.vm.newEditorView( + filename, editor, editor.getFileType(), + indexes=(splitIndex, editorIndex)) + else: + ed = self.vm.openSourceFile( + filename, indexes=(splitIndex, editorIndex)) + editorDict[filename] = ed if ed is not None: if zoom > -9999: ed.zoomTo(zoom) @@ -366,7 +385,8 @@ """ Private method to read the project browser state info. - @param browserName name of the project browser (string) + @param browserName name of the project browser + @type str """ expandedNames = []
--- a/E5XML/SessionWriter.py Sun Dec 31 18:54:06 2017 +0100 +++ b/E5XML/SessionWriter.py Mon Jan 01 19:06:33 2018 +0100 @@ -27,9 +27,11 @@ """ Constructor - @param device reference to the I/O device to write to (QIODevice) - @param projectName name of the project (string) or None for the + @param device reference to the I/O device to write to + @type QIODevice + @param projectName name of the project or None for the global session + @type str or None """ XMLStreamWriterBase.__init__(self, device) @@ -75,36 +77,44 @@ self.writeTextElement("Project", self.project.getProjectFile()) # step 1: save all open (project) filenames and the active window - allOpenFiles = self.vm.getOpenFilenames() + if self.vm.canSplit(): + self.writeEmptyElement("ViewManagerSplits") + self.writeAttribute("count", str(self.vm.splitCount())) + self.writeAttribute("orientation", + str(self.vm.getSplitOrientation())) + + allOpenEditorLists = self.vm.getOpenEditorsForSession() + editorDict = {} # remember editors by file name to detect clones self.writeStartElement("Filenames") - for of in allOpenFiles: - if isGlobal or of.startswith(self.project.ppath): - ed = self.vm.getOpenEditor(of) - if ed is not None: - line, index = ed.getCursorPosition() + for splitIndex, openEditorList in enumerate(allOpenEditorLists): + for editorIndex, editor in enumerate(openEditorList): + fileName = editor.getFileName() + if isGlobal or self.project.isProjectFile(fileName): + line, index = editor.getCursorPosition() folds = ','.join( - [str(i + 1) for i in ed.contractedFolds()]) - zoom = ed.getZoom() - else: - line, index = 0, 0 - folds = '' - zoom = -9999 - self.writeStartElement("Filename") - self.writeAttribute("cline", str(line)) - self.writeAttribute("cindex", str(index)) - self.writeAttribute("folds", folds) - self.writeAttribute("zoom", str(zoom)) - self.writeCharacters(of) - self.writeEndElement() + [str(i + 1) for i in editor.contractedFolds()]) + zoom = editor.getZoom() + if fileName in editorDict: + isClone = int(editorDict[fileName].isClone(editor)) + else: + isClone = 0 + editorDict[fileName] = editor + self.writeStartElement("Filename") + self.writeAttribute("cline", str(line)) + self.writeAttribute("cindex", str(index)) + self.writeAttribute("folds", folds) + self.writeAttribute("zoom", str(zoom)) + self.writeAttribute("cloned", str(isClone)) + self.writeAttribute("splitindex", str(splitIndex)) + self.writeAttribute("editorindex", str(editorIndex)) + self.writeCharacters(fileName) + self.writeEndElement() self.writeEndElement() aw = self.vm.getActiveName() - if aw and aw.startswith(self.project.ppath): + if aw and self.project.isProjectFile(aw): ed = self.vm.getOpenEditor(aw) - if ed is not None: - line, index = ed.getCursorPosition() - else: - line, index = 0, 0 + line, index = ed.getCursorPosition() self.writeStartElement("ActiveWindow") self.writeAttribute("cline", str(line)) self.writeAttribute("cindex", str(index)) @@ -220,12 +230,12 @@ # step 4: save bookmarks of all open (project) files self.writeStartElement("Bookmarks") - for of in allOpenFiles: - if isGlobal or of.startswith(self.project.ppath): - editor = self.vm.getOpenEditor(of) + for fileName in editorDict: + if isGlobal or self.project.isProjectFile(fileName): + editor = editorDict[fileName] for bookmark in editor.getBookmarks(): self.writeStartElement("Bookmark") - self.writeTextElement("BmFilename", of) + self.writeTextElement("BmFilename", fileName) self.writeEmptyElement("Linenumber") self.writeAttribute("value", str(bookmark)) self.writeEndElement()
--- a/Plugins/ViewManagerPlugins/Listspace/Listspace.py Sun Dec 31 18:54:06 2017 +0100 +++ b/Plugins/ViewManagerPlugins/Listspace/Listspace.py Mon Jan 01 19:06:33 2018 +0100 @@ -19,6 +19,7 @@ import QScintilla.Editor from QScintilla.Editor import Editor +from QScintilla.EditorAssembly import EditorAssembly import UI.PixmapCache @@ -31,7 +32,8 @@ """ Constructor - @param parent parent widget (QWidget) + @param parent parent widget + @type QWidget """ super(StackedWidget, self).__init__(parent) @@ -42,7 +44,7 @@ Public method to add a new widget. @param assembly editor assembly object to be added - (QScintilla.EditorAssembly.EditorAssembly) + @type QScintilla.EditorAssembly.EditorAssembly """ editor = assembly.getEditor() super(StackedWidget, self).addWidget(assembly) @@ -53,7 +55,8 @@ """ Public method to remove a widget. - @param widget widget to be removed (QWidget) + @param widget widget to be removed + @type QWidget """ if isinstance(widget, QScintilla.Editor.Editor): self.editors.remove(widget) @@ -64,7 +67,8 @@ """ Public method to get a reference to the current editor. - @return reference to the current editor (Editor) + @return reference to the current editor + @rtype Editor """ widget = super(StackedWidget, self).currentWidget() if widget is not None: @@ -75,7 +79,8 @@ """ Public method to set the current widget. - @param widget widget to be made current (QWidget) + @param widget widget to be made current + @type QWidget """ if widget is not None: if isinstance(widget, QScintilla.Editor.Editor): @@ -88,7 +93,8 @@ """ Public method to set the current widget by its index. - @param index index of widget to be made current (integer) + @param index index of widget to be made current + @type int """ widget = self.widget(index) if widget is not None: @@ -121,8 +127,10 @@ Public method to check for an editor. @param editor editor object to check for + @type Editor @return flag indicating, whether the editor to be checked belongs to the list of editors managed by this stacked widget. + @rtype bool """ return editor in self.editors @@ -131,7 +139,8 @@ Public method to retrieve the first editor in the list of managed editors. - @return first editor in list (QScintilla.Editor.Editor) + @return first editor in list + @rtype QScintilla.Editor.Editor """ return len(self.editors) and self.editors[0] or None @@ -195,7 +204,8 @@ """ Constructor - @param parent parent widget (QWidget) + @param parent parent widget + @type QWidget """ self.stacks = [] @@ -273,7 +283,8 @@ Private slot to handle the customContextMenuRequested signal of the viewlist. - @param point position to open the menu at (QPoint) + @param point position to open the menu at + @type QPoint """ if self.editors: itm = self.viewlist.itemAt(point) @@ -313,6 +324,7 @@ Public method to signal if cascading of managed windows is available. @return flag indicating cascading of windows is available + @rtype bool """ return False @@ -321,6 +333,7 @@ Public method to signal if tiling of managed windows is available. @return flag indicating tiling of windows is available + @rtype bool """ return False @@ -328,7 +341,8 @@ """ public method to signal if splitting of the view is available. - @return flag indicating splitting of the view is available. + @return flag indicating splitting of the view is available + @rtype bool """ return True @@ -361,6 +375,7 @@ Protected method to remove a view (i.e. window). @param win editor window to be removed + @type Editor """ self.__inRemoveView = True ind = self.editors.index(win) @@ -393,15 +408,22 @@ self.changeCaption.emit("") self.editorChangedEd.emit(aw) - def _addView(self, win, fn=None, noName="", addNext=False): + def _addView(self, win, fn=None, noName="", addNext=False, indexes=None): """ Protected method to add a view (i.e. window). @param win editor assembly to be added - @param fn filename of this editor (string) - @param noName name to be used for an unnamed editor (string) + @type EditorAssembly + @param fn filename of this editor + @type str + @param noName name to be used for an unnamed editor + @type str @param addNext flag indicating to add the view next to the current - view (bool) + view + @type bool + @param indexes of the editor, first the split view index, second the + index within the view + @type tuple of two int """ editor = win.getEditor() if fn is None: @@ -417,8 +439,15 @@ itm = QListWidgetItem(txt) itm.setToolTip(fn) self.viewlist.addItem(itm) - self.currentStack.addWidget(win) - self.currentStack.setCurrentWidget(win) + if indexes: + if indexes[0] < len(self.stacks): + stack = self.stacks[indexes[0]] + else: + stack = self.stacks[-1] + stack.addWidget(win) + else: + self.currentStack.addWidget(win) + self.currentStack.setCurrentWidget(win) editor.captionChanged.connect(self.__captionChange) editor.cursorLineChanged.connect(self.__cursorLineChanged) @@ -439,8 +468,10 @@ Updates the listwidget text to reflect the new caption information. - @param cap Caption for the editor (string) + @param cap Caption for the editor + @type str @param editor Editor to update the caption for + @type Editor """ fn = editor.getFileName() if fn: @@ -451,6 +482,7 @@ Private slot to handle a change of the current editor's cursor line. @param lineno line number of the current editor's cursor (zero based) + @type int """ editor = self.sender() if editor: @@ -463,7 +495,9 @@ Protected method to show a view (i.e. window). @param win editor assembly to be shown - @param fn filename of this editor (string) + @type EditorAssembly + @param fn filename of this editor + @type string """ editor = win.getEditor() for stack in self.stacks: @@ -487,7 +521,8 @@ """ Private slot called to show a view selected in the list. - @param row row number of the item clicked on (integer) + @param row row number of the item clicked on + @type int """ if row != -1: self._showView(self.editors[row].parent()) @@ -498,6 +533,7 @@ Public method to return the active (i.e. current) window. @return reference to the active editor + @rtype EditorAssembly """ return self.currentStack.currentWidget() @@ -506,6 +542,7 @@ Public method to set up the viewmanager part of the Window menu. @param windowMenu reference to the window menu + @type QMenu """ pass @@ -521,7 +558,9 @@ Public method to change the displayed name of the editor. @param editor editor window to be changed - @param newName new name to be shown (string) + @type Editor + @param newName new name to be shown + @type str """ if newName: currentRow = self.viewlist.currentRow() @@ -540,8 +579,10 @@ """ Protected slot to handle the modificationStatusChanged signal. - @param m flag indicating the modification status (boolean) + @param m flag indicating the modification status + @type bool @param editor editor window changed + @type Editor """ currentRow = self.viewlist.currentRow() index = self.editors.index(editor) @@ -565,6 +606,7 @@ Protected slot to handle the syntaxerrorToggled signal. @param editor editor that sent the signal + @type Editor """ currentRow = self.viewlist.currentRow() index = self.editors.index(editor) @@ -605,14 +647,25 @@ self.nextSplitAct.setEnabled(True) self.prevSplitAct.setEnabled(True) - def removeSplit(self): + def removeSplit(self, index=-1): """ - Public method used to remove the current split view. + Public method used to remove the current split view or a split view + by index. - @return flag indicating successfull removal + @param index index of the split to be removed (-1 means to + delete the current split) + @type int + @return flag indicating successful deletion + @rtype bool """ if len(self.stacks) > 1: - stack = self.currentStack + if index == -1: + stack = self.currentStack + else: + if index < len(self.stacks): + stack = self.stacks[index] + else: + stack = self.stacks[-1] res = True savedEditors = stack.editors[:] for editor in savedEditors: @@ -635,11 +688,36 @@ return False + def splitCount(self): + """ + Public method to get the number of splitted views. + + @return number of splitted views + @rtype int + """ + return len(self.stacks) + + def setSplitCount(self, count): + """ + Public method to set the number of split views. + + @param count number of split views + @type int + """ + if count > self.splitCount(): + while self.splitCount() < count: + self.addSplit() + elif count < self.splitCount(): + while self.splitCount() > count: + # use an arbitrarily large index to remove the last one + self.removeSplit(index=100) + def getSplitOrientation(self): """ Public method to get the orientation of the split view. - @return orientation of the split (Qt.Horizontal or Qt.Vertical) + @return orientation of the split + @rtype Qt.Horizontal or Qt.Vertical """ return self.stackArea.orientation() @@ -648,7 +726,7 @@ Public method used to set the orientation of the split view. @param orientation orientation of the split - (Qt.Horizontal or Qt.Vertical) + @type Qt.Horizontal or Qt.Vertical """ self.stackArea.setOrientation(orientation) @@ -774,6 +852,7 @@ Private slot to handle the currentChanged signal. @param index index of the current editor + @type int """ if index == -1 or not self.editors: return @@ -803,8 +882,11 @@ Public method called to filter the event queue. @param watched the QObject being watched + @type QObject @param event the event that occurred + @type QEvent @return flag indicating, if we handled the event + @rtype bool """ if event.type() == QEvent.MouseButtonPress and \ not event.button() == Qt.RightButton: @@ -839,3 +921,24 @@ self.editorChangedEd.emit(aw) return False + + def getOpenEditorsForSession(self): + """ + Public method to get a lists of all open editors. + + The returned list contains one list per split view. If the view manager + cannot split the view, only one list of editors is returned. + + @return list of list of editor references + @rtype list of list of Editor + """ + editorLists = [] + for stack in self.stacks: + editors = [] + for index in range(stack.count()): + widget = stack.widget(index) + if isinstance(widget, EditorAssembly): + editor = widget.getEditor() + editors.append(editor) + editorLists.append(editors) + return editorLists
--- a/Plugins/ViewManagerPlugins/Tabview/Tabview.py Sun Dec 31 18:54:06 2017 +0100 +++ b/Plugins/ViewManagerPlugins/Tabview/Tabview.py Mon Jan 01 19:06:33 2018 +0100 @@ -23,6 +23,7 @@ import QScintilla.Editor from QScintilla.Editor import Editor +from QScintilla.EditorAssembly import EditorAssembly import UI.PixmapCache @@ -58,7 +59,8 @@ """ Constructor - @param parent reference to the parent widget (QWidget) + @param parent reference to the parent widget + @type QWidget """ super(TabBar, self).__init__(parent) self.setAcceptDrops(True) @@ -69,7 +71,8 @@ """ Protected method to handle mouse press events. - @param event reference to the mouse press event (QMouseEvent) + @param event reference to the mouse press event + @type QMouseEvent """ if event.button() == Qt.LeftButton: self.__dragStartPos = QPoint(event.pos()) @@ -79,7 +82,8 @@ """ Protected method to handle mouse move events. - @param event reference to the mouse move event (QMouseEvent) + @param event reference to the mouse move event + @type QMouseEvent """ if event.buttons() == Qt.MouseButtons(Qt.LeftButton) and \ (event.pos() - self.__dragStartPos).manhattanLength() > \ @@ -107,7 +111,8 @@ """ Protected method to handle drag enter events. - @param event reference to the drag enter event (QDragEnterEvent) + @param event reference to the drag enter event + @type QDragEnterEvent """ mimeData = event.mimeData() formats = mimeData.formats() @@ -123,7 +128,8 @@ """ Protected method to handle drop events. - @param event reference to the drop event (QDropEvent) + @param event reference to the drop event + @type QDropEvent """ mimeData = event.mimeData() oldID = int(mimeData.data("tabbar-id")) @@ -158,7 +164,8 @@ """ Constructor - @param vm view manager widget (Tabview) + @param vm view manager widget + @type Tabview """ super(TabWidget, self).__init__() @@ -286,8 +293,10 @@ """ Private slot to show the tab context menu. - @param coord the position of the mouse pointer (QPoint) - @param index index of the tab the menu is requested for (integer) + @param coord the position of the mouse pointer + @type QPoint + @param index index of the tab the menu is requested for + @type int """ if self.editors: self.contextMenuEditor = self.widget(index).getEditor() @@ -327,7 +336,8 @@ """ Private slot called to handle the navigation button menu selection. - @param act reference to the selected action (QAction) + @param act reference to the selected action + @type QAction """ index = act.data() if index is not None: @@ -337,7 +347,8 @@ """ Public slot to set the indicator on or off. - @param on flag indicating the dtate of the indicator (boolean) + @param on flag indicating the state of the indicator + @type bool """ if on: self.indicator.setColor(QColor("green")) @@ -349,8 +360,9 @@ Public method to add a new tab. @param assembly editor assembly object to be added - (QScintilla.EditorAssembly.EditorAssembly) - @param title title for the new tab (string) + @type QScintilla.EditorAssembly.EditorAssembly + @param title title for the new tab + @type str """ editor = assembly.getEditor() super(TabWidget, self).addTab( @@ -374,11 +386,14 @@ """ Public method to insert a new tab. - @param index index position for the new tab (integer) + @param index index position for the new tab + @type int @param assembly editor assembly object to be added - (QScintilla.EditorAssembly.EditorAssembly) - @param title title for the new tab (string) - @return index of the inserted tab (integer) + @type QScintilla.EditorAssembly.EditorAssembly + @param title title for the new tab + @type str + @return index of the inserted tab + @rtype int """ editor = assembly.getEditor() newIndex = super(TabWidget, self).insertTab( @@ -409,7 +424,9 @@ information. @param cap Caption for the editor + @type str @param editor Editor to update the caption for + @type Editor """ fn = editor.getFileName() if fn: @@ -436,6 +453,7 @@ Private slot to handle a change of the current editor's cursor line. @param lineno line number of the current editor's cursor (zero based) + @type int """ editor = self.sender() if editor and isinstance(editor, QScintilla.Editor.Editor): @@ -447,7 +465,8 @@ """ Public method to remove a widget. - @param widget widget to be removed (QWidget) + @param widget widget to be removed + @type QWidget """ if isinstance(widget, QScintilla.Editor.Editor): widget.cursorLineChanged.disconnect(self.__cursorLineChanged) @@ -473,9 +492,12 @@ """ Private method to relocate an editor from another TabWidget. - @param sourceId id of the TabWidget to get the editor from (string) - @param sourceIndex index of the tab in the old tab widget (integer) - @param targetIndex index position to place it to (integer) + @param sourceId id of the TabWidget to get the editor from + @type str + @param sourceIndex index of the tab in the old tab widget + @type int + @param targetIndex index position to place it to + @type int """ tw = self.vm.getTabWidgetById(int(sourceId)) if tw is not None: @@ -502,9 +524,12 @@ """ Private method to copy an editor from another TabWidget. - @param sourceId id of the TabWidget to get the editor from (string) - @param sourceIndex index of the tab in the old tab widget (integer) - @param targetIndex index position to place it to (integer) + @param sourceId id of the TabWidget to get the editor from + @type str + @param sourceIndex index of the tab in the old tab widget + @type int + @param targetIndex index position to place it to + @type int """ tw = self.vm.getTabWidgetById(int(sourceId)) if tw is not None: @@ -518,8 +543,10 @@ """ Private method to copy an editor. - @param sourceIndex index of the tab (integer) - @param targetIndex index position to place it to (integer) + @param sourceIndex index of the tab + @type int + @param targetIndex index position to place it to + @type int """ editor = self.widget(sourceIndex).getEditor() newEditor, assembly = self.vm.cloneEditor( @@ -531,7 +558,8 @@ """ Public method to return a reference to the current page. - @return reference to the current page (Editor) + @return reference to the current page + @rtype Editor """ if not self.editors: return None @@ -543,7 +571,7 @@ Public method to set the current tab by the given editor assembly. @param assembly editor assembly to determine current tab from - (EditorAssembly.EditorAssembly) + @type EditorAssembly.EditorAssembly """ super(TabWidget, self).setCurrentWidget(assembly) @@ -551,8 +579,10 @@ """ Public method to get the tab index of the given editor. - @param widget widget to get the index for (QLabel or Editor) - @return tab index of the editor (integer) + @param widget widget to get the index for + @type QLabel or Editor + @return tab index of the editor + @rtype int """ if isinstance(widget, QScintilla.Editor.Editor): widget = widget.parent() @@ -563,8 +593,10 @@ Public method to check for an editor. @param editor editor object to check for + @type Editor @return flag indicating, whether the editor to be checked belongs to the list of editors managed by this tab widget. + @rtype bool """ return editor in self.editors @@ -573,6 +605,7 @@ Public method to test, if any editor is managed. @return flag indicating editors are managed + @rtype bool """ return len(self.editors) > 0 @@ -758,7 +791,8 @@ """ Constructor - @param parent parent widget (QWidget) + @param parent parent widget + @type QWidget """ self.tabWidgets = [] @@ -796,6 +830,7 @@ Public method to signal if cascading of managed windows is available. @return flag indicating cascading of windows is available + @rtype bool """ return False @@ -804,6 +839,7 @@ Public method to signal if tiling of managed windows is available. @return flag indicating tiling of windows is available + @rtype bool """ return False @@ -812,6 +848,7 @@ public method to signal if splitting of the view is available. @return flag indicating splitting of the view is available. + @rtype bool """ return True @@ -839,6 +876,7 @@ Protected method to remove a view (i.e. window). @param win editor window to be removed + @type Editor """ self.__inRemoveView = True for tw in self.tabWidgets: @@ -870,15 +908,22 @@ self.changeCaption.emit("") self.editorChangedEd.emit(aw) - def _addView(self, win, fn=None, noName="", addNext=False): + def _addView(self, win, fn=None, noName="", addNext=False, indexes=None): """ Protected method to add a view (i.e. window). @param win editor assembly to be added - @param fn filename of this editor (string) - @param noName name to be used for an unnamed editor (string) + @type EditorAssembly + @param fn filename of this editor + @type str + @param noName name to be used for an unnamed editor + @type str @param addNext flag indicating to add the view next to the current - view (bool) + view + @type bool + @param indexes of the editor, first the split view index, second the + index within the view + @type tuple of two int """ editor = win.getEditor() if fn is None: @@ -888,6 +933,12 @@ if addNext: index = self.currentTabWidget.currentIndex() + 1 self.currentTabWidget.insertWidget(index, win, noName) + elif indexes: + if indexes[0] < len(self.tabWidgets): + tw = self.tabWidgets[indexes[0]] + else: + tw = self.tabWidgets[-1] + tw.insertWidget(indexes[1], win, noName) else: self.currentTabWidget.addTab(win, noName) editor.setNoName(noName) @@ -903,6 +954,12 @@ if addNext: index = self.currentTabWidget.currentIndex() + 1 self.currentTabWidget.insertWidget(index, win, txt) + elif indexes: + if indexes[0] < len(self.tabWidgets): + tw = self.tabWidgets[indexes[0]] + else: + tw = self.tabWidgets[-1] + tw.insertWidget(indexes[1], win, txt) else: self.currentTabWidget.addTab(win, txt) index = self.currentTabWidget.indexOf(win) @@ -923,11 +980,15 @@ Public method to add a view (i.e. window). @param win editor assembly to be inserted + @type EditorAssembly @param tabWidget reference to the tab widget to insert the editor into - (TabWidget) - @param index index position to insert at (integer) - @param fn filename of this editor (string) - @param noName name to be used for an unnamed editor (string) + @type TabWidget + @param index index position to insert at + @type int + @param fn filename of this editor + @type str + @param noName name to be used for an unnamed editor + @type str """ editor = win.getEditor() if fn is None: @@ -966,7 +1027,9 @@ Protected method to show a view (i.e. window). @param win editor assembly to be shown - @param fn filename of this editor (string) + @type EditorAssembly + @param fn filename of this editor + @type str """ win.show() editor = win.getEditor() @@ -984,6 +1047,7 @@ Public method to return the active (i.e. current) window. @return reference to the active editor + @rtype Editor """ cw = self.currentTabWidget.currentWidget() if cw: @@ -996,6 +1060,7 @@ Public method to set up the viewmanager part of the Window menu. @param windowMenu reference to the window menu + @type QMenu """ pass @@ -1011,7 +1076,9 @@ Public method to change the displayed name of the editor. @param editor editor window to be changed - @param newName new name to be shown (string) + @type Editor + @param newName new name to be shown + @type str """ if newName: if self.filenameOnly: @@ -1029,8 +1096,10 @@ """ Protected slot to handle the modificationStatusChanged signal. - @param m flag indicating the modification status (boolean) + @param m flag indicating the modification status + @type bool @param editor editor window changed + @type Editor """ for tw in self.tabWidgets: if tw.hasEditor(editor): @@ -1053,6 +1122,7 @@ Protected slot to handle the syntaxerrorToggled signal. @param editor editor that sent the signal + @type Editor """ for tw in self.tabWidgets: if tw.hasEditor(editor): @@ -1095,14 +1165,25 @@ self.nextSplitAct.setEnabled(True) self.prevSplitAct.setEnabled(True) - def removeSplit(self): + def removeSplit(self, index=-1): """ - Public method used to remove the current split view. + Public method used to remove the current split view or a split view + by index. - @return flag indicating successfull removal + @param index index of the split to be removed (-1 means to + delete the current split) + @type int + @return flag indicating successful deletion + @rtype bool """ if len(self.tabWidgets) > 1: - tw = self.currentTabWidget + if index == -1: + tw = self.currentTabWidget + else: + if index < len(self.tabWidgets): + tw = self.tabWidgets[index] + else: + tw = self.tabWidgets[-1] res = True savedEditors = tw.editors[:] for editor in savedEditors: @@ -1133,11 +1214,36 @@ return False + def splitCount(self): + """ + Public method to get the number of splitted views. + + @return number of splitted views + @rtype int + """ + return len(self.tabWidgets) + + def setSplitCount(self, count): + """ + Public method to set the number of split views. + + @param count number of split views + @type int + """ + if count > self.splitCount(): + while self.splitCount() < count: + self.addSplit() + elif count < self.splitCount(): + while self.splitCount() > count: + # use an arbitrarily large index to remove the last one + self.removeSplit(index=100) + def getSplitOrientation(self): """ Public method to get the orientation of the split view. - @return orientation of the split (Qt.Horizontal or Qt.Vertical) + @return orientation of the split + @rtype Qt.Horizontal or Qt.Vertical """ return self.__splitter.orientation() @@ -1146,7 +1252,7 @@ Public method used to set the orientation of the split view. @param orientation orientation of the split - (Qt.Horizontal or Qt.Vertical) + @type Qt.Horizontal or Qt.Vertical """ self.__splitter.setOrientation(orientation) @@ -1190,7 +1296,8 @@ """ Private slot to handle the currentChanged signal. - @param index index of the current tab (integer) + @param index index of the current tab + @type int """ if index == -1 or not self.editors: return @@ -1216,9 +1323,12 @@ """ Public method called to filter the event queue. - @param watched the QObject being watched (QObject) - @param event the event that occurred (QEvent) + @param watched the QObject being watched + @type QObject + @param event the event that occurred + @type QEvent @return always False + @rtype bool """ if event.type() == QEvent.MouseButtonPress and \ not event.button() == Qt.RightButton: @@ -1290,10 +1400,33 @@ """ Public method to get a reference to a tab widget knowing its ID. - @param id_ id of the tab widget (long) - @return reference to the tab widget (TabWidget) + @param id_ id of the tab widget + @type int + @return reference to the tab widget + @rtype TabWidget """ for tw in self.tabWidgets: if id(tw) == id_: return tw return None + + def getOpenEditorsForSession(self): + """ + Public method to get a lists of all open editors. + + The returned list contains one list per split view. If the view manager + cannot split the view, only one list of editors is returned. + + @return list of list of editor references + @rtype list of list of Editor + """ + editorLists = [] + for tabWidget in self.tabWidgets: + editors = [] + for index in range(tabWidget.count()): + widget = tabWidget.widget(index) + if isinstance(widget, EditorAssembly): + editor = widget.getEditor() + editors.append(editor) + editorLists.append(editors) + return editorLists
--- a/QScintilla/Editor.py Sun Dec 31 18:54:06 2017 +0100 +++ b/QScintilla/Editor.py Mon Jan 01 19:06:33 2018 +0100 @@ -547,7 +547,8 @@ """ Public method to add a clone to our list. - @param editor reference to the cloned editor (Editor) + @param editor reference to the cloned editor + @type Editor """ self.__clones.append(editor) @@ -560,7 +561,8 @@ """ Public method to remove a clone from our list. - @param editor reference to the cloned editor (Editor) + @param editor reference to the cloned editor + @type Editor """ if editor in self.__clones: editor.editorRenamed.disconnect(self.fileRenamed) @@ -569,6 +571,17 @@ editor.encodingChanged.disconnect(self.__encodingChanged) self.__clones.remove(editor) + def isClone(self, editor): + """ + Public method to test, if the given editor is a clone. + + @param editor reference to the cloned editor + @type Editor + @return flag indicating a clone + @rtype bool + """ + return editor in self.__clones + def __bindName(self, line0): """ Private method to generate a dummy filename for binding a lexer.
--- a/ViewManager/ViewManager.py Sun Dec 31 18:54:06 2017 +0100 +++ b/ViewManager/ViewManager.py Mon Jan 01 19:06:33 2018 +0100 @@ -383,15 +383,22 @@ """ raise RuntimeError('Not implemented') - def _addView(self, win, fn=None, noName="", addNext=False): + def _addView(self, win, fn=None, noName="", addNext=False, indexes=None): """ Protected method to add a view (i.e. window). @param win editor assembly to be added + @type EditorAssembly @param fn filename of this editor - @param noName name to be used for an unnamed editor (string) + @type str + @param noName name to be used for an unnamed editor + @type str @param addNext flag indicating to add the view next to the current - view (bool) + view + @type bool + @param indexes of the editor, first the split view index, second the + index within the view + @type tuple of two int @exception RuntimeError Not implemented """ raise RuntimeError('Not implemented') @@ -471,14 +478,37 @@ """ pass - def removeSplit(self): - """ - Public method used to remove the current split view. - - @return Flag indicating successful deletion + def removeSplit(self, index=-1): + """ + Public method used to remove the current split view or a split view + by index. + + @param index index of the split to be removed (-1 means to + delete the current split) + @type int + @return flag indicating successful deletion + @rtype bool """ return False + def splitCount(self): + """ + Public method to get the number of split views. + + @return number of split views + @rtype int + """ + return 0 + + def setSplitCount(self, count): + """ + Public method to set the number of split views. + + @param count number of split views + @type int + """ + pass + def getSplitOrientation(self): """ Public method to get the orientation of the split view. @@ -4535,24 +4565,37 @@ self.__setSbFile() def openSourceFile(self, fn, lineno=-1, filetype="", - selStart=0, selEnd=0, pos=0, addNext=False): + selStart=0, selEnd=0, pos=0, addNext=False, + indexes=None): """ Public slot to display a file in an editor. - @param fn name of file to be opened (string) - @param lineno line number to place the cursor at (integer) or - list of line numbers (list of integers) (cursor will be - placed at the next line greater than the current one) - @param filetype type of the source file (string) - @param selStart start of an area to be selected (integer) - @param selEnd end of an area to be selected (integer) - @param pos position within the line to place the cursor at (integer) + @param fn name of file to be opened + @type str + @param lineno line number to place the cursor at or list of line + numbers (cursor will be placed at the next line greater than + the current one) + @type int or list of int + @param filetype type of the source file + @type str + @param selStart start of an area to be selected + @type int + @param selEnd end of an area to be selected + @type int + @param pos position within the line to place the cursor at + @type int @param addNext flag indicating to add the file next to the current - editor (bool) + editor + @type bool + @param indexes of the editor, first the split view index, second the + index within the view + @type tuple of two int + @return reference to the opened editor + @rtype Editor """ try: newWin, editor = self.getEditor(fn, filetype=filetype, - addNext=addNext) + addNext=addNext, indexes=indexes) except (IOError, UnicodeDecodeError): return @@ -4586,6 +4629,8 @@ # insert filename into list of recently opened files self.addToRecentList(fn) + return editor + def __connectEditor(self, editor): """ Private method to establish all editor connections. @@ -4621,19 +4666,29 @@ lambda: self.editorLanguageChanged.emit(editor)) editor.textChanged.connect(lambda: self.editorTextChanged.emit(editor)) - def newEditorView(self, fn, caller, filetype=""): + def newEditorView(self, fn, caller, filetype="", indexes=None): """ Public method to create a new editor displaying the given document. @param fn filename of this view + @type str @param caller reference to the editor calling this method - @param filetype type of the source file (string) + @type Editor + @param filetype type of the source file + @type str + @param indexes of the editor, first the split view index, second the + index within the view + @type tuple of two int + @return reference to the new editor object + @rtype Editor """ editor, assembly = self.cloneEditor(caller, filetype, fn) - self._addView(assembly, fn, caller.getNoName()) + self._addView(assembly, fn, caller.getNoName(), indexes=indexes) self._modificationStatusChanged(editor.isModified(), editor) self._checkActions(editor) + + return editor def cloneEditor(self, caller, filetype, fn): """ @@ -4837,7 +4892,7 @@ return filenames - def getEditor(self, fn, filetype="", addNext=False): + def getEditor(self, fn, filetype="", addNext=False, indexes=None): """ Public method to return the editor displaying the given file. @@ -4845,11 +4900,18 @@ created. @param fn filename to look for - @param filetype type of the source file (string) + @type str + @param filetype type of the source file + @type str @param addNext flag indicating that if a new editor needs to be - created, it should be added next to the current editor (bool) + created, it should be added next to the current editor + @type bool + @param indexes of the editor, first the split view index, second the + index within the view + @type tuple of two int @return tuple of two values giving a flag indicating a new window creation and a reference to the editor displaying this file + @rtype tuple of (bool, Editor) """ newWin = False editor = self.activeWindow() @@ -4871,7 +4933,7 @@ newWin = True if newWin: - self._addView(assembly, fn, addNext=addNext) + self._addView(assembly, fn, addNext=addNext, indexes=indexes) else: self._showView(editor.parent(), fn) @@ -4921,6 +4983,20 @@ count += 1 return count + def getOpenEditorsForSession(self): + """ + Public method to get a lists of all open editors. + + The returned list contains one list per split view. If the view manager + cannot split the view, only one list of editors is returned. + + Note: This method should be implemented by subclasses. + + @return list of list of editor references + @rtype list of list of Editor + """ + return [self.editors] + def getActiveName(self): """ Public method to retrieve the filename of the active window.
--- a/changelog Sun Dec 31 18:54:06 2017 +0100 +++ b/changelog Mon Jan 01 19:06:33 2018 +0100 @@ -1,5 +1,11 @@ Change Log ---------- +Version 18.02: +- bug fixes +- extended the session to store/retrieve the split views and the order of the + editors (**Note**: The new session file format is not backward compatible and + cannot be read by eric releases prior to 18.02) + Version 18.01: - bug fixes - Debugger / Breakpoint Viewer