示例#1
0
    def __init__(self, tab, name, x, y, widgetInfo):
        self.statusBox = QLabel()
        self.missionNameBox = QLabel()

        super().__init__(QWidget(tab, objectName=name),
                         x,
                         y,
                         configInfo=widgetInfo,
                         widgetType=Constants.MISSION_STATUS_TYPE)

        layout = QGridLayout()
        layout.addWidget(self.statusBox, 1, 1)
        layout.addWidget(self.missionNameBox, 2, 1)
        self.QTWidget.setLayout(layout)

        if self.size is None:  # Set a default size
            self.size = 30
        self.title = None
        self.font = None
        self.fontSize = None

        self.statusSource = getValueFromDictionary(widgetInfo, "statusSource",
                                                   "missionStatus")
        self.missionNameSource = getValueFromDictionary(
            widgetInfo, "missionNameSource", "missionName")

        self.statusBox.setFont(QFont("Monospace", self.size))
        self.statusBox.setAlignment(QtCore.Qt.AlignCenter)
        self.statusBox.setMinimumWidth(self.size * 8)

        self.missionNameBox.setFont(QFont("Monospace", self.size / 3))
        self.missionNameBox.setAlignment(QtCore.Qt.AlignCenter)
        self.missionNameBox.setMinimumWidth(self.size)
    def __init__(self, tab, name, xPos, yPos, widgetInfo):
        QTWidget = QLabel(tab)
        QTWidget.setObjectName(name)
        super().__init__(QTWidget,
                         xPos,
                         yPos,
                         configInfo=widgetInfo,
                         widgetType=Constants.VIDEO_WINDOW_TYPE)

        dimensions = getValueFromDictionary(widgetInfo,
                                            Constants.DIMENSIONS_ATTRIBUTE,
                                            "100x100")
        dimensions = dimensions.split("x")
        width = int(float(dimensions[0]))
        height = int(float(dimensions[1]))
        self.source = getValueFromDictionary(widgetInfo,
                                             Constants.SOURCE_ATTRIBUTE,
                                             "video")
        self.fullScreen = getValueFromDictionary(
            widgetInfo, Constants.FULLSCREEN_ATTRIBUTE,
            "false").lower() == "true"

        self.setSize(width, height)
        self.draggable = False

        if self.title is None:
            self.title = name

        self.font = None
        self.fontSize = None
示例#3
0
    def __init__(self, tab, name, x, y, widgetInfo):
        self.statusBox = QLabel()
        self.armingBox = QLabel()
        self.modeBox = QLabel()
        self.timeBox = QLabel()
        self.runtimeBox = QLabel()

        super().__init__(QWidget(tab, objectName=name),
                         x,
                         y,
                         configInfo=widgetInfo,
                         widgetType=Constants.ROV_STATUS_TYPE)

        layout = QGridLayout()
        layout.addWidget(self.statusBox, 1, 1, 1, 2)
        layout.addWidget(self.armingBox, 2, 1, 1, 2)
        layout.addWidget(self.modeBox, 3, 1, 1, 2)
        layout.addWidget(self.timeBox, 4, 1)
        layout.addWidget(self.runtimeBox, 4, 2)
        self.QTWidget.setLayout(layout)

        if self.size is None:  # Set a default size
            self.size = 30
        self.title = None
        self.font = None
        self.fontSize = None

        self.statusSource = getValueFromDictionary(widgetInfo, "statusSource",
                                                   "status")
        self.armedSource = getValueFromDictionary(widgetInfo, "armedSource",
                                                  "armed")
        self.allowedToArmSource = getValueFromDictionary(
            widgetInfo, "allowedToArmSource", "allowedToArm")
        self.modeSource = getValueFromDictionary(widgetInfo, "modeSource",
                                                 "driveMode")
        self.runtimeSource = getValueFromDictionary(widgetInfo,
                                                    "runtimeSource", "runtime")

        self.statusBox.setFont(QFont("Monospace", self.size))
        self.statusBox.setAlignment(QtCore.Qt.AlignCenter)
        self.statusBox.setMinimumWidth(self.size * 8)

        self.armingBox.setFont(QFont("Monospace", self.size))
        self.armingBox.setAlignment(QtCore.Qt.AlignCenter)
        self.armingBox.setMinimumWidth(self.size * 13)

        self.modeBox.setFont(QFont("Monospace", self.size))
        self.modeBox.setAlignment(QtCore.Qt.AlignCenter)

        self.timeBox.setFont(QFont("Monospace", self.size * 0.4))
        self.runtimeBox.setFont(QFont("Monospace", self.size * 0.4))
示例#4
0
    def customUpdate(self, dataPassDict):
        status = str(
            getValueFromDictionary(dataPassDict, self.statusSource, "Unknown"))
        missionName = str(
            getValueFromDictionary(dataPassDict, self.missionNameSource,
                                   "Unknown"))

        self.statusBox.setText(status)
        self.missionNameBox.setText("Mission: {}".format(missionName))

        self.statusBox.adjustSize()
        self.missionNameBox.adjustSize()

        self.QTWidget.adjustSize()
示例#5
0
    def __init__(self, tab, name, x, y, widgetInfo):
        QTWidget = QWidget(tab)
        QTWidget.setObjectName(name)
        super().__init__(QTWidget,
                         x,
                         y,
                         configInfo=widgetInfo,
                         widgetType=Constants.MAP_TYPE)

        if self.size is None:  # Set a default size
            self.size = 400
        if self.transparent is None:
            self.transparent = False
        self.source = None
        self.font = None
        self.fontSize = None

        if self.title is None:
            self.title = name

        self.XSource = getValueFromDictionary(widgetInfo, "XSource",
                                              "x_position_global")
        self.YSource = getValueFromDictionary(widgetInfo, "YSource",
                                              "y_position_global")
        self.pointsToKeep = int(
            getValueFromDictionary(widgetInfo, "PointsToKeep", "200"))
        self.pointSpacing = float(
            getValueFromDictionary(widgetInfo, "PointSpacing", "0.1"))
        self.fullScreen = getValueFromDictionary(
            widgetInfo, Constants.FULLSCREEN_ATTRIBUTE,
            "false").lower() == "true"

        self.SimpleMapWidget = SimpleMapWidget.SimpleMapWidget(
            pointsToKeep=self.pointsToKeep, pointSpacing=self.pointSpacing)

        layout = QGridLayout()
        layout.addWidget(self.SimpleMapWidget)
        self.QTWidget.setLayout(layout)

        if not self.fullScreen:
            self.SimpleMapWidget.setSize(self.size)
        else:
            self.transparent = True
            self.SimpleMapWidget.setSize(10)

        self.QTWidget.adjustSize()
示例#6
0
    def customUpdate(self, dataPassDict):
        x = getValueFromDictionary(dataPassDict, self.XSource, 0)
        y = getValueFromDictionary(dataPassDict, self.YSource, 0)

        screenWidth = self.QTWidget.parent().size().width()
        screenHeight = self.QTWidget.parent().size().height()
        screenSize = min(screenWidth, screenHeight)

        if self.fullScreen:
            self.setSize(screenSize, screenSize)
            centeredCornerPos = (screenWidth - self.QTWidget.width()) / 2
            self.setPosition(int(centeredCornerPos), 0)
            self.draggable = False

        self.SimpleMapWidget.setXY(x, y)

        if not self.hidden:
            self.QTWidget.adjustSize()
            self.QTWidget.update()
示例#7
0
    def customUpdate(self, dataPassDict):
        faultStatus = 3
        canArm = True
        armed = True
        mode = "Unknown"

        if self.statusSource in dataPassDict:
            faultStatus = int(float(dataPassDict[self.statusSource]))
        if self.allowedToArmSource in dataPassDict:
            canArm = str(
                dataPassDict[self.allowedToArmSource]).lower() == "true"
        if self.armedSource in dataPassDict:
            armed = str(dataPassDict[self.armedSource]).lower() == "true"
        if self.modeSource in dataPassDict:
            mode = str(dataPassDict[self.modeSource])

        runtime = getValueFromDictionary(dataPassDict, self.runtimeSource, "0")

        if faultStatus == 2:
            self.statusBox.setStyleSheet("color: red")
            self.statusBox.setText("Faulted")
        elif faultStatus == 1:
            self.statusBox.setStyleSheet("color: yellow")
            self.statusBox.setText("Warning")
        elif faultStatus == 0:
            self.statusBox.setStyleSheet("color: green")
            self.statusBox.setText("OK")
        else:
            self.statusBox.setStyleSheet("color: blue")
            self.statusBox.setText("Unknown")

        if not canArm:
            self.armingBox.setText("Arming Disabled")
            self.armingBox.setStyleSheet("color: red")
        else:
            self.armingBox.setStyleSheet("color: green")
            if armed:
                self.armingBox.setText("Armed")
            else:
                self.armingBox.setText("Disarmed")

        self.modeBox.setText(mode)
        self.timeBox.setText("Time: {}".format(time.strftime('%I:%M:%S')))
        self.runtimeBox.setText("Run Time: {}".format(runtime))

        self.statusBox.adjustSize()
        self.armingBox.adjustSize()
        self.modeBox.adjustSize()
        self.QTWidget.adjustSize()