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
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))
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()
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()
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()
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()