Go to the documentation of this file.00001 __author__ = 'tom1231'
00002 from PyQt4.QtGui import *
00003 from BAL.Interface.DeviceFrame import DeviceFrame, GPS
00004
00005
00006 class Gps(DeviceFrame):
00007 def __init__(self, frame, data):
00008 DeviceFrame.__init__(self, GPS, frame, data)
00009 self._pubHz = '10'
00010 self._name = 'RiC_GPS'
00011 self._frameId = 'GPS_Frame'
00012 self._baudRate = '9600'
00013
00014 def fromDict(self, data):
00015
00016 self._pubHz = data['pubHz']
00017 self._name = data['name']
00018 self._frameId = data['frameId']
00019 self._baudRate = data['baudRate']
00020
00021 def toDict(self):
00022 data = dict()
00023
00024 data['type'] = GPS
00025 data['pubHz'] = self._pubHz
00026 data['name'] = self._name
00027 data['frameId'] = self._frameId
00028 data['baudRate'] = self._baudRate
00029
00030 return data
00031
00032 def saveToFile(self, file):
00033 file.write('GPS/publishHz: ' + self._pubHz + '\n')
00034 file.write('GPS/name: ' + self._name + '\n')
00035 file.write('GPS/frameId: ' + self._frameId + '\n')
00036 file.write('GPS/baudrate: ' + self._baudRate + '\n')
00037
00038 def showDetails(self, items=None):
00039 self.pubHz = QLineEdit(self._pubHz)
00040 self.name = QLineEdit(self._name)
00041 self.frameId = QLineEdit(self._frameId)
00042 self.baudRate = QLineEdit(self._baudRate)
00043
00044 self._frame.layout().addRow(QLabel('Publish Hz: '), self.pubHz)
00045 self._frame.layout().addRow(QLabel('Name: '), self.name)
00046 self._frame.layout().addRow(QLabel('Frame id: '), self.frameId)
00047 self._frame.layout().addRow(QLabel('Baud rate: '), self.baudRate)
00048
00049 def getName(self):
00050 return self._name
00051
00052 def add(self):
00053 old = self._name
00054 self._name = str(self.name.text())
00055
00056 if not self.nameIsValid():
00057 error = QErrorMessage()
00058 error.setWindowTitle("Same name error")
00059 error.showMessage("Name already taken.")
00060 error.exec_()
00061 self._name = old
00062 self._isValid = False
00063 return
00064
00065 self._isValid = True
00066 self._pubHz = str(self.pubHz.text())
00067 self._name = str(self.name.text())
00068 self._frameId = str(self.frameId.text())
00069 self._baudRate = str(self.baudRate.text())
00070
00071 def printDetails(self):
00072 self._frame.layout().addRow(QLabel('Publish Hz: '), QLabel(self._pubHz))
00073 self._frame.layout().addRow(QLabel('Name: '), QLabel(self._name))
00074 self._frame.layout().addRow(QLabel('Frame id: '), QLabel(self._frameId))
00075 self._frame.layout().addRow(QLabel('Baud rate: '), QLabel(self._baudRate))