def getProperties(): return abstract.ResizableItem.getProperties() + [ helper.TIProperty("placeCode", translate("LineItem", "Place code")), helper.TIProperty("trackCode", translate("LineItem", "Track code")), helper.TIProperty("realLength", translate("LineItem", "Real length (m)")) ]
def getProperties(): """ :return: List of ptoperties :rtype: list """ return abstract.TrackItem.getProperties() + [ helper.TIProperty("commonEndTuple", translate("PointsItem", "Common End"), False, "enum", getEndNames(), getEndValues()), helper.TIProperty("normalEndTuple", translate("PointsItem", "Normal End"), False, "enum", getEndNames(), getEndValues()), helper.TIProperty("reverseEndTuple", translate("PointsItem", "Reverse End"), False, "enum", getEndNames(), getEndValues()) ]
def getProperties(): return [ helper.TIProperty("tiTypeStr", tr("Type"), True), helper.TIProperty("tiId", tr("id"), True), helper.TIProperty("text", tr("Text")), helper.TIProperty("originStr", tr("Point 1")) ]
def getProperties(): signalTypeNames = sorted(list(signalLibrary.signalTypes.keys())) signalCustomProperties = list(signalLibrary.tiProperties.values()) return abstract.TrackItem.getProperties() + [ helper.TIProperty("reverse", translate("SignalItem", "Reverse")), helper.TIProperty("signalTypeStr", translate("SignalItem", "Signal Type"), False, "enum", signalTypeNames, signalTypeNames), helper.TIProperty("berthOriginStr", translate("SignalItem", "Berth Origin")) ] + signalCustomProperties
def getProperties(): # TODO: Remove builtin reference below to allow custom signal types signalTypeNames = [x["name"] for x in signaltype.builtin_signal_types] return abstract.TrackItem.getProperties() + [ helper.TIProperty("reverse", translate("SignalItem", "Reverse")), helper.TIProperty("signalTypeStr", translate("SignalItem", "Signal Type"), False, "enum", signalTypeNames, signalTypeNames), helper.TIProperty("routesSetParamsStr", translate("SignalItem", "Route set params")), helper.TIProperty("trainNotPresentParamsStr", translate("SignalItem", "No train params")), helper.TIProperty("berthOriginStr", translate("SignalItem", "Berth Origin")) ]
class RouteSetCondition: code = "ROUTES_SET" tiProperty = helper.TIProperty("routesSetParams", translate("SignalItem", "Route set params")) @staticmethod def solver(signalItem, params=None): """This solver returns True if at least one of the routes given in the params list is active. These routes don't have to start at this signal. params must be a list of route numbers.""" if params is None: params = [] simulation = signalItem.simulation routes = [ simulation.routes[routeNum] for routeNum in params if routeNum in simulation.routes ] return any([(r.getRouteState() != 0) for r in routes]) @staticmethod def updater(signalItem, params): code = RouteSetCondition.code rs = signalItem.routesSetParams aspectNames = [ st.aspect.name for st in signalItem.signalType.states if code in st.conditions.keys() ] params[code] = { aspectName: rs.get(aspectName, []) for aspectName in aspectNames } return params @staticmethod def trigger(signalItem): routeNums = [] for rs in signalItem.routesSetParams.values(): routeNums.extend(rs) for routeNum in routeNums: try: signalItem.simulation.routes[routeNum].routeSelected.connect( signalItem.updateSignalState) signalItem.simulation.routes[routeNum].routeUnselected.connect( signalItem.updateSignalState) except KeyError as err: raise utils.FormatException( translate( "RouteSetCondition", "Error in simulation definition: SignalItem %s " "references unknown route %s") % (signalItem.tiId, str(err)))
def getProperties(): return [ helper.TIProperty("tiTypeStr", translate("LineItem", "Type"), True), helper.TIProperty("tiId", translate("LineItem", "id"), True), helper.TIProperty("name", translate("LineItem", "Name")), helper.TIProperty("originStr", translate("LineItem", "Point 1")), helper.TIProperty("endStr", translate("LineItem", "Point 2")), helper.TIProperty("maxSpeed", translate("LineItem", "Maximum speed (m/s)")), helper.TIProperty("conflictTiId", translate("LineItem", "Conflict item ID")) ]
def getProperties(): return [ helper.TIProperty("tiTypeStr", translate("PlatformItem", "Type"), True), helper.TIProperty("tiId", translate("PlatformItem", "id"), True), helper.TIProperty("name", translate("PlatformItem", "Name")), helper.TIProperty("originStr", translate("PlatformItem", "Point 1")), helper.TIProperty("endStr", translate("PlatformItem", "Point 2")), helper.TIProperty("placeCode", translate("PlatformItem", "Place code")), helper.TIProperty("trackCode", translate("PlatformItem", "Track code")) ]
class TrainNotPresentOnItems: code = "TRAIN_NOT_PRESENT_ON_ITEMS" tiProperty = helper.TIProperty("trainNotPresentParams", translate("SignalItem", "No train params")) @staticmethod def solver(signalItem, params=None): """This solver returns True if no train is found on any trackItems given in the params list. params must be a list of trackItem IDs.""" if params is None: params = [] simulation = signalItem.simulation trackItems = [simulation.trackItem(tiId) for tiId in params] return not any([ti.trainPresent() for ti in trackItems]) @staticmethod def updater(signalItem, params): code = TrainNotPresentOnItems.code tnp = signalItem.trainNotPresentParams aspectNames = [ st.aspect.name for st in signalItem.signalType.states if code in st.conditions.keys() ] params[code] = { aspectName: tnp.get(aspectName, []) for aspectName in aspectNames } return params @staticmethod def trigger(signalItem): tiIds = [] for tnp in signalItem.trainNotPresentParams.values(): tiIds.extend(tnp) for tiId in tiIds: try: signalItem.simulation.trackItems[tiId].trainEntersItem.connect( signalItem.updateSignalState) signalItem.simulation.trackItems[tiId].trainLeavesItem.connect( signalItem.updateSignalState) except KeyError as err: raise utils.FormatException( translate( "TrainNotPresentOnItems", "Error in simulation definition: SignalItem %s " "references unknown track item %s") % (signalItem.tiId, str(err)))
def getProperties(): return abstract.TrackItem.getProperties() + [ helper.TIProperty("placeCode", translate("Place", "Place code")) ]
def getMultiProperties(): return [ helper.TIProperty("tiId", translate("TrackItem", "id"), True), helper.TIProperty("maxSpeed", translate("TrackItem", "Maximum speed (m/s)")) ]