PPMReader.py
Go to the documentation of this file.
00001 __author__ = 'tom1231'
00002 
00003 from PyQt4.QtCore import QUrl
00004 from PyQt4.QtGui import *
00005 from BAL.Interface.DeviceFrame import DeviceFrame, EX_DEV, PPMReader
00006 from lxml.etree import Element, SubElement, XML
00007 
00008 class PPMReader(DeviceFrame):
00009     def __init__(self, frame, data):
00010         DeviceFrame.__init__(self, EX_DEV, frame, data)
00011         self._diffTopic = '/diff'
00012         self._ppmTopic = '/RiC_PPM'
00013 
00014     def fromDict(self, data):
00015         self._diffTopic = data['diff']
00016         self._ppmTopic = data['ppm']
00017 
00018     def toDict(self):
00019         data = dict()
00020 
00021         data['type'] = PPMReader
00022         data['diff'] = self._diffTopic
00023         data['ppm'] = self._ppmTopic
00024 
00025         return data
00026 
00027     def add(self):
00028         if not self.nameIsValid():
00029             error = QErrorMessage()
00030             error.setWindowTitle("Same name error")
00031             error.showMessage("Name already taken.")
00032             error.exec_()
00033             self._isValid = False
00034             return
00035         self._diffTopic = str(self.diffTopic.text())
00036         self._ppmTopic = str(self.ppmTopic.text())
00037         self._isValid = True
00038 
00039     def showDetails(self, items=None):
00040         self.diffTopic = QLineEdit(self._diffTopic)
00041         self.ppmTopic = QLineEdit(self._ppmTopic)
00042 
00043         self._frame.layout().addRow(QLabel('Differential drive topic: '), self.diffTopic)
00044         self._frame.layout().addRow(QLabel('PPM topic: '), self.ppmTopic)
00045 
00046     def printDetails(self):
00047         self._frame.layout().addRow(QLabel('Differential drive topic: '), QLabel(self._diffTopic))
00048         self._frame.layout().addRow(QLabel('PPM topic: '), QLabel(self._ppmTopic))
00049 
00050     def saveToFile(self, parent):
00051         keysAtt = parent.keys()
00052         ns = ''
00053         if len(keysAtt) > 0 and keysAtt[0] == 'ns':
00054             ns = '/' + parent.get('ns')
00055         element = SubElement(parent, 'include', {
00056             'file': '$(find ric_board)/scripts/RiCPPMReader.launch'
00057         })
00058 
00059         SubElement(element, 'arg', {
00060             'name': 'ppmTopic',
00061             'value': ns + self._ppmTopic
00062         })
00063 
00064         SubElement(element, 'arg', {
00065             'name': 'diffTopic',
00066             'value': ns + self._diffTopic
00067         })
00068 
00069     def getName(self):
00070         return 'ppm_reader'
00071 


ric_board
Author(s): RoboTiCan
autogenerated on Fri Oct 27 2017 03:02:30