Plugins/ViewManagerPlugins/Listspace/Listspace.py

changeset 4896
5ace700023de
parent 4631
5c1a96925da4
child 5152
e685f2398a95
diff -r 64fc1deaeadb -r 5ace700023de Plugins/ViewManagerPlugins/Listspace/Listspace.py
--- a/Plugins/ViewManagerPlugins/Listspace/Listspace.py	Mon Mar 28 11:52:38 2016 +0200
+++ b/Plugins/ViewManagerPlugins/Listspace/Listspace.py	Mon Mar 28 13:31:23 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):
         """

eric ide

mercurial