rosNode.py
Go to the documentation of this file.
00001 __author__ = 'tom'
00002 from PyQt4.QtGui import *
00003 from BAL.Interface.DeviceFrame import NODE, EX_DEV, DeviceFrame
00004 from lxml.etree import Element, SubElement, XML
00005 
00006 
00007 class RosNode(DeviceFrame):
00008     def __init__(self, frame, data):
00009         DeviceFrame.__init__(self, EX_DEV, frame, data)
00010         self._name = ''
00011         self._output = 'screen'
00012         self._pkg = ''
00013         self._nodeType = ''
00014 
00015     def getName(self):
00016         return self._name
00017 
00018     def toDict(self):
00019         data = dict()
00020 
00021         data['type'] = NODE
00022         data['name'] = self._name
00023         data['output'] = self._output
00024         data['pkg'] = self._pkg
00025         data['nodeType'] = self._nodeType
00026 
00027         return data
00028 
00029     def fromDict(self, data):
00030         self._name = data['name']
00031         self._output = data['output']
00032         self._pkg = data['pkg']
00033         self._nodeType = data['nodeType']
00034 
00035     def showDetails(self, items=None):
00036         self.name = QLineEdit(self._name)
00037         self.output = QLineEdit(self._output)
00038         self.pkg = QLineEdit(self._pkg)
00039         self.nodeType = QLineEdit(self._nodeType)
00040 
00041         self._frame.layout().addRow(QLabel('Name:'), self.name)
00042         self._frame.layout().addRow(QLabel('Output:'), self.output)
00043         self._frame.layout().addRow(QLabel('package:'), self.pkg)
00044         self._frame.layout().addRow(QLabel('Type:'), self.nodeType)
00045 
00046     def printDetails(self):
00047         self._frame.layout().addRow(QLabel('Name:'), QLabel(self._name))
00048         self._frame.layout().addRow(QLabel('Output:'), QLabel(self._output))
00049         self._frame.layout().addRow(QLabel('package:'), QLabel(self._pkg))
00050         self._frame.layout().addRow(QLabel('Type:'), QLabel(self._nodeType))
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._output = str(self.output.text())
00066         self._pkg = str(self.pkg.text())
00067         self._nodeType = str(self.nodeType.text())
00068         self._isValid = True
00069 
00070     def saveToFile(self, parent):
00071         SubElement(parent, 'node', dict(name=self._name, output=self._output, pkg=self._pkg, type=self._nodeType))


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