Openni.py
Go to the documentation of this file.
00001 __author__ = 'tom1231'
00002 from PyQt4.QtCore import QUrl
00003 from PyQt4.QtGui import *
00004 from BAL.Interface.DeviceFrame import DeviceFrame, EX_DEV, OPRNNI
00005 from lxml.etree import Element, SubElement, XML
00006 
00007 
00008 class Opennni(DeviceFrame):
00009     def __init__(self, frame, data):
00010         DeviceFrame.__init__(self, EX_DEV, frame, data)
00011         self._value = 'None'
00012 
00013     def fromDict(self, data):
00014         self._value = data['name']
00015 
00016     def toDict(self):
00017         data = dict()
00018 
00019         data['type'] = OPRNNI
00020         data['name'] = self._value
00021 
00022         return data
00023 
00024     def printDetails(self):
00025         self._frame.layout().addRow(QLabel('Value: '), QLabel(self._value))
00026 
00027     def getName(self):
00028         return 'OpenniCamera'
00029 
00030     def showDetails(self, items=None):
00031         self.value = QLineEdit(self._value)
00032         link = QLabel("<a href = http://wiki.ros.org/openni2_launch> Openni Wiki </a>")
00033         link.linkActivated.connect(self.onLink)
00034 
00035         self._frame.layout().addRow(QLabel('Value: '), self.value)
00036         self._frame.layout().addRow(QLabel('More information: '), link)
00037 
00038     def onLink(self, URL):
00039         QDesktopServices().openUrl(QUrl(URL))
00040 
00041     def add(self):
00042         if not self.nameIsValid():
00043             error = QErrorMessage()
00044             error.setWindowTitle("Same name error")
00045             error.showMessage("Name already taken.")
00046             error.exec_()
00047             self._isValid = False
00048             return
00049         self._isValid = True
00050         self._value = str(self.value.text())
00051 
00052     def saveToFile(self, parent):
00053         element = SubElement(parent, 'include', {
00054             'file': '$(find openni2_launch)/launch/openni2.launch'
00055         })
00056         SubElement(element, 'arg', {
00057             'name': 'camera',
00058             'value': self._value
00059         })


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