コード例 #1
0
 def eventFilter(self, obj, evt):
     """
     Protected method to handle some events for the tabbar.
     
     @param obj reference to the object (QObject)
     @param evt reference to the event object (QEvent)
     @return flag indicating, if the event was handled (boolean)
     """
     if obj == self.__tabBar:
         if evt.type() == QEvent.MouseButtonPress:
             pos = evt.pos()
             for i in range(self.__tabBar.count()):
                 if self.__tabBar.tabRect(i).contains(pos):
                     break
             
             if i == self.__tabBar.currentIndex():
                 if self.isMinimized():
                     self.expand()
                 else:
                     self.shrink()
                 return True
             elif self.isMinimized():
                 self.expand()
         elif evt.type() == QEvent.Wheel and not self.__stackedWidget.isHidden():
             if evt.delta() > 0:
                 self.prevTab()
             else:
                 self.nextTab()
             return True
     
     return QWidget.eventFilter(self, obj, evt)
コード例 #2
0
ファイル: PyEditor.py プロジェクト: sem23/roslab_ide
 def eventFilter(self, widget, event):
     if event.type() == QEvent.ShortcutOverride:
         if event.matches(QKeySequence.Save):
             self.save_package()
         event.accept()
         return True
     return QWidget.eventFilter(self, widget, event)
コード例 #3
0
    def eventFilter(self, obj, evt):
        """ Handle click events for the tabbar """

        if obj == self.__tabBar:
            if evt.type() == QEvent.MouseButtonPress:
                pos = evt.pos()

                index = self.__tabBar.count() - 1
                while index >= 0:
                    if self.__tabBar.tabRect(index).contains(pos):
                        break
                    index -= 1

                if index == self.__tabBar.currentIndex():
                    if self.isMinimized():
                        self.expand()
                    else:
                        self.shrink()
                    return True

                elif self.isMinimized():
                    if self.isTabEnabled(index):
                        self.expand()

        return QWidget.eventFilter(self, obj, evt)
コード例 #4
0
ファイル: sidebar.py プロジェクト: eaglexmw/codimension
    def eventFilter( self, obj, evt ):
        """ Handle click events for the tabbar """

        if obj == self.__tabBar:
            if evt.type() == QEvent.MouseButtonPress:
                pos = evt.pos()

                index = self.__tabBar.count() - 1
                while index >= 0:
                    if self.__tabBar.tabRect( index ).contains( pos ):
                        break
                    index -= 1

                if index == self.__tabBar.currentIndex():
                    if self.isMinimized():
                        self.expand()
                    else:
                        self.shrink()
                    return True

                elif self.isMinimized():
                    if self.isTabEnabled( index ):
                        self.expand()

        return QWidget.eventFilter( self, obj, evt )
コード例 #5
0
ファイル: dropshadow.py プロジェクト: yisuax11/orange2
 def eventFilter(self, obj, event):
     etype = event.type()
     if etype == QEvent.Move or etype == QEvent.Resize:
         self.__updateGeometry()
     elif etype == QEvent.Show:
         self.__updateGeometry()
         self.show()
     elif etype == QEvent.Hide:
         self.hide()
     return QWidget.eventFilter(self, obj, event)
コード例 #6
0
 def eventFilter(self, target, event):
     if target == self.tabWidget.closeBtn():
         if event.type() == QEvent.Enter:
             self.tabWidget.closeBtn().setStyleSheet("background:rgb(255, 255, 255)")
             self.tabWidget.closeBtn().setAutoFillBackground(True);
         elif event.type() == QEvent.Leave:
             self.tabWidget.closeBtn().setAutoFillBackground(False);
             return True
         
     return QWidget.eventFilter(self, target, event)
コード例 #7
0
ファイル: CodeBoxFieldEditor.py プロジェクト: tommo/gii
	def eventFilter( self, obj, ev ):
		e = ev.type()
		if obj == self:
			if e == QEvent.WindowDeactivate:
				obj.hide()
		elif obj == self.codeBox:
			if e == QEvent.KeyPress:
				if ( ev.key(), ev.modifiers() ) == ( Qt.Key_Return, Qt.ControlModifier ):
					self.apply()
					return True
		return QWidget.eventFilter( self, obj, ev )
コード例 #8
0
 def eventFilter(self, obj, ev):
     e = ev.type()
     if obj == self:
         if e == QEvent.WindowDeactivate:
             obj.hide()
     elif obj == self.codeBox:
         if e == QEvent.KeyPress:
             if (ev.key(), ev.modifiers()) == (Qt.Key_Return,
                                               Qt.ControlModifier):
                 self.apply()
                 return True
     return QWidget.eventFilter(self, obj, ev)
コード例 #9
0
ファイル: quickmenu.py プロジェクト: testmana2/orange
    def eventFilter(self, receiver, event):
        if event.type() == QEvent.MouseMove and isinstance(receiver, TabButton):
            pos = receiver.mapTo(self, event.pos())
            if self.__sloppyRegion.contains(pos):
                self.__setSloppyButton(receiver)
            else:
                if not receiver.isChecked():
                    index = [tab.button for tab in self.__tabs].index(receiver)
                    self.setCurrentIndex(index)
                # also update sloppy region if mouse is moved on the same icon
                self.__sloppyRegion = self.__calcSloppyRegion(pos)

        return QWidget.eventFilter(self, receiver, event)
コード例 #10
0
    def eventFilter(self, receiver, event):
        if event.type() == QEvent.MouseMove and \
                isinstance(receiver, TabButton):
            pos = receiver.mapTo(self, event.pos())
            if self.__sloppyRegion.contains(pos):
                self.__setSloppyButton(receiver)
            else:
                if not receiver.isChecked():
                    index = [tab.button for tab in self.__tabs].index(receiver)
                    self.setCurrentIndex(index)
                #also update sloppy region if mouse is moved on the same icon
                self.__sloppyRegion = self.__calcSloppyRegion(pos)

        return QWidget.eventFilter(self, receiver, event)
コード例 #11
0
ファイル: termwidget.py プロジェクト: daffodil/enki
 def eventFilter(self, obj, event):
     """QWidget.eventFilter implementation. Catches _edit key pressings. Processes some of them
     """
     if event.type() == QEvent.KeyPress:
         if event.matches(QKeySequence.MoveToNextLine):
             if self._edit.cursorPosition()[0] == (self._edit.lineCount() - 1):
                 self._onHistoryNext()
                 return True
         elif event.matches(QKeySequence.MoveToPreviousLine):
             if self._edit.cursorPosition()[0] == 0:
                 self._onHistoryPrev()
                 return True
         elif event.matches(QKeySequence.MoveToNextPage) or \
              event.matches(QKeySequence.MoveToPreviousPage):
             self._browser.keyPressEvent(event)
             return True
     
     return QWidget.eventFilter(self, obj, event)
コード例 #12
0
    def eventFilter(self, obj, event):
        if obj is self.__view and event.type() == QEvent.KeyPress:
            key = event.key()

            space_activates = \
                self.style().styleHint(
                        QStyle.SH_Menu_SpaceActivatesItem,
                        None, None)

            if key in [Qt.Key_Enter, Qt.Key_Return, Qt.Key_Select] or \
                    (key == Qt.Key_Space and space_activates):
                index = self.__view.currentIndex()
                if index.isValid() and index.flags() & Qt.ItemIsEnabled:
                    # Emit activated on behalf of QTreeView.
                    self.__view.activated.emit(index)
                return True

        return QWidget.eventFilter(self, obj, event)
コード例 #13
0
ファイル: termwidget.py プロジェクト: MagSec-Arts/enki
    def eventFilter(self, obj, event):
        pass  # suppress docsting for non-public method
        """QWidget.eventFilter implementation. Catches _edit key pressings. Processes some of them
        """
        if event.type() == QEvent.KeyPress:
            if event.matches(QKeySequence.MoveToNextLine):
                if self._edit.cursorPosition[0] == (len(self._edit.lines) - 1):
                    self._onHistoryNext()
                    return True
            elif event.matches(QKeySequence.MoveToPreviousLine):
                if self._edit.cursorPosition[0] == 0:
                    self._onHistoryPrev()
                    return True
            elif event.matches(QKeySequence.MoveToNextPage) or \
                 event.matches(QKeySequence.MoveToPreviousPage):
                self._browser.keyPressEvent(event)
                return True
            elif event.matches(QKeySequence.InsertParagraphSeparator):
                return self._editNewLineEvent()

        return QWidget.eventFilter(self, obj, event)
コード例 #14
0
ファイル: termwidget.py プロジェクト: y0no/enki
 def eventFilter(self, obj, event):
     pass # suppress docsting for non-public method
     """QWidget.eventFilter implementation. Catches _edit key pressings. Processes some of them
     """
     if event.type() == QEvent.KeyPress:
         if event.matches(QKeySequence.MoveToNextLine):
             if self._edit.cursorPosition[0] == (len(self._edit.lines) - 1):
                 self._onHistoryNext()
                 return True
         elif event.matches(QKeySequence.MoveToPreviousLine):
             if self._edit.cursorPosition[0] == 0:
                 self._onHistoryPrev()
                 return True
         elif event.matches(QKeySequence.MoveToNextPage) or \
              event.matches(QKeySequence.MoveToPreviousPage):
             self._browser.keyPressEvent(event)
             return True
         elif event.matches(QKeySequence.InsertParagraphSeparator):
              return self._editNewLineEvent()
     
     return QWidget.eventFilter(self, obj, event)