def paint(self, painter, option, widget): """ :param painter: :param option: :param widget: :raise: """ if ctrl.pressed is self: pass c = self.contextual_color() painter.setPen(c) dx = self.start_point[0] - self.end_point[0] dy = self.start_point[1] - self.end_point[1] l = QtCore.QLineF(dx, dy, 0, 0) if self._hovering: tops = self.host.get_highest() if len(tops) != 1: painter.drawLine(l) painter.save() painter.setBrush(ctrl.cm.ui()) painter.rotate(20) draw_leaf(painter, 0, 0, symbol_radius) painter.restore() draw_plus(painter, 1.2 * symbol_radius, 0) return else: top = tops[0] lmx, lmy = top.magnet(5) scene_point = QtCore.QPointF(lmx, lmy) end_point = self.mapFromScene(scene_point) path = QtGui.QPainterPath(QtCore.QPointF(dx, dy)) path.quadTo(QtCore.QPointF(end_point.x() - 200, end_point.y()), end_point) painter.drawPath(path) l = QtCore.QLineF(QtCore.QPointF(end_point.x() - 200, end_point.y()), end_point) else: painter.drawLine(l) l2x = l.p2().x() l2 = l.p2() l2y = l.p2().y() head_size = 8.0 back = head_size / -2 # Draw the arrows if there's enough room. ll = l.length() if ll >= 1 and ll + back > 0: angle = math.acos(l.dx() / ll) # acos has to be <= 1.0 else: return prop = back / ll if l.dy() >= 0: angle = (math.pi * 2.0) - angle destArrowP1 = QtCore.QPointF((math.sin(angle - math.pi / 3) * head_size) + l2x, (math.cos(angle - math.pi / 3) * head_size) + l2y) destArrowP2 = QtCore.QPointF((math.sin(angle - math.pi + math.pi / 3) * head_size) + l2x, (math.cos(angle - math.pi + math.pi / 3) * head_size) + l2y) l2c = QtCore.QPointF(l.dx() * prop + l2x, l.dy() * prop + l2y) painter.setBrush(c) painter.drawPolygon(QtGui.QPolygonF([l2, destArrowP1, l2c, destArrowP2]))
def paint(self, painter, option, widget): """ :param painter: :param option: :param widget: :raise: """ if ctrl.pressed is self: pass c = self.contextual_color() painter.setPen(c) if self._fill_path: painter.fillPath(self._path, c) else: painter.drawPath(self._path) if self._hovering: if len(self.host.trees) == 1: top = list(self.host.trees)[0].top scene_point = QtCore.QPointF(*top.current_scene_position) end_point = self.mapFromScene(scene_point) path = QtGui.QPainterPath(QtCore.QPointF(0, 0)) path.quadTo(QtCore.QPointF(end_point.x() - 200, end_point.y()), end_point) painter.drawPath(path) else: painter.save() painter.setBrush(ctrl.cm.ui()) painter.rotate(20) draw_leaf(painter, 0, end_spot_size / 2, end_spot_size) painter.restore() draw_plus(painter, 4, 0)
def paint(self, painter, option, widget): if ctrl.pressed is self: pass c = self.contextual_color() if self._hovering: painter.setBrush(ctrl.cm.ui_tr()) else: painter.setBrush(qt_prefs.no_brush) painter.setPen(c) draw_tailed_leaf(painter, 0, 0, symbol_radius) if self._hovering: painter.setPen(c) draw_plus(painter, 1.2 * symbol_radius, 0)
def paint(self, painter, option, widget): """ :param painter: :param option: :param widget: :raise: """ if ctrl.pressed is self: pass c = self.contextual_color() painter.setPen(c) draw_plus(painter, -5, 5) #painter.setBrush(c) draw_arrow_shape_from_points(painter, -2, 0, 8, 7, c) if self._hovering: painter.drawRoundedRect(self.boundingRect(), 4, 4)
def paint(self, painter, option, widget): """ :param painter: :param option: :param widget: :raise: """ if ctrl.pressed is self: pass c = self.contextual_color() if self._hovering: painter.setBrush(ctrl.cm.ui_tr()) else: painter.setBrush(qt_prefs.no_brush) painter.setPen(c) draw_tailed_leaf(painter, 0, 0, end_spot_size) if self._hovering: painter.setPen(c) draw_plus(painter, 4, 0)
def paint(self, painter, option, widget): """ :param painter: :param option: :param widget: :raise: """ if ctrl.pressed is self: pass c = self.contextual_color() painter.setPen(c) painter.drawLine(*sub_xy(self.start_point, self.end_point), 0, 0) if self._hovering: painter.save() painter.setBrush(ctrl.cm.ui()) painter.rotate(-160) draw_leaf(painter, 0, BranchingTouchArea.spot_size / 2, BranchingTouchArea.spot_size) painter.restore() draw_plus(painter, 14, 0)
def paint(self, painter, option, widget): """ :param painter: :param option: :param widget: :raise: """ if ctrl.pressed is self: pass c = self.contextual_color() painter.setPen(c) sx, sy = self.start_point ex, ey = self.end_point painter.drawLine(sx - ex, sy - ey, 0, 0) if self._hovering: painter.save() painter.setBrush(ctrl.cm.ui()) painter.rotate(-20) draw_leaf(painter, 0, 0, symbol_radius) painter.restore() draw_plus(painter, 1.2 * symbol_radius, 0)
def paint(self, painter, option, widget): """ :param painter: :param option: :param widget: :raise: """ if ctrl.pressed is self: pass c = self.contextual_color() painter.setPen(c) if self._fill_path: painter.fillPath(self._path, c) else: painter.drawPath(self._path) if self._hovering: painter.save() painter.setBrush(ctrl.cm.ui()) painter.rotate(-160) draw_leaf(painter, 0, 0, symbol_radius) painter.restore() draw_plus(painter, 1.2 * symbol_radius, 0)
def paint(self, painter, option, widget): """ :param painter: :param option: :param widget: :raise: """ if ctrl.pressed is self: pass c = self.contextual_color() painter.setPen(c) if self._fill_path: painter.fillPath(self._path, c) else: painter.drawPath(self._path) if self._hovering: painter.save() painter.setBrush(ctrl.cm.ui()) painter.rotate(20) draw_leaf(painter, 0, end_spot_size / 2, end_spot_size) painter.restore() draw_plus(painter, 4, 0)
def paint(self, painter, option, widget): """ :param painter: :param option: :param widget: :raise: """ if ctrl.pressed is self: pass c = self.contextual_color() painter.setPen(c) dx = self.start_point[0] - self.end_point[0] dy = self.start_point[1] - self.end_point[1] l = QtCore.QLineF(dx, dy, 0, 0) if self._hovering: if len(self.host.trees) != 1: painter.drawLine(l) painter.save() painter.setBrush(ctrl.cm.ui()) painter.rotate(20) draw_leaf(painter, 0, end_spot_size / 2, end_spot_size) painter.restore() draw_plus(painter, 4, 0) return else: top = list(self.host.trees)[0].top lmx, lmy = top.magnet(5) scene_point = QtCore.QPointF(lmx, lmy) end_point = self.mapFromScene(scene_point) path = QtGui.QPainterPath(QtCore.QPointF(dx, dy)) path.quadTo(QtCore.QPointF(end_point.x() - 200, end_point.y()), end_point) painter.drawPath(path) l = QtCore.QLineF( QtCore.QPointF(end_point.x() - 200, end_point.y()), end_point) else: painter.drawLine(l) l2x = l.p2().x() l2 = l.p2() l2y = l.p2().y() head_size = 8.0 back = head_size / -2 # Draw the arrows if there's enough room. ll = l.length() if ll >= 1 and ll + back > 0: angle = math.acos(l.dx() / ll) # acos has to be <= 1.0 else: return prop = back / ll if l.dy() >= 0: angle = (math.pi * 2.0) - angle destArrowP1 = QtCore.QPointF( (math.sin(angle - math.pi / 3) * head_size) + l2x, (math.cos(angle - math.pi / 3) * head_size) + l2y) destArrowP2 = QtCore.QPointF( (math.sin(angle - math.pi + math.pi / 3) * head_size) + l2x, (math.cos(angle - math.pi + math.pi / 3) * head_size) + l2y) l2c = QtCore.QPointF(l.dx() * prop + l2x, l.dy() * prop + l2y) painter.setBrush(c) painter.drawPolygon( QtGui.QPolygonF([l2, destArrowP1, l2c, destArrowP2]))