Beispiel #1
0
 def __init__(self, parameters):
     """
     :param dict parameters:
     """
     self._reverse = False
     self._signalType = None
     self._berthOrigin = QtCore.QPointF()
     self._berthRect = None
     super().__init__(parameters)
     self.setBerthRect()
     self._activeAspect = signalLibrary.signalAspects.get(
         parameters.get("activeAspect"))
     self._previousActiveRoute = None
     self._nextActiveRoute = None
     self._trainId = None
     self.defaultZValue = 50
     sgi = helper.TrackGraphicsItem(self, SignalItem.SIGNAL_GRAPHIC_ITEM)
     sgi.setPos(self.origin)
     sgi.setCursor(Qt.PointingHandCursor)
     sgi.setToolTip(self.toolTipText)
     sgi.setZValue(self.defaultZValue)
     if self._reverse:
         sgi.setRotation(180)
     self._gi[SignalItem.SIGNAL_GRAPHIC_ITEM] = sgi
     bgi = helper.TrackGraphicsItem(self, SignalItem.BERTH_GRAPHIC_ITEM)
     bgi.setPos(self._berthOrigin)
     bgi.setCursor(Qt.PointingHandCursor)
     bgi.setZValue(self.defaultZValue)
     self._gi[SignalItem.BERTH_GRAPHIC_ITEM] = bgi
     self.lightOn = True
Beispiel #2
0
 def __init__(self, simulation, parameters):
     """Constructor for the PlatformItem class"""
     super().__init__(simulation, parameters)
     self.tiType = "ZP"
     x1 = parameters["x"]
     x2 = parameters["xf"]
     y1 = parameters["y"]
     y2 = parameters["yf"]
     self._end = QtCore.QPointF(x2, y2)
     self._placeCode = parameters["placecode"]
     trackCode = parameters["trackcode"]
     self._place = simulation.place(self._placeCode)
     if self._place is not None:
         self._trackCode = trackCode
         self._place.addTrack(self)
     else:
         self._trackCode = ""
     pgi = helper.TrackGraphicsItem(self)
     pgi.setPos(self.origin)
     pgi.setCursor(Qt.PointingHandCursor)
     pgi.setToolTip(self.toolTipText)
     pgi.setZValue(0)
     self._gi[0] = pgi
     self.simulation.registerGraphicsItem(pgi)
     self.platformSelected.connect(
         placeitem.Place.selectedPlaceModel.setPlace)
Beispiel #3
0
 def __init__(self, simulation, parameters):
     """Constructor for the PointsItem class"""
     super().__init__(simulation, parameters)
     self.tiType = "P"
     x = parameters["x"]
     y = parameters["y"]
     cpx = parameters["xf"]
     cpy = parameters["yf"]
     npx = parameters["xn"]
     npy = parameters["yn"]
     rpx = parameters["xr"]
     rpy = parameters["yr"]
     self._commonEnd = QtCore.QPointF(cpx, cpy)
     self._normalEnd = QtCore.QPointF(npx, npy)
     self._reverseEnd = QtCore.QPointF(rpx, rpy)
     self._center = QtCore.QPointF(x, y)
     self._pointsReversed = False
     self._reverseItem = None
     self.defaultZValue = 60
     pgi = helper.TrackGraphicsItem(self)
     pgi.setPos(self._center)
     pgi.setZValue(self.defaultZValue)
     pgi.setCursor(Qt.PointingHandCursor)
     pgi.setToolTip(self.toolTipText)
     self._gi[0] = pgi
     self.simulation.registerGraphicsItem(pgi)
     self.updateGraphics()
Beispiel #4
0
 def __init__(self, parameters):
     """
     :param dict paramaters:
     """
     super().__init__(parameters)
     x = parameters["x"]
     y = parameters["y"]
     cpx = parameters["xf"]
     cpy = parameters["yf"]
     npx = parameters["xn"]
     npy = parameters["yn"]
     rpx = parameters["xr"]
     rpy = parameters["yr"]
     self._commonEnd = QtCore.QPointF(cpx, cpy)
     self._normalEnd = QtCore.QPointF(npx, npy)
     self._reverseEnd = QtCore.QPointF(rpx, rpy)
     self._center = QtCore.QPointF(x, y)
     self._pointsReversed = False
     self._reverseItem = None
     self.defaultZValue = 60
     pgi = helper.TrackGraphicsItem(self)
     pgi.setPos(self._center)
     pgi.setZValue(self.defaultZValue)
     pgi.setCursor(Qt.PointingHandCursor)
     pgi.setToolTip(self.toolTipText)
     self._gi[0] = pgi
Beispiel #5
0
 def __init__(self, parameters):
     """
     :param dict paramaters:
     """
     super().__init__(parameters)
     self._realLength = BIG
     egi = helper.TrackGraphicsItem(self)
     egi.setPos(self.origin)
     self._gi[0] = egi
Beispiel #6
0
 def __init__(self, parameters):
     """Constructor for the TextItem class"""
     super().__init__(parameters)
     self._rect = QtCore.QRectF()
     self.updateBoundingRect()
     gi = helper.TrackGraphicsItem(self)
     gi.setPos(self.origin)
     gi.setToolTip(self.toolTipText)
     gi.setZValue(0)
     self._gi[0] = gi
Beispiel #7
0
 def __init__(self, simulation, parameters):
     """ Constructor for the SignalItem class."""
     super().__init__(simulation, parameters)
     reverse = parameters["reverse"]
     self.tiType = "S"
     signalTypeName = parameters["signaltype"]
     self._signalType = simulation.signalTypes[signalTypeName]
     self._routesSetParams = eval(str(parameters["routesset"])) or {}
     self._trainNotPresentParams = eval(str(parameters["trainpresent"])) \
                                   or {}
     try:
         xb = float(parameters["xn"])
     except TypeError:
         xb = self.origin.x() - 40
     try:
         yb = float(parameters["yn"])
     except TypeError:
         yb = self.origin.y() + 5
     self._berthOrigin = QtCore.QPointF(xb, yb)
     self._berthRect = None
     self.setBerthRect()
     self._activeAspect = self._signalType.getDefaultAspect()
     self._reverse = reverse
     self._previousActiveRoute = None
     self._nextActiveRoute = None
     self._trainId = None
     self.defaultZValue = 50
     sgi = helper.TrackGraphicsItem(self, SignalItem.SIGNAL_GRAPHIC_ITEM)
     sgi.setPos(self.origin)
     sgi.setCursor(Qt.PointingHandCursor)
     sgi.setToolTip(self.toolTipText)
     sgi.setZValue(self.defaultZValue)
     if reverse:
         sgi.setRotation(180)
     self._gi[SignalItem.SIGNAL_GRAPHIC_ITEM] = sgi
     self.simulation.registerGraphicsItem(sgi)
     bgi = helper.TrackGraphicsItem(self, SignalItem.BERTH_GRAPHIC_ITEM)
     bgi.setPos(self._berthOrigin)
     bgi.setCursor(Qt.PointingHandCursor)
     bgi.setZValue(self.defaultZValue)
     self._gi[SignalItem.BERTH_GRAPHIC_ITEM] = bgi
     self.simulation.registerGraphicsItem(bgi)
     self.updateGraphics()
Beispiel #8
0
 def __init__(self, parameters):
     """
     :param dict paramaters:
     """
     super().__init__(parameters)
     reverse = bool(parameters.get("reverse", 0))
     self._signalType = None
     for customProperty in signalLibrary.tiProperties.values():
         # Initialize backend vars for custom properties
         propName = "_" + customProperty.name[:-3]
         setattr(self, propName,
                 eval(str(parameters.get(customProperty.name[:-3], {}))))
     try:
         xb = float(parameters.get("xn", ""))
     except ValueError:
         xb = self.origin.x() - 40
     try:
         yb = float(parameters.get("yn", ""))
     except ValueError:
         yb = self.origin.y() + 5
     self._berthOrigin = QtCore.QPointF(xb, yb)
     self._berthRect = None
     self.setBerthRect()
     self._activeAspect = None
     self._reverse = reverse
     self._previousActiveRoute = None
     self._nextActiveRoute = None
     self._trainId = None
     self.defaultZValue = 50
     sgi = helper.TrackGraphicsItem(self, SignalItem.SIGNAL_GRAPHIC_ITEM)
     sgi.setPos(self.origin)
     sgi.setCursor(Qt.PointingHandCursor)
     sgi.setToolTip(self.toolTipText)
     sgi.setZValue(self.defaultZValue)
     if reverse:
         sgi.setRotation(180)
     self._gi[SignalItem.SIGNAL_GRAPHIC_ITEM] = sgi
     bgi = helper.TrackGraphicsItem(self, SignalItem.BERTH_GRAPHIC_ITEM)
     bgi.setPos(self._berthOrigin)
     bgi.setCursor(Qt.PointingHandCursor)
     bgi.setZValue(self.defaultZValue)
     self._gi[SignalItem.BERTH_GRAPHIC_ITEM] = bgi
Beispiel #9
0
 def __init__(self, simulation, parameters):
     """Constructor for the EndItem class"""
     super().__init__(simulation, parameters)
     self.tiType = "E"
     self._realLength = BIG
     egi = helper.TrackGraphicsItem(self)
     egi.setPos(self.origin)
     if self.simulation.context in utils.Context.EDITORS:
         egi.setCursor(Qt.PointingHandCursor)
     self._gi[0] = egi
     simulation.registerGraphicsItem(egi)
Beispiel #10
0
 def __init__(self, parameters):
     """Constructor for the PlatformItem class"""
     self._placeCode = ""
     self._trackCode = ""
     super().__init__(parameters)
     pgi = helper.TrackGraphicsItem(self)
     pgi.setPos(self.origin)
     pgi.setCursor(Qt.PointingHandCursor)
     pgi.setToolTip(self.toolTipText)
     pgi.setZValue(0)
     self._gi[0] = pgi
     self.platformSelected.connect(
         placeitem.Place.selectedPlaceModel.setPlace)
Beispiel #11
0
 def __init__(self, parameters):
     """Constructor for the Place class"""
     super().__init__(parameters)
     self.simulation = None
     self._placeCode = parameters["placeCode"]
     self._rect = QtCore.QRectF()
     self.updateBoundingRect()
     gi = helper.TrackGraphicsItem(self)
     gi.setPos(self._origin)
     gi.setCursor(Qt.PointingHandCursor)
     gi.setToolTip(self.toolTipText)
     gi.setZValue(self.defaultZValue)
     self._gi[0] = gi
     self._timetable = []
     self._tracks = {}
Beispiel #12
0
 def __init__(self, parameters):
     """Constructor for the LineItem class"""
     self._placeCode = ""
     self._trackCode = ""
     self._realLength = ""
     super().__init__(parameters)
     self.defaultZValue = 1
     self._line = QtCore.QLineF()
     self._boundingRect = QtCore.QRectF()
     self.updateGeometry()
     gli = helper.TrackGraphicsItem(self)
     gli.setPos(self._origin)
     gli.setZValue(self.defaultZValue)
     self._gi[0] = gli
     self._tli = []
Beispiel #13
0
 def __init__(self, simulation, parameters):
     """Constructor for the Place class"""
     super().__init__(simulation, parameters)
     self.tiType = "A"
     self._placeCode = parameters["placecode"]
     self.updateBoundingRect()
     gi = helper.TrackGraphicsItem(self)
     gi.setPos(self._origin)
     gi.setCursor(Qt.PointingHandCursor)
     gi.setToolTip(self.toolTipText)
     gi.setZValue(self.defaultZValue)
     self._gi[0] = gi
     self.simulation.registerGraphicsItem(gi)
     self._timetable = []
     self._tracks = {}
     self.updateGraphics()
Beispiel #14
0
 def __init__(self, simulation, parameters):
     """Constructor for the TextItem class"""
     super().__init__(simulation, parameters)
     self.tiType = "ZT"
     self._name = parameters["name"]
     self.updateBoundingRect()
     gi = helper.TrackGraphicsItem(self)
     gi.setPos(self.origin)
     gi.setToolTip(self.toolTipText)
     gi.setZValue(0)
     if simulation.context in utils.Context.EDITORS:
         gi.setCursor(Qt.PointingHandCursor)
     else:
         gi.setCursor(Qt.ArrowCursor)
     self._gi[0] = gi
     self.simulation.registerGraphicsItem(gi)
     self.updateGraphics()
Beispiel #15
0
 def __init__(self, parameters):
     """
     :param dict paramaters:
     """
     self._commonEnd = QtCore.QPointF()
     self._normalEnd = QtCore.QPointF()
     self._reverseEnd = QtCore.QPointF()
     self._center = QtCore.QPointF()
     super().__init__(parameters)
     self._pointsReversed = False
     self._reverseItem = None
     self.defaultZValue = 60
     pgi = helper.TrackGraphicsItem(self)
     pgi.setPos(self._center)
     pgi.setZValue(self.defaultZValue)
     pgi.setCursor(Qt.PointingHandCursor)
     pgi.setToolTip(self.toolTipText)
     self._gi[0] = pgi
Beispiel #16
0
    def __init__(self, simulation, parameters):
        """Constructor for the LineItem class"""
        super().__init__(simulation, parameters)
        self.tiType = "L"
        self._placeCode = parameters["placecode"]
        trackCode = parameters["trackcode"]
        self._place = simulation.place(self._placeCode)
        if self._place is not None:
            self._trackCode = trackCode
            self._place.addTrack(self)
        else:
            self._trackCode = ""
        realLength = parameters["reallength"]
        if realLength is None or realLength == 0:
            realLength = 1.0
        self._realLength = realLength
        self.defaultZValue = 1
        self.updateGeometry()
        gli = helper.TrackGraphicsItem(self)
        if simulation.context in utils.Context.EDITORS:
            gli.setCursor(Qt.PointingHandCursor)
        else:
            gli.setCursor(Qt.ArrowCursor)
        gli.setPos(self._origin)
        gli.setZValue(self.defaultZValue)
        self._gi[0] = gli
        simulation.registerGraphicsItem(gli)

        # draw the "train" graphicLineItem
        p = QtGui.QPen()
        p.setWidth(3)
        p.setJoinStyle(Qt.RoundJoin)
        p.setCapStyle(Qt.RoundCap)
        p.setColor(Qt.red)
        self._tli = QtGui.QGraphicsLineItem()
        self._tli.setCursor(Qt.ArrowCursor)
        self._tli.setPen(p)
        self._tli.setZValue(10)
        self._tli.hide()
        simulation.registerGraphicsItem(self._tli)
        self.drawTrain()