예제 #1
0
                    idx = tb.slotIndex(gp)
                    if idx>=0:
                        self.hide()
                        self.tabController.mergeTab(self, idx)
                elif (tb!=None and self.tabController.count()==0 and
                      self.isTabControllerUnderMouse(tb)):
                    self.hide()
                    self.tabController.mergeTab(self, 0)
                else:
                    self.move(self.windowRubberBand.pos())
            self.releaseMouse()
            self.setFocus(QtCore.Qt.MouseFocusReason)
            return True

        # MOUSE DOUBLE CLICK (QtCore.QEvent.NonClientAreaMouseButtonDblClick=176)
        elif e.type() in [QtCore.QEvent.MouseButtonDblClick, 176]:
            if (e.type()==176) or (e.buttons()&QtCore.Qt.LeftButton):
                self.hide()
                self.tabController.mergeTab(self, self.tabController.count())
                return True
            
        return QtGui.QDockWidget.event(self, e)

    def closeEvent(self, event):
        """ On close event dock the sheet back to the spreadsheet window """
        self.tabController.mergeTab(self, self.tabController.count())
        event.accept()

spreadsheetRegistry.registerSheet('StandardWidgetSheetTab',
                                  StandardWidgetSheetTab)
예제 #2
0
                    if idx >= 0:
                        self.hide()
                        self.tabController.mergeTab(self, idx)
                elif (tb != None and self.tabController.count() == 0
                      and self.isTabControllerUnderMouse(tb)):
                    self.hide()
                    self.tabController.mergeTab(self, 0)
                else:
                    self.move(self.windowRubberBand.pos())
            self.releaseMouse()
            self.setFocus(QtCore.Qt.MouseFocusReason)
            return True

        # MOUSE DOUBLE CLICK (QtCore.QEvent.NonClientAreaMouseButtonDblClick=176)
        elif e.type() in [QtCore.QEvent.MouseButtonDblClick, 176]:
            if (e.type() == 176) or (e.buttons() & QtCore.Qt.LeftButton):
                self.hide()
                self.tabController.mergeTab(self, self.tabController.count())
                return True

        return QtGui.QDockWidget.event(self, e)

    def closeEvent(self, event):
        """ On close event dock the sheet back to the spreadsheet window """
        self.tabController.mergeTab(self, self.tabController.count())
        event.accept()


spreadsheetRegistry.registerSheet('StandardWidgetSheetTab',
                                  StandardWidgetSheetTab)
                           tabLabel: str,
                           tabIndex: int,
                           curIndex: int) -> None
        Better candidate is decided merely if it is the current index
        
        """
        if self.isTabValid(tabWidget):
            better = False
            if self.sheetName != None and str(tabLabel) != str(self.sheetName):
                return
            if self.candidate != None:
                if self.candidate[2] == curIndex or tabIndex != curIndex:
                    return
            self.candidate = (tabWidget, tabLabel, tabIndex, curIndex)

    def setupCandidate(self, tabController):
        """ setupCandidate(tabController: SpreadsheetTabController) -> None
        Set up the sheet to be single-cell sheet
        
        """
        if self.candidate == None:
            candidate = StandardSingleCellSheetTab(tabController)
            index = tabController.addTabWidget(candidate, self.sheetName)
            tabController.setCurrentIndex(index)
            return candidate
        else:
            return self.candidate[0]


spreadsheetRegistry.registerSheet("StandardSingleCellSheetTab", StandardSingleCellSheetTab)
예제 #4
0
                           curIndex: int) -> None
        Better candidate is decided merely if it is the current index
        
        """
        if self.isTabValid(tabWidget):
            better = False
            if (self.sheetName != None
                    and str(tabLabel) != str(self.sheetName)):
                return
            if self.candidate != None:
                if self.candidate[2] == curIndex or tabIndex != curIndex:
                    return
            self.candidate = (tabWidget, tabLabel, tabIndex, curIndex)

    def setupCandidate(self, tabController):
        """ setupCandidate(tabController: SpreadsheetTabController) -> None
        Set up the sheet to be single-cell sheet
        
        """
        if self.candidate == None:
            candidate = StandardSingleCellSheetTab(tabController)
            index = tabController.addTabWidget(candidate, self.sheetName)
            tabController.setCurrentIndex(index)
            return candidate
        else:
            return self.candidate[0]


spreadsheetRegistry.registerSheet('StandardSingleCellSheetTab',
                                  StandardSingleCellSheetTab)