Exemple #1
0
    def paintEvent(self, event):
        painter = QtWidgets.QPainter(self)
        w = self.width()
        h = self.height()

        # background
        painter.setPen(QtCore.Qt.gray)
        painter.setBrush(QtCore.Qt.lightGray)
        painter.drawRect(2, 2, w - 4, h - 4)

        # range bar
        painter.setPen(QtCore.Qt.darkGray)
        painter.setBrush(QtCore.Qt.darkGray)
        painter.drawRect(5, h - self.display_max - 1, w - 10,
                         self.display_max - self.display_min + 1)

        # min & max tabs
        painter.setPen(QtCore.Qt.black)
        painter.setBrush(QtCore.Qt.gray)
        painter.drawRect(1, h - self.display_max - self.bar_width - 1, w - 2,
                         self.bar_width)

        painter.setPen(QtCore.Qt.black)
        painter.setBrush(QtCore.Qt.gray)
        painter.drawRect(1, h - self.display_min - 1, w - 2, self.bar_width)
Exemple #2
0
    def lineAreaPaintEvent(self, event):
        # Draw gutter area
        painter = QtWidgets.QPainter(self.lineArea)
        painter.fillRect(event.rect(), QtGui.QColor('#EEEEEE'))

        # Match editor font
        painter.setFont(self.font())

        # Calculate geometry
        firstBlock = self.firstVisibleBlock()
        blockNumber = firstBlock.blockNumber()
        top = self.blockBoundingGeometry(firstBlock).\
              translated(self.contentOffset()).top()
        bottom = top + self.blockBoundingRect(firstBlock).height()

        # Draw line numbers
        block = firstBlock
        while block.isValid() and top <= event.rect().bottom():
            if block.isVisible() and bottom >= event.rect().top():
                num = str(blockNumber + 1)
                painter.setPen(QtCore.Qt.black)
                painter.drawText(3, top, self.lineArea.width(), \
                                 self.fontMetrics().height(), \
                                 QtCore.Qt.AlignLeft, num)

            # Increment
            block = block.next()
            top = bottom
            bottom = top + self.blockBoundingRect(block).height()
            blockNumber = blockNumber + 1
Exemple #3
0
    def columnLinePaintEvent(self, event):
        if self.enableColumnLine:
            # Repaint on top first
            self.update()

            # Draw column line area
            painter = QtWidgets.QPainter(self.columnLine)
            color = QtGui.QColor("#000000")
            color.setAlpha(80)
            painter.fillRect(event.rect(), color)
Exemple #4
0
    def mouseMoveEvent(self, e):
        if e.buttons() == QtCore.Qt.LeftButton:

            mimeData = QtCore.QMimeData()
            mimeData.setText('%d,%d' % (e.x(), e.y()))

            # show the ghost image while dragging
            pixmap = QtWidgets.QPixmap.grabWidget(self)
            painter = QtWidgets.QPainter(pixmap)
            painter.fillRect(pixmap.rect(), QtWidgets.QColor(0, 0, 0, 127))
            painter.end()

            drag = QtWidgets.QDrag(self)
            drag.setMimeData(mimeData)
            drag.setPixmap(pixmap)
            drag.setHotSpot(e.pos())

            drag.exec_(QtCore.Qt.MoveAction)