concert_service_info.py
Go to the documentation of this file.
00001 #
00002 # License: BSD
00003 #   https://raw.github.com/robotics-in-concert/rocon_qt_gui/license/LICENSE
00004 #
00005 ##############################################################################
00006 # Imports
00007 ##############################################################################
00008 
00009 from __future__ import division
00010 import os
00011 
00012 from python_qt_binding import loadUi
00013 
00014 # QtCore
00015 #    SIGNAL, SLOT,  pyqtSlot, pyqtSignal
00016 #    QString, QStringList,
00017 #    QPoint, QEvent, QFile, QIODevice,
00018 #    QAbstractListModel
00019 #from python_qt_binding.QtCore import Qt, QAbstractListModel
00020 # QtGui
00021 #    QMainWindow,
00022 #    QCheckBox, QComboBox,
00023 #    QTextEdit, QCompleter,
00024 #    QFileDialog,
00025 #    QPushButton
00026 #    QGraphicsScene, QImage, QPainter, QBrush, QColor, QPen, QPixmap
00027 from python_qt_binding.QtGui import QWidget, QPixmap
00028 # QtSvg
00029 #    QSvgGenerator
00030 
00031 from qt_gui.plugin import Plugin
00032 
00033 import rospkg
00034 # import concert_service_info
00035 import concert_service_utilities
00036 
00037 ##############################################################################
00038 # Plugin
00039 ##############################################################################
00040 class ServiceInfo(Plugin):
00041     def __init__(self, context):
00042         super(ServiceInfo, self).__init__(context)
00043         self.initialised = False
00044         self.setObjectName('ServiceInfo')
00045         self._current_dotcode = None
00046         counter = 0
00047         service_info = concert_service_utilities.service_information.get_services_info()
00048         dict = service_info[1] #dict = {}
00049         nameList = service_info[0] #nameList = []
00050 
00051         # Create Widget 
00052         self._widget = QWidget()
00053         self._widget.setObjectName('ConcertServiceInfoUi')
00054         rospack = rospkg.RosPack()
00055         ui_file = os.path.join(rospack.get_path('concert_qt_service_info'), 'ui', 'concert_service_info.ui')
00056         loadUi(ui_file, self._widget)
00057         if context.serial_number() > 1:
00058             self._widget.setWindowTitle(self._widget.windowTitle() + (' (%d)' % context.serial_number()))
00059 
00060         for value in nameList:
00061             info_text = "<html>"
00062             info_text += "<p><b>Resource Name: </b>" + dict[value].resource_name + "</p>"
00063             info_text += "<p><b>Name: </b>" + dict[value].name + "</p>"
00064             info_text += "<p><b>Description: </b>" + dict[value].description + "</p>"
00065             info_text += "<p><b>Author: </b>" + dict[value].author + "</p>"
00066             info_text += "<p><b>Priority: </b>" + str(dict[value].priority) + "</p>"
00067             info_text += "<p><b>Launcher: </b>" + dict[value].launcher_type + "</p>"
00068             info_text += "<p><b>Status: </b>" + str(dict[value].status) + "</p>"
00069             info_text += "<p><b>Enabled: </b>" + str(dict[value].enabled) + "</p>"
00070             info_text += "<p><b>Icon: </b>" + str(dict[value].icon.resource_name) + "</p>"
00071             info_text += "</html>"
00072 
00073             if counter == 0:
00074                 self._widget.app_info.appendHtml(info_text)
00075                 pixmap2 = QPixmap()
00076                 pixmap2.loadFromData(dict[value].icon.data, format=dict[value].icon.format)
00077                 if QPixmap.isNull(pixmap2):
00078                     icon_file2 = os.path.join(rospack.get_path('concert_qt_service_info'), 'resources', 'images', 'unknown.png')
00079                     pixmap2 = QPixmap(icon_file2, format="png")
00080                     self._widget.app_icon2.setPixmap(pixmap2)
00081                     self._widget.app_icon2.resize(pixmap2.width(), pixmap2.height())
00082                 if not QPixmap.isNull(pixmap2):
00083                     self._widget.app_icon2.setPixmap(pixmap2)
00084                     self._widget.app_icon2.resize(pixmap2.width(), pixmap2.height())
00085             if counter == 1:
00086                 self._widget.app_info2.appendHtml(info_text)
00087                 pixmap = QPixmap()
00088                 pixmap.loadFromData(dict[value].icon.data, format=dict[value].icon.format)
00089                 if QPixmap.isNull(pixmap):
00090                     icon_file = os.path.join(rospack.get_path('concert_qt_service_info'), 'resources', 'images', 'unknown.png')
00091                     pixmap = QPixmap(icon_file, format="png")
00092                     self._widget.app_icon.setPixmap(pixmap)
00093                     self._widget.app_icon.resize(pixmap.width(), pixmap.height())   
00094                 if not QPixmap.isNull(pixmap):
00095                     self._widget.app_icon.setPixmap(pixmap)
00096                     self._widget.app_icon.resize(pixmap.width(), pixmap.height())
00097             counter = counter + 1 
00098 
00099         context.add_widget(self._widget)
00100 
00101     def shutdown_plugin(self):
00102         pass


concert_qt_service_info
Author(s): Kent Sommer
autogenerated on Fri Feb 12 2016 02:50:05