コード例 #1
0
ファイル: Serial.py プロジェクト: GNS3/gns3-legacy
    def adjust(self):
        """ Draw a serial link
        """

        AbstractEdge.adjust(self)

        # get src->dest angle
        vector_angle = math.atan2(self.dy, self.dx)

        # get mini-vector, and its angle
        rot_angle = - math.pi / 4.0
        vectrot = QtCore.QPointF(math.cos(vector_angle + rot_angle), math.sin(vector_angle + rot_angle))

        # get the rotated points position
        angle_srcPt = QtCore.QPointF(self.src.x() + self.dx / 2.0 + 15 * vectrot.x(), self.src.y() + self.dy / 2.0 + 15 * vectrot.y())
        angle_dstPt = QtCore.QPointF(self.dst.x() - self.dx / 2.0 - 15 * vectrot.x(), self.dst.y() - self.dy / 2.0 - 15 * vectrot.y())

        # draw the path
        self.path = QtGui.QPainterPath(self.src)
        self.path.lineTo(angle_srcPt)
        self.path.lineTo(angle_dstPt)
        self.path.lineTo(self.dst)
        self.setPath(self.path)

        # set interface status points positions
        scale_vect = QtCore.QPointF(angle_srcPt.x() - self.src.x(), angle_srcPt.y() - self.src.y())
        scale_vect_diag = math.sqrt(scale_vect.x() ** 2 + scale_vect.y() ** 2)
        scale_coef = scale_vect_diag / 40.0

        self.src = QtCore.QPointF(self.src.x() + scale_vect.x() / scale_coef, self.src.y() + scale_vect.y() / scale_coef)
        self.dst = QtCore.QPointF(self.dst.x() - scale_vect.x() / scale_coef, self.dst.y() - scale_vect.y() / scale_coef)
コード例 #2
0
ファイル: Serial.py プロジェクト: GNS3/gns3-legacy
    def __init__(self, sourceNode, sourceIf, destNode, destIf, Fake = False, Multi = 0):
        """ sourceNode: Node instance
            destNode: Node instance
        """

        AbstractEdge.__init__(self, sourceNode, sourceIf, destNode, destIf, Fake, Multi)
        self.setPen(QtGui.QPen(QtCore.Qt.red, self.penWidth, QtCore.Qt.SolidLine, QtCore.Qt.RoundCap, QtCore.Qt.RoundJoin))
        self.labelSouceIf = None
        self.labelDestIf = None
コード例 #3
0
ファイル: Ethernet.py プロジェクト: GNS3/gns3-legacy
    def adjust(self):
        """ Draw a line and compute offsets for status points
        """

        AbstractEdge.adjust(self)

        # draw a line between nodes
        self.path = QtGui.QPainterPath(self.src)
        self.path.lineTo(self.dst)
        self.setPath(self.path)

        # offset on the line for status points
        if self.length == 0:
            self.edgeOffset = QtCore.QPointF(0, 0)
        else:
            self.edgeOffset = QtCore.QPointF((self.dx * 40) / self.length, (self.dy * 40) / self.length)
コード例 #4
0
ファイル: Ethernet.py プロジェクト: kabantsh/gns3-legacy
    def adjust(self):
        """ Draw a line and compute offsets for status points
        """

        AbstractEdge.adjust(self)

        # draw a line between nodes
        self.path = QtGui.QPainterPath(self.src)
        self.path.lineTo(self.dst)
        self.setPath(self.path)

        # offset on the line for status points
        if self.length == 0:
            self.edgeOffset = QtCore.QPointF(0, 0)
        else:
            self.edgeOffset = QtCore.QPointF((self.dx * 40) / self.length,
                                             (self.dy * 40) / self.length)
コード例 #5
0
ファイル: Ethernet.py プロジェクト: kabantsh/gns3-legacy
    def __init__(self,
                 sourceNode,
                 sourceIf,
                 destNode,
                 destIf,
                 Fake=False,
                 Multi=0):
        """ sourceNode: MNode instance
            destNode: MNode instance
        """

        AbstractEdge.__init__(self, sourceNode, sourceIf, destNode, destIf,
                              Fake, Multi)
        self.setPen(
            QtGui.QPen(QtCore.Qt.black, self.penWidth, QtCore.Qt.SolidLine,
                       QtCore.Qt.RoundCap, QtCore.Qt.RoundJoin))
        self.labelSouceIf = None
        self.labelDestIf = None
コード例 #6
0
ファイル: Serial.py プロジェクト: kabantsh/gns3-legacy
    def adjust(self):
        """ Draw a serial link
        """

        AbstractEdge.adjust(self)

        # get src->dest angle
        vector_angle = math.atan2(self.dy, self.dx)

        # get mini-vector, and its angle
        rot_angle = -math.pi / 4.0
        vectrot = QtCore.QPointF(math.cos(vector_angle + rot_angle),
                                 math.sin(vector_angle + rot_angle))

        # get the rotated points position
        angle_srcPt = QtCore.QPointF(
            self.src.x() + self.dx / 2.0 + 15 * vectrot.x(),
            self.src.y() + self.dy / 2.0 + 15 * vectrot.y())
        angle_dstPt = QtCore.QPointF(
            self.dst.x() - self.dx / 2.0 - 15 * vectrot.x(),
            self.dst.y() - self.dy / 2.0 - 15 * vectrot.y())

        # draw the path
        self.path = QtGui.QPainterPath(self.src)
        self.path.lineTo(angle_srcPt)
        self.path.lineTo(angle_dstPt)
        self.path.lineTo(self.dst)
        self.setPath(self.path)

        # set interface status points positions
        scale_vect = QtCore.QPointF(angle_srcPt.x() - self.src.x(),
                                    angle_srcPt.y() - self.src.y())
        scale_vect_diag = math.sqrt(scale_vect.x()**2 + scale_vect.y()**2)
        scale_coef = scale_vect_diag / 40.0

        self.src = QtCore.QPointF(self.src.x() + scale_vect.x() / scale_coef,
                                  self.src.y() + scale_vect.y() / scale_coef)
        self.dst = QtCore.QPointF(self.dst.x() - scale_vect.x() / scale_coef,
                                  self.dst.y() - scale_vect.y() / scale_coef)