Ejemplo n.º 1
0
    def testEmptyCopy(self):
        from copy import deepcopy

        original = QColor()
        copy = deepcopy([original])[0]
        self.assert_(original is not copy)
        self.assertEqual(original, copy)
        del original
        self.assertEqual(copy, QColor())
Ejemplo n.º 2
0
    def setObjectColorRGB(self, rgb):
        """
        TOWRITE

        :param `rgb`: TOWRITE
        :type `rgb`: `QRgb`_
        """
        objPen.setColor(QColor(rgb))
        lwtPen.setColor(QColor(rgb))
class CustomFBX_Label(qg.QLabel):
    _pen_text = QPen(QColor(180, 255, 180, 200), 1, qc.Qt.SolidLine)
    _pen_Shadow = QPen(QColor(9, 10, 12), 1, qc.Qt.SolidLine)
    _pen_border = QPen(QColor(9, 10, 12), 2, qc.Qt.SolidLine)
    _pen_clear = QPen(QColor(0, 0, 0, 0), 1, qc.Qt.SolidLine)

    _fontSize = 16
    _fontMargin = 2

    def __init__(self, *args, **kwargs):
        super(CustomFBX_Label, self).__init__(*args, **kwargs)

        font = qg.QFont()
        font.setPointSize(self._fontSize)
        font.setFamily('Source Code Pro SemiBold')
        self.setFont(font)
        self.setMargin(self._fontMargin)
        self.setStyleSheet("background-color: transparent;")
        self.setMargin(self._fontMargin)
        #self.setStyleSheet("background-color: transparent;")

    def paintEvent(self, event):
        painter = qg.QPainter(self)
        option = qg.QStyleOption()
        option.initFrom(self)

        x = option.rect.x()
        y = option.rect.y()
        height = option.rect.height() - 1
        width = option.rect.width() - 1

        painter.setRenderHint(qg.QPainter.Antialiasing)
        painter.setRenderHint(qg.QPainter.TextAntialiasing)

        alignment = (qc.Qt.AlignHCenter | qc.Qt.AlignVCenter)

        text = self.text()
        if text == '': return

        font = self.font()
        font_metrics = qg.QFontMetrics(font)
        text_width = font_metrics.width(text)
        text_height = font.pointSize()

        textPath = qg.QPainterPath()
        textPath.addText((width - text_width) / 2,
                         height - ((height - text_height) / 2), font, text)

        if self.isEnabled():
            pens_text = self._pen_text
            pens_shadow = self._pen_Shadow

            painter.setPen(pens_shadow)
            painter.drawPath(textPath)
            painter.setPen(pens_text)
            painter.drawText(x, y, width, height, alignment, text)
Ejemplo n.º 4
0
 def __init__(self, color, diameter, parent=None):
     QCheckBox.__init__(self, parent)
     self.color1 = QColor(color)
     self.color2 = QColor(50, 50, 50)
     self.resize(QSize(2 * float(diameter), diameter))
     self.setStyleSheet("background-color: rgb(0, 0, 0);\n" +
                        "color: rgb(255, 255, 255);\n")
     self.setChecked(True)
     self.setEnabled(True)
     self._enable = True
Ejemplo n.º 5
0
    def __init__(self, color=QColor(127, 127, 127)):
        """Initialize ColorPicker.

        Args:
            color -- The default color of the picker
        """
        super().__init__()
        self.color = QColor(color)
        self._set_icon(self.color)
        QObject.connect(self, SIGNAL("clicked()"), self.on_button_clicked)
Ejemplo n.º 6
0
    def __init__(self, parent):
        '''Initialization'''

        QStyledItemDelegate.__init__(self, parent)

        self.bg_color = QColor('#000000')
        self.bg_alternate_color = QColor('#333333')
        self.new_bg_color = QColor('#0044dd')
        self.new_bg_alternate_color = QColor('#223399')
        self.user_color = QColor('#7AB4F5')
        self.time_color = QColor('#7AB4F5')
        self.replyto_color = QColor('#7AB4F5')

        self.text_color = QColor('#FFFFFF')
        self.separator_color = QColor('#000000')
        self.fsize = 1.0
        self.fm = None
        self.minifm = None

        self.normFont = None
        self.miniFont = None

        #        print os.path.join(os.path.dirname(__file__),
        #                                  'icons', 'reply.png')
        self.reply_icon = QPixmap(
            os.path.join(os.path.dirname(__file__), 'icons', 'reply.png'))
        #        print dir(self.reply_icon)
        self.retweet_icon = QPixmap(
            os.path.join(os.path.dirname(__file__), 'icons', 'retweet.png'))
        self.geoloc_icon = QPixmap(
            os.path.join(os.path.dirname(__file__), 'icons', 'geoloc.png'))
Ejemplo n.º 7
0
    def __init__(self, parent=None):
        QToolButton.__init__(self, parent)

        self.badge_counter = 0x00
        self.badge_size = 25

        self.redGradient = QRadialGradient(0.0, 0.0, 17.0, self.badge_size - 3,
                                           self.badge_size - 3)
        self.redGradient.setColorAt(0.0, QColor(0xe0, 0x84, 0x9b))
        self.redGradient.setColorAt(0.5, QColor(0xe9, 0x34, 0x43))
        self.redGradient.setColorAt(1.0, QColor(0xdc, 0x0c, 0x00))
Ejemplo n.º 8
0
    def paint(self, painter, option, index):
        name_rect = option.rect.adjusted(4, 0, -4, 0)
        item_rect = option.rect.adjusted(1, 1, -1, 0)

        painter.fillRect(item_rect, QColor('#fe6'))
        painter.save()

        painter.setPen(QPen(QColor(0, 0, 0, 255)))
        painter.drawText(name_rect, Qt.AlignHCenter, index.data())

        painter.restore()
Ejemplo n.º 9
0
    def realRender(self, painter, renderPath):  # TODO/PORT: Still needs work.
        """
        TOWRITE

        :param `painter`: TOWRITE
        :type `painter`: `QPainter`_
        :param `renderPath`: TOWRITE
        :type `renderPath`: `QPainterPath`_
        """
        color1 = objectColor()  #QColor  # lighter color
        color2 = color1.darker(150)  #QColor  # darker color

        # If we have a dark color, lighten it
        darkness = color1.lightness()  #int
        threshold = 32  #int   #TODO: This number may need adjusted or maybe just add it to settings.
        if darkness < threshold:
            color2 = color1
            if not darkness:
                color1 = QColor(
                    threshold, threshold,
                    threshold)  # lighter() does not affect pure black
            else:
                color1 = color2.lighter(100 + threshold)

        count = renderPath.elementCount()  # int
        for i in range(0, count - 1):  # for(int i = 0; i < count-1; ++i);

            elem = renderPath.elementAt(i)  # QPainterPath::Element
            next = renderPath.elementAt(i + 1)  # QPainterPath::Element

            if next.isMoveTo():
                continue

            elemPath = QPainterPath()
            elemPath.moveTo(elem.x, elem.y)
            elemPath.lineTo(next.x, next.y)

            renderPen = QPen(QColor(0, 0, 0, 0))
            renderPen.setWidthF(0)
            painter.setPen(renderPen)
            stroker = QPainterPathStroker()
            stroker.setWidth(0.35)
            stroker.setCapStyle(Qt.RoundCap)
            stroker.setJoinStyle(Qt.RoundJoin)
            realPath = stroker.createStroke(elemPath)  # QPainterPath
            painter.drawPath(realPath)

            grad = QLinearGradient(elemPath.pointAtPercent(0.5),
                                   elemPath.pointAtPercent(0.0))
            grad.setColorAt(0, color1)
            grad.setColorAt(1, color2)
            grad.setSpread(QGradient.ReflectSpread)

            painter.fillPath(realPath, QBrush(grad))
Ejemplo n.º 10
0
 def __init__(self, pos, edge):
     ''' Set the original control point - with color, shape '''
     path = QPainterPath()
     path.addEllipse(pos.x() - 5, pos.y() - 5, 10, 10)
     super(Controlpoint, self).__init__(path, parent=edge)
     self.setPen(QColor(50, 100, 120, 200))
     self.setBrush(QColor(200, 200, 210, 120))
     self.setFlags(QGraphicsItem.ItemIsSelectable
                   | QGraphicsItem.ItemIsMovable)
     self.edge = edge
     self.hide()
Ejemplo n.º 11
0
    def __init__(self):
        super(MyProgress, self).__init__()

        self.setMaximumHeight(50)

        self.maxValue = 100
        self.currentValue = 0

        self.outLine = QPen(QColor("#999999"))
        self.fillColor = QBrush(QColor("green"))
        self.textPen = QPen(QColor("black"))
Ejemplo n.º 12
0
    def testDeepCopy(self):
        '''QColor deepcopy'''

        from copy import deepcopy

        original = QColor(0, 0, 255)
        copy = deepcopy([original])[0]

        self.assert_(original is not copy)
        self.assertEqual(original, copy)
        del original
        self.assertEqual(copy, QColor(0, 0, 255))
Ejemplo n.º 13
0
    def get_status_color(self, obj):
        c = QColor(Qt.lightGray)

        if obj.visited:
            c = QColor(Qt.green)
        elif obj.active:
            c = QColor('orange')
        # if obj.status == 'ran':
        #     c = QColor('green')
        # elif obj.status == 'paused':
        #     c = QColor('orange')
        return c
Ejemplo n.º 14
0
 def __init__(self, parent=None):
     super(QConsole, self).__init__(parent)
     font = QFont("Monospace", 9)
     font.setStyleHint(QFont.TypeWriter)
     self.setFont(font)
     # self.setFontWeight(QFont.Light)
     # self.setFontPointSize(9)
     self.setTextColor(QColor("LightGreen"))
     p = self.palette()
     p.setColor(QPalette.Base, QColor(0, 0, 0))
     self.setPalette(p)
     self.setText(">\n")
Ejemplo n.º 15
0
    def paint(self, painter):
        """

        :param QPainter painter:
        :return:
        """

        # selection background
        if self.selected:
            painter.setPen(QColor(0xef, 0xbf, 0xba))
            painter.setBrush(QColor(0xef, 0xbf, 0xba))
            painter.drawRect(self.x, self.y, self.width, self.height)

        x = self.x

        # address
        if self.disasm_view.show_address:
            painter.setPen(Qt.black)
            painter.drawText(x, self.y + self._config.disasm_font_ascent,
                             self._addr)

            x += self._addr_width + self.ADDR_SPACING

        # mnemonic
        painter.setPen(QColor(0, 0, 0x80))
        painter.drawText(x, self.y + self._config.disasm_font_ascent,
                         self._mnemonic)

        x += self._mnemonic_width + self.MNEMONIC_SPACING

        # operands
        for i, op in enumerate(self._operands):
            op.x = x
            op.y = self.y
            op.paint(painter)

            x += op.width

            if i != len(self._operands) - 1:
                # draw the comma
                painter.drawText(x, self.y + self._config.disasm_font_ascent,
                                 ",")
                x += self._config.disasm_font_width * 1

            x += self.OPERAND_SPACING

        # string
        if self._string is not None:
            x += self.STRING_SPACING
            painter.setPen(Qt.gray)
            painter.drawText(x, self.y + self._config.disasm_font_ascent,
                             self._string)
Ejemplo n.º 16
0
    def formatConverterFunction(format):
        if format == qutepart.syntax.TextFormat():
            return None  # Do not apply default format. Performance optimization

        qtFormat = QTextCharFormat()
        qtFormat.setForeground(QBrush(QColor(format.color)))
        qtFormat.setBackground(QBrush(QColor(format.background)))
        qtFormat.setFontItalic(format.italic)
        qtFormat.setFontWeight(QFont.Bold if format.bold else QFont.Normal)
        qtFormat.setFontUnderline(format.underline)
        qtFormat.setFontStrikeOut(format.strikeOut)

        return qtFormat
Ejemplo n.º 17
0
    def initUI(self):
        # container = QWidget(self)
        # container.resize(200, 100);
        # container.setStyleSheet("background-color:black;")

        font_size = QLabel('Font Size')
        font_size.fillColor = QColor(30, 30, 30, 120)
        font_size.penColor = QColor("#333333")

        grid = QGridLayout()
        grid.setContentsMargins(50, 10, 10, 10)
        grid.addWidget(font_size, 0, 0)
        self.setLayout(grid)
Ejemplo n.º 18
0
 def get_background(self, obj):
     if isinstance(obj, ReviewNode):
         if not obj.enabled:
             c = QColor('#ff8080')  # light red
         else:
             c = QColor(Qt.cyan)
     elif obj.skip_configure:
         c = QColor('#D05BFF')
     elif not obj.enabled:
         c = QColor('#ff8080')  # light red
     else:
         c = super(PipelineTreeNode, self).get_background(obj)
     return c
Ejemplo n.º 19
0
    def _paint_linear(self, painter):

        # selection background
        if self.selected:
            painter.setPen(QColor(0xef, 0xbf, 0xba))
            painter.setBrush(QColor(0xef, 0xbf, 0xba))
            painter.drawRect(self.x, self.y, self.width, self.height)

        x = self.x

        # address
        if self.disasm_view.show_address:
            painter.setPen(Qt.black)
            painter.drawText(x, self.y + self._config.disasm_font_ascent,
                             self._addr)

            x += self._addr_width + self.LINEAR_INSTRUCTION_OFFSET

        # TODO: splitter
        #painter.setPen(Qt.black)
        #painter.drawLine()

        # mnemonic
        painter.setPen(QColor(0, 0, 0x80))
        painter.drawText(x, self.y + self._config.disasm_font_ascent,
                         self._mnemonic)

        x += self._mnemonic_width + self.GRAPH_MNEMONIC_SPACING

        # operands
        for i, op in enumerate(self._operands):
            op.x = x
            op.y = self.y
            op.paint(painter)

            x += op.width

            if i != len(self._operands) - 1:
                # draw the comma
                painter.drawText(x, self.y + self._config.disasm_font_ascent,
                                 ",")
                x += self._config.disasm_font_width * 1

            x += self.GRAPH_OPERAND_SPACING

        # string
        if self._string is not None:
            x += self.GRAPH_STRING_SPACING
            painter.setPen(Qt.gray)
            painter.drawText(x, self.y + self._config.disasm_font_ascent,
                             self._string)
Ejemplo n.º 20
0
    def __init__(self, s, parent=None):
        """
        Default class constructor.

        :param `s`: TOWRITE
        :type `s`: QRubberBand.Shape
        :param `parent`: Pointer to a parent widget instance.
        :type `parent`: `QWidget`_
        """
        super(SelectBox, self).__init__(parent)

        # private
        self._leftBrushColor = QColor()
        self._rightBrushColor = QColor()
        self._leftPenColor = QColor()
        self._rightPenColor = QColor()
        self._alpha = 255  # quint8  #: TODO: what is the initial int?

        self._dirBrush = QBrush()
        self._leftBrush = QBrush()
        self._rightBrush = QBrush()

        self._dirPen = QPen()
        self._leftPen = QPen()
        self._rightPen = QPen()

        self._boxDir = False  #: TODO: is this initial bool value right?

        # Default values
        self.setColors(QColor(Qt.darkGreen), QColor(Qt.green),
                       QColor(Qt.darkBlue), QColor(Qt.blue), 32)
Ejemplo n.º 21
0
    def _draw_edges(self, painter, topleft_point, bottomright_point):

        # draw edges
        if self._edges:
            for edge in self._edges:
                edge_coords = edge.coordinates

                if edge.sort == EdgeSort.BACK_EDGE:
                    # it's a back edge
                    # Honey
                    color = QColor(0xf9, 0xd5, 0x77)
                elif edge.sort == EdgeSort.TRUE_BRANCH:
                    # True branch
                    # Aqar
                    color = QColor(0x79, 0xcc, 0xcd)
                elif edge.sort == EdgeSort.FALSE_BRANCH:
                    # False branch
                    # Tomato
                    color = QColor(0xf1, 0x66, 0x64)
                else:
                    # Dark Gray
                    color = QColor(0x56, 0x5a, 0x5c)
                pen = QPen(color)
                pen.setWidth(2)
                painter.setPen(pen)

                for from_, to_ in zip(edge_coords, edge_coords[1:]):
                    start_point = QPointF(*from_)
                    end_point = QPointF(*to_)
                    # optimization: don't draw edges that are outside of the current scope
                    if (start_point.x() > bottomright_point.x() or start_point.y() > bottomright_point.y()) and \
                            (end_point.x() > bottomright_point.x() or end_point.y() > bottomright_point.y()):
                        continue
                    elif (start_point.x() < topleft_point.x() or start_point.y() < topleft_point.y()) and \
                            (end_point.x() < topleft_point.x() or end_point.y() < topleft_point.y()):
                        continue
                    painter.drawPolyline((start_point, end_point))

                # arrow
                # end_point = self.mapToScene(*edges[-1])
                end_point = (edge_coords[-1][0], edge_coords[-1][1])
                arrow = [
                    QPointF(end_point[0] - 3, end_point[1]),
                    QPointF(end_point[0] + 3, end_point[1]),
                    QPointF(end_point[0], end_point[1] + 6)
                ]
                brush = QBrush(color)
                painter.setBrush(brush)
                painter.drawPolygon(arrow)
Ejemplo n.º 22
0
 def __loadColors(self):
     self.colors = {}
     for columnLabel in StatusColorsDict.keys():
         self.colors[columnLabel] = {}
         for txt in StatusColorsDict[columnLabel].keys():
             color = StatusColorsDict[columnLabel][txt]
             self.colors[columnLabel][txt] = QColor(color)
Ejemplo n.º 23
0
    def init(self, parent):
        """
        """
        rad = self.factory.radius
        if not rad:
            rad = 20

        if self.control is None:
            self.control = qtLED()
            scene = QGraphicsScene()
            #             self.control.setStyleSheet("qtLED { border-style: none; }");
            #             self.control.setAutoFillBackground(True)

            # system background color
            scene.setBackgroundBrush(QBrush(QColor(237, 237, 237)))
            self.control.setStyleSheet("border: 0px")
            self.control.setMaximumWidth(rad+15)
            self.control.setMaximumHeight(rad+15)

            x, y = 10, 10
            cx = x + rad / 1.75
            cy = y + rad / 1.75

            brush = self.get_color(self.value.state, cx, cy, rad / 2)
            pen = QPen()
            pen.setWidth(0)
            self.led = scene.addEllipse(x, y, rad, rad,
                                        pen=pen,
                                        brush=brush
                                        )

            self.control.setScene(scene)

            self.value.on_trait_change(self.update_object, 'state')
Ejemplo n.º 24
0
 def __init__(self, parent=None, ast=None):
     ast = ast or ogAST.State()
     ast.inputString = getattr(ast, 'via', None) or ast.inputString
     # Note: ast coordinates are in scene coordinates
     super(State, self).__init__(parent=parent,
                                 text=ast.inputString,
                                 x=ast.pos_x,
                                 y=ast.pos_y,
                                 hyperlink=ast.hyperlink)
     self.set_shape(ast.width, ast.height)
     self.setBrush(QBrush(QColor(255, 228, 213)))
     self.terminal_symbol = True
     if parent:
         try:
             # Map AST scene coordinates to get actual position
             self.setPos(self.pos() +
                         self.mapFromScene(ast.pos_x, ast.pos_y))
         except TypeError:
             self.update_position()
     else:
         # Use scene coordinates to position
         self.setPos(ast.pos_x, ast.pos_y)
     self.parser = ogParser
     if ast.comment:
         Comment(parent=self, ast=ast.comment)
Ejemplo n.º 25
0
    def hoverEnterEvent(self, event):
        super(HooverBar, self).hoverEnterEvent(event)

        if self.gi == None:
            self.gi = QGraphicsRectItem(0, 0, 100, 100)
            self.gi.setBrush(QBrush(QColor(0, 64, 0, 192)))
            self.gi.setPen(QPen(Qt.transparent))
            self.gi.setPos(event.scenePos().x() + 20,
                           event.scenePos().y() + 20)

            x = y = 10
            w = 0
            for t in self.description:
                description = QGraphicsSimpleTextItem()
                description.setFont(self.base_font)
                description.setBrush(QBrush(Qt.white))
                description.setText(t)
                description.setParentItem(self.gi)
                description.setPos(x, y)
                y += description.boundingRect().height()
                w = max(w, description.boundingRect().width())
            y += x
            w += 2 * x

            self.gi.setRect(0, 0, w, y)
            self.scene().addItem(self.gi)
Ejemplo n.º 26
0
    def _draw_serie(self, painter, ndx_serie, color):

        serie = self.data[ndx_serie]

        #mainlog.debug(serie)

        fill_color = QColor(color)
        fill_color.setAlpha(64)
        brush = QBrush(fill_color)
        pen = QPen()
        pen.setCapStyle(Qt.SquareCap)
        pen.setColor(color)

        qp = QPainterPath()
        painter.setPen(pen)

        for i in range(len(serie)):
            x, y_top, y_below = self._item_coordinates(i)

            h = max(1, float(y_top - y_below - 1))
            qp.addRect( x,
                        float(self.y_base-y_top),
                        float(self.bar_width),
                        h)

        painter.fillPath(qp,brush)
        painter.drawPath(qp)

        #mainlog.debug("Drawing peak values, juste before {}".format(self._peak_values))
        if self._peak_values:
            #mainlog.debug("Drawing peak values")
            self._draw_peak_values(painter, self._peak_values )
Ejemplo n.º 27
0
    def _create_metallic_roughness_map(self, metal_map, rough_map):

        metal = QImage(metal_map)
        rough = QImage(rough_map)
        metal_pixel = QColor()

        metal = metal.convertToFormat(QImage.Format_RGB32)
        rough = rough.convertToFormat(QImage.Format_RGB32)
        metal_uchar_ptr = metal.bits()
        rough_uchar_ptr = rough.bits()
        if (not metal.width() == rough.width()
                or not metal.height() == rough.height()):
            raise RuntimeError(
                "Error processing material: {}. Metallic map and roughness map must have same dimensions."
                .format(self.maya_node))
        width = metal.width()
        height = metal.height()

        i = 0
        for y in range(height):
            for x in range(width):
                metal_color = struct.unpack('I', metal_uchar_ptr[i:i + 4])[0]
                rough_color = struct.unpack('I', rough_uchar_ptr[i:i + 4])[0]
                metal_pixel.setRgb(0, qGreen(rough_color), qBlue(metal_color))
                metal_uchar_ptr[i:i + 4] = struct.pack('I', metal_pixel.rgb())
                i += 4

        output = ExportSettings.out_dir + "/" + self.name + "_metalRough.jpg"
        return output, metal
class CustomClearLabel(CustomLabel):
    _pen_text = QPen(QColor(180, 200, 180, 250), 2, qc.Qt.SolidLine)
    _fontSize = 14
    _fontMargin = 4

    def __init__(self, *args, **kwargs):
        super(CustomClearLabel, self).__init__(*args, **kwargs)
Ejemplo n.º 29
0
    def showContextMenu(self, pos):
        """
        Shows a context menu to add a node in the graph widget
        """
        gpos = self.graphicsView.mapToGlobal(pos)
        menu = QMenu()
        actionAddNode = menu.addAction("Add Node")
        QAction = menu.exec_(gpos)

        if (actionAddNode == QAction):
            (text,
             ok) = QInputDialog.getText(self.graphicsView, "Insert Node Name",
                                        "Please insert a name for the node")
            if ok:
                if text not in self.nodesToQNodes:
                    #User clicked on ok. Otherwise do nothing
                    self.gv.add_node(text)
                    node = self.gv.get_node(text)
                    qnode = self.createQtNode(node, 0, 0,
                                              QColor(204, 255, 255))

                    self.graphicsView.scene().addItem(qnode)
                    qnode.setPos(self.graphicsView.mapToScene(gpos))
                    qnode.setPos(qnode.x(), qnode.y() - 200)
                    self.nodesToQNodes[node] = qnode
                else:
                    msg = QMessageBox()
                    msg.setText("The node already exists.")
                    msg.exec_()
                self.searchNode(text)
class CustomShortLabel(CustomLabel):
    _pen_text = QPen(QColor(250, 250, 250, 220), 1, qc.Qt.SolidLine)
    _fontSize = 12
    _fontMargin = 3

    def __init__(self, *args, **kwargs):
        super(CustomShortLabel, self).__init__(*args, **kwargs)