コード例 #1
0
ファイル: xconsoleedit.py プロジェクト: zengjunfeng/projexui
    def eventFilter(self, obj, event):
        """
        Filters particular events for a given QObject through this class. \
        Will use this to intercept events to the completer tree widget while \
        filtering.
        
        :param      obj     | <QObject>
                    event   | <QEvent>
        
        :return     <bool> consumed
        """
        if not obj == self._completerTree:
            return False

        if event.type() != event.KeyPress:
            return False

        if event.key() == Qt.Key_Escape:
            QToolTip.hideText()
            self.cancelCompletion()
            return False

        elif event.key() in (Qt.Key_Enter, Qt.Key_Return, Qt.Key_Tab):
            self.acceptCompletion()
            return False

        elif event.key() in (Qt.Key_Up, Qt.Key_Down, Qt.Key_PageUp,
                             Qt.Key_PageDown):
            return False

        else:
            self.keyPressEvent(event)

            # update the completer
            cursor = self.textCursor()
            text = projex.text.nativestring(cursor.block().text())
            text = text[:cursor.columnNumber()].split(' ')[-1]
            text = text.split('.')[-1]

            self._completerTree.blockSignals(True)
            self._completerTree.setUpdatesEnabled(False)

            self._completerTree.setCurrentItem(None)

            for i in range(self._completerTree.topLevelItemCount()):
                item = self._completerTree.topLevelItem(i)
                if projex.text.nativestring(item.text(0)).startswith(text):
                    self._completerTree.setCurrentItem(item)
                    break

            self._completerTree.blockSignals(False)
            self._completerTree.setUpdatesEnabled(True)

            return True
コード例 #2
0
ファイル: xconsoleedit.py プロジェクト: bitesofcode/projexui
 def eventFilter(self, obj, event):
     """
     Filters particular events for a given QObject through this class. \
     Will use this to intercept events to the completer tree widget while \
     filtering.
     
     :param      obj     | <QObject>
                 event   | <QEvent>
     
     :return     <bool> consumed
     """
     if not obj == self._completerTree:
         return False
     
     if event.type() != event.KeyPress:
         return False
         
     if event.key() == Qt.Key_Escape:
         QToolTip.hideText()
         self.cancelCompletion()
         return False
     
     elif event.key() in (Qt.Key_Enter, Qt.Key_Return, Qt.Key_Tab):
         self.acceptCompletion()
         return False
     
     elif event.key() in (Qt.Key_Up, Qt.Key_Down, Qt.Key_PageUp, Qt.Key_PageDown):
         return False
     
     else:
         self.keyPressEvent(event)
         
         # update the completer
         cursor   = self.textCursor()
         text     = projex.text.nativestring(cursor.block().text())
         text     = text[:cursor.columnNumber()].split(' ')[-1]
         text     = text.split('.')[-1]
         
         self._completerTree.blockSignals(True)
         self._completerTree.setUpdatesEnabled(False)
         
         self._completerTree.setCurrentItem(None)
         
         for i in range(self._completerTree.topLevelItemCount()):
             item = self._completerTree.topLevelItem(i)
             if projex.text.nativestring(item.text(0)).startswith(text):
                 self._completerTree.setCurrentItem(item)
                 break
         
         self._completerTree.blockSignals(False)
         self._completerTree.setUpdatesEnabled(True)
         
         return True
コード例 #3
0
ファイル: xnodehotspot.py プロジェクト: bitesofcode/projexui
 def hoverLeaveEvent(self, event):
     """
     Processes when this hotspot is entered.
     
     :param      event | <QHoverEvent>
     
     :return     <bool> | processed
     """
     self._hovered = False
     if self.toolTip():
         QToolTip.hideText()
     
     return self.style() == XNodeHotspot.Style.Icon
コード例 #4
0
ファイル: xnodehotspot.py プロジェクト: zengjunfeng/projexui
    def hoverLeaveEvent(self, event):
        """
        Processes when this hotspot is entered.
        
        :param      event | <QHoverEvent>
        
        :return     <bool> | processed
        """
        self._hovered = False
        if self.toolTip():
            QToolTip.hideText()

        return self.style() == XNodeHotspot.Style.Icon
コード例 #5
0
ファイル: xmenu.py プロジェクト: bitesofcode/projexui
 def startActionToolTip( self, action ):
     """
     Starts the timer to hover over an action for the current tool tip.
     
     :param      action | <QAction>
     """
     self._toolTipTimer.stop()
     QToolTip.hideText()
     
     if not action.toolTip():
         return
     
     self._toolTipAction = action
     self._toolTipTimer.start()
コード例 #6
0
ファイル: xmenu.py プロジェクト: zengjunfeng/projexui
    def startActionToolTip(self, action):
        """
        Starts the timer to hover over an action for the current tool tip.
        
        :param      action | <QAction>
        """
        self._toolTipTimer.stop()
        QToolTip.hideText()

        if not action.toolTip():
            return

        self._toolTipAction = action
        self._toolTipTimer.start()