Mon, 28 Mar 2016 13:49:24 +0200
Merged with default branch.
Documentation/Help/source.qch | file | annotate | diff | comparison | revisions | |
UI/UserInterface.py | file | annotate | diff | comparison | revisions |
--- a/APIs/Python3/eric6.api Mon Mar 28 13:48:33 2016 +0200 +++ b/APIs/Python3/eric6.api Mon Mar 28 13:49:24 2016 +0200 @@ -6102,6 +6102,7 @@ eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.Listspace.eventFilter?4(watched, event) 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 @@ -6177,6 +6178,7 @@ eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.getTabWidgetById?4(id_) eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.insertView?4(win, tabWidget, index, fn=None, noName="") eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.lastEditorClosed?7 +eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.mainWidget?4() eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.nextSplit?4() eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.preferencesChanged?4() eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.Tabview.prevSplit?4() @@ -9434,6 +9436,7 @@ eric6.ViewManager.ViewManager.ViewManager.insertSymbol?4(txt) eric6.ViewManager.ViewManager.ViewManager.isConnected?4() 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.nextSplit?4()
--- a/APIs/Python3/eric6.bas Mon Mar 28 13:48:33 2016 +0200 +++ b/APIs/Python3/eric6.bas Mon Mar 28 13:49:24 2016 +0200 @@ -475,7 +475,7 @@ LexerYAML Lexer QsciLexerYAML LfConvertDataDialog QDialog Ui_LfConvertDataDialog LfRevisionsInputDialog QDialog Ui_LfRevisionsInputDialog -Listspace QSplitter ViewManager +Listspace ViewManager LogViewer QWidget LogViewerEdit QTextEdit LogViewerPage ConfigurationPageBase Ui_LogViewerPage @@ -732,7 +732,7 @@ TabWidget E5TabWidget TabnannyDialog QDialog Ui_TabnannyDialog TabnannyPlugin QObject -Tabview QSplitter ViewManager +Tabview ViewManager TagError Exception Task QTreeWidgetItem TaskFilterConfigDialog QDialog Ui_TaskFilterConfigDialog @@ -800,7 +800,7 @@ VcsStatusMonitorThread QThread VcsSubversionPlugin QObject VersionControl QObject -ViewManager QObject +ViewManager QWidget ViewProfileDialog QDialog ViewmanagerPage ConfigurationPageBase Ui_ViewmanagerPage VirusTotalAPI QObject
--- a/Documentation/Help/source.qhp Mon Mar 28 13:48:33 2016 +0200 +++ b/Documentation/Help/source.qhp Mon Mar 28 13:49:24 2016 +0200 @@ -8071,6 +8071,7 @@ <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.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" /> @@ -11995,6 +11996,7 @@ <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" /> + <keyword name="Tabview.mainWidget" id="Tabview.mainWidget" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.mainWidget" /> <keyword name="Tabview.nextSplit" id="Tabview.nextSplit" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.nextSplit" /> <keyword name="Tabview.preferencesChanged" id="Tabview.preferencesChanged" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.preferencesChanged" /> <keyword name="Tabview.prevSplit" id="Tabview.prevSplit" ref="eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html#Tabview.prevSplit" /> @@ -13183,6 +13185,7 @@ <keyword name="ViewManager.insertNumber" id="ViewManager.insertNumber" ref="eric6.ViewManager.ViewManager.html#ViewManager.insertNumber" /> <keyword name="ViewManager.insertSymbol" id="ViewManager.insertSymbol" ref="eric6.ViewManager.ViewManager.html#ViewManager.insertSymbol" /> <keyword name="ViewManager.isConnected" id="ViewManager.isConnected" ref="eric6.ViewManager.ViewManager.html#ViewManager.isConnected" /> + <keyword name="ViewManager.mainWidget" id="ViewManager.mainWidget" ref="eric6.ViewManager.ViewManager.html#ViewManager.mainWidget" /> <keyword name="ViewManager.newEditor" id="ViewManager.newEditor" ref="eric6.ViewManager.ViewManager.html#ViewManager.newEditor" /> <keyword name="ViewManager.newEditorView" id="ViewManager.newEditorView" ref="eric6.ViewManager.ViewManager.html#ViewManager.newEditorView" /> <keyword name="ViewManager.nextSplit" id="ViewManager.nextSplit" ref="eric6.ViewManager.ViewManager.html#ViewManager.nextSplit" />
--- a/Documentation/Source/eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html Mon Mar 28 13:48:33 2016 +0200 +++ b/Documentation/Source/eric6.Plugins.ViewManagerPlugins.Listspace.Listspace.html Mon Mar 28 13:49:24 2016 +0200 @@ -121,7 +121,7 @@ </dd> </dl> <h3>Derived from</h3> -QSplitter, ViewManager +ViewManager <h3>Class Attributes</h3> <table> <tr><td>None</td></tr> @@ -226,6 +226,9 @@ <td><a href="#Listspace.getSplitOrientation">getSplitOrientation</a></td> <td>Public method to get the orientation of the split view.</td> </tr><tr> +<td><a href="#Listspace.mainWidget">mainWidget</a></td> +<td>Public method to return a reference to the main Widget of a specific view manager subclass.</td> +</tr><tr> <td><a href="#Listspace.nextSplit">nextSplit</a></td> <td>Public slot used to move to the next split.</td> </tr><tr> @@ -525,6 +528,22 @@ <dd> orientation of the split (Qt.Horizontal or Qt.Vertical) </dd> +</dl><a NAME="Listspace.mainWidget" ID="Listspace.mainWidget"></a> +<h4>Listspace.mainWidget</h4> +<b>mainWidget</b>(<i></i>) +<p> + Public method to return a reference to the main Widget of a + specific view manager subclass. +</p><dl> +<dt>Returns:</dt> +<dd> +reference to the main widget +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +QWidget +</dd> </dl><a NAME="Listspace.nextSplit" ID="Listspace.nextSplit"></a> <h4>Listspace.nextSplit</h4> <b>nextSplit</b>(<i></i>)
--- a/Documentation/Source/eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html Mon Mar 28 13:48:33 2016 +0200 +++ b/Documentation/Source/eric6.Plugins.ViewManagerPlugins.Tabview.Tabview.html Mon Mar 28 13:49:24 2016 +0200 @@ -691,7 +691,7 @@ </dd> </dl> <h3>Derived from</h3> -QSplitter, ViewManager +ViewManager <h3>Class Attributes</h3> <table> <tr><td>None</td></tr> @@ -760,6 +760,9 @@ <td><a href="#Tabview.insertView">insertView</a></td> <td>Public method to add a view (i.e.</td> </tr><tr> +<td><a href="#Tabview.mainWidget">mainWidget</a></td> +<td>Public method to return a reference to the main Widget of a specific view manager subclass.</td> +</tr><tr> <td><a href="#Tabview.nextSplit">nextSplit</a></td> <td>Public slot used to move to the next split.</td> </tr><tr> @@ -1002,6 +1005,22 @@ <dd> name to be used for an unnamed editor (string) </dd> +</dl><a NAME="Tabview.mainWidget" ID="Tabview.mainWidget"></a> +<h4>Tabview.mainWidget</h4> +<b>mainWidget</b>(<i></i>) +<p> + Public method to return a reference to the main Widget of a + specific view manager subclass. +</p><dl> +<dt>Returns:</dt> +<dd> +reference to the main widget +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +QWidget +</dd> </dl><a NAME="Tabview.nextSplit" ID="Tabview.nextSplit"></a> <h4>Tabview.nextSplit</h4> <b>nextSplit</b>(<i></i>)
--- a/Documentation/Source/eric6.ViewManager.ViewManager.html Mon Mar 28 13:48:33 2016 +0200 +++ b/Documentation/Source/eric6.ViewManager.ViewManager.html Mon Mar 28 13:49:24 2016 +0200 @@ -201,7 +201,7 @@ </dd> </dl> <h3>Derived from</h3> -QObject +QWidget <h3>Class Attributes</h3> <table> <tr><td>None</td></tr> @@ -828,6 +828,9 @@ <td><a href="#ViewManager.isConnected">isConnected</a></td> <td>Public method to check the connection status of the IDE.</td> </tr><tr> +<td><a href="#ViewManager.mainWidget">mainWidget</a></td> +<td>Public method to return a reference to the main Widget of a specific view manager subclass.</td> +</tr><tr> <td><a href="#ViewManager.newEditor">newEditor</a></td> <td>Public slot to generate a new empty editor.</td> </tr><tr> @@ -2658,6 +2661,27 @@ <dd> flag indicating the connection status (boolean) </dd> +</dl><a NAME="ViewManager.mainWidget" ID="ViewManager.mainWidget"></a> +<h4>ViewManager.mainWidget</h4> +<b>mainWidget</b>(<i></i>) +<p> + Public method to return a reference to the main Widget of a + specific view manager subclass. +</p><dl> +<dt>Returns:</dt> +<dd> +reference to the main widget +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +QWidget +</dd> +</dl><dl> +<dt>Raises <b>RuntimeError</b>:</dt> +<dd> +Not implemented +</dd> </dl><a NAME="ViewManager.newEditor" ID="ViewManager.newEditor"></a> <h4>ViewManager.newEditor</h4> <b>newEditor</b>(<i></i>)
--- a/Plugins/ViewManagerPlugins/Listspace/Listspace.py Mon Mar 28 13:48:33 2016 +0200 +++ b/Plugins/ViewManagerPlugins/Listspace/Listspace.py Mon Mar 28 13:49:24 2016 +0200 @@ -136,7 +136,7 @@ return len(self.editors) and self.editors[0] or None -class Listspace(QSplitter, ViewManager): +class Listspace(ViewManager): """ Class implementing the listspace viewmanager class. @@ -199,22 +199,22 @@ """ self.stacks = [] - QSplitter.__init__(self, parent) + self.__splitter = QSplitter(parent) ViewManager.__init__(self) - self.setChildrenCollapsible(False) + self.__splitter.setChildrenCollapsible(False) self.viewlist = QListWidget(self) policy = self.viewlist.sizePolicy() policy.setHorizontalPolicy(QSizePolicy.Ignored) self.viewlist.setSizePolicy(policy) - self.addWidget(self.viewlist) + self.__splitter.addWidget(self.viewlist) self.viewlist.setContextMenuPolicy(Qt.CustomContextMenu) self.viewlist.currentRowChanged.connect(self.__showSelectedView) self.viewlist.customContextMenuRequested.connect(self.__showMenu) self.stackArea = QSplitter(self) self.stackArea.setChildrenCollapsible(False) - self.addWidget(self.stackArea) + self.__splitter.addWidget(self.stackArea) self.stackArea.setOrientation(Qt.Vertical) stack = StackedWidget(self.stackArea) self.stackArea.addWidget(stack) @@ -222,7 +222,8 @@ self.currentStack = stack stack.currentChanged.connect(self.__currentChanged) stack.installEventFilter(self) - self.setSizes([int(self.width() * 0.2), int(self.width() * 0.8)]) + self.__splitter.setSizes( + [int(self.width() * 0.2), int(self.width() * 0.8)]) # 20% for viewlist, 80% for the editors self.__inRemoveView = False @@ -296,6 +297,16 @@ self.viewlist.count() > 1) self.__menu.popup(self.viewlist.mapToGlobal(point)) + + def mainWidget(self): + """ + Public method to return a reference to the main Widget of a + specific view manager subclass. + + @return reference to the main widget + @rtype QWidget + """ + return self.__splitter def canCascade(self): """ @@ -654,8 +665,10 @@ if aw: aw.setFocus() - index = self.editors.index(self.currentStack.currentWidget()) - self.viewlist.setCurrentRow(index) + cw = self.currentStack.currentWidget() + if cw: + index = self.editors.index(cw) + self.viewlist.setCurrentRow(index) def prevSplit(self): """ @@ -672,8 +685,11 @@ aw = self.activeWindow() if aw: aw.setFocus() - index = self.editors.index(self.currentStack.currentWidget()) - self.viewlist.setCurrentRow(index) + + cw = self.currentStack.currentWidget() + if cw: + index = self.editors.index(cw) + self.viewlist.setCurrentRow(index) def __contextMenuClose(self): """
--- a/Plugins/ViewManagerPlugins/Tabview/Tabview.py Mon Mar 28 13:48:33 2016 +0200 +++ b/Plugins/ViewManagerPlugins/Tabview/Tabview.py Mon Mar 28 13:49:24 2016 +0200 @@ -699,7 +699,7 @@ self.vm.newEditor() -class Tabview(QSplitter, ViewManager): +class Tabview(ViewManager): """ Class implementing a tabbed viewmanager class embedded in a splitter. @@ -762,24 +762,34 @@ """ self.tabWidgets = [] - QSplitter.__init__(self, parent) + self.__splitter = QSplitter(parent) ViewManager.__init__(self) - self.setChildrenCollapsible(False) + self.__splitter.setChildrenCollapsible(False) tw = TabWidget(self) - self.addWidget(tw) + self.__splitter.addWidget(tw) self.tabWidgets.append(tw) self.currentTabWidget = tw self.currentTabWidget.showIndicator(True) tw.currentChanged.connect(self.__currentChanged) tw.installEventFilter(self) tw.tabBar().installEventFilter(self) - self.setOrientation(Qt.Vertical) + self.__splitter.setOrientation(Qt.Vertical) self.__inRemoveView = False self.maxFileNameChars = Preferences.getUI( "TabViewManagerFilenameLength") self.filenameOnly = Preferences.getUI("TabViewManagerFilenameOnly") + + def mainWidget(self): + """ + Public method to return a reference to the main Widget of a + specific view manager subclass. + + @return reference to the main widget + @rtype QWidget + """ + return self.__splitter def canCascade(self): """ @@ -1067,7 +1077,7 @@ """ tw = TabWidget(self) tw.show() - self.addWidget(tw) + self.__splitter.addWidget(tw) self.tabWidgets.append(tw) self.currentTabWidget.showIndicator(False) self.currentTabWidget = self.tabWidgets[-1] @@ -1075,11 +1085,11 @@ tw.currentChanged.connect(self.__currentChanged) tw.installEventFilter(self) tw.tabBar().installEventFilter(self) - if self.orientation() == Qt.Horizontal: + if self.__splitter.orientation() == Qt.Horizontal: size = self.width() else: size = self.height() - self.setSizes( + self.__splitter.setSizes( [int(size / len(self.tabWidgets))] * len(self.tabWidgets)) self.splitRemoveAct.setEnabled(True) self.nextSplitAct.setEnabled(True) @@ -1129,7 +1139,7 @@ @return orientation of the split (Qt.Horizontal or Qt.Vertical) """ - return self.orientation() + return self.__splitter.orientation() def setSplitOrientation(self, orientation): """ @@ -1138,7 +1148,7 @@ @param orientation orientation of the split (Qt.Horizontal or Qt.Vertical) """ - self.setOrientation(orientation) + self.__splitter.setOrientation(orientation) def nextSplit(self): """
--- a/UI/UserInterface.py Mon Mar 28 13:48:33 2016 +0200 +++ b/UI/UserInterface.py Mon Mar 28 13:49:24 2016 +0200 @@ -625,10 +625,10 @@ layout = QVBoxLayout() layout.setContentsMargins(1, 1, 1, 1) layout.setSpacing(1) - layout.addWidget(self.viewmanager) + layout.addWidget(self.viewmanager.mainWidget()) layout.addWidget(self.viewmanager.searchWidget()) layout.addWidget(self.viewmanager.replaceWidget()) - self.viewmanager.setSizePolicy( + self.viewmanager.mainWidget().setSizePolicy( QSizePolicy.Preferred, QSizePolicy.Expanding) leftWidget.setLayout(layout) self.viewmanager.searchWidget().hide()
--- a/ViewManager/ViewManager.py Mon Mar 28 13:48:33 2016 +0200 +++ b/ViewManager/ViewManager.py Mon Mar 28 13:49:24 2016 +0200 @@ -12,10 +12,10 @@ import os from PyQt5.QtCore import pyqtSignal, pyqtSlot, QSignalMapper, QTimer, \ - QFileInfo, QRegExp, QObject, Qt, QCoreApplication + QFileInfo, QRegExp, Qt, QCoreApplication from PyQt5.QtGui import QColor, QKeySequence, QPalette, QPixmap from PyQt5.QtWidgets import QLineEdit, QToolBar, QWidgetAction, QDialog, \ - QApplication, QMenu, QComboBox + QApplication, QMenu, QComboBox, QWidget from PyQt5.Qsci import QsciScintilla from E5Gui.E5Application import e5App @@ -85,7 +85,7 @@ super(QuickSearchLineEdit, self).focusInEvent(evt) # pass it on -class ViewManager(QObject): +class ViewManager(QWidget):##QObject): """ Base class inherited by all specific viewmanager classes. @@ -445,6 +445,17 @@ """ raise RuntimeError('Not implemented') + def mainWidget(self): + """ + Public method to return a reference to the main Widget of a + specific view manager subclass. + + @return reference to the main widget + @rtype QWidget + @exception RuntimeError Not implemented + """ + raise RuntimeError('Not implemented') + ##################################################################### ## methods above need to be implemented by a subclass #####################################################################