コード例 #1
0
ファイル: plugin.py プロジェクト: ipa-nhg/airbus_coop
 def _add_plugin_providers(self):
     # do not import earlier as it would import Qt stuff without the proper initialization from qt_gui.main
     from qt_gui.recursive_plugin_provider import RecursivePluginProvider
     from rqt_gui.rospkg_plugin_provider import RospkgPluginProvider
     RospkgPluginProvider.rospack = self._ros_pack
     self.plugin_providers.append(
         RospkgPluginProvider('qt_gui', 'qt_gui_py::Plugin'))
     self.plugin_providers.append(
         RecursivePluginProvider(
             RospkgPluginProvider('qt_gui', 'qt_gui_py::PluginProvider')))
     self.plugin_providers.append(
         RecursivePluginProvider(
             RospkgPluginProvider('rqt_gui', 'rqt_gui_py::PluginProvider')))
コード例 #2
0
 def __init__(self):
     super(RosPyPluginProvider, self).__init__(
         [RospkgPluginProvider('rqt_gui', 'rqt_gui_py::Plugin')])
     self.setObjectName('RosPyPluginProvider')
     self._node_initialized = False
     self._node = None
     self._spinner = None
コード例 #3
0
 def __init__(self):
     super(RosPyPluginProvider, self).__init__(
         [RospkgPluginProvider('rqt_gui', 'rqt_gui_py::Plugin')])
     self.setObjectName('RosPyPluginProvider')
     self._node_initialized = False
     self._wait_for_master_dialog = None
     self._wait_for_master_thread = None
コード例 #4
0
    def load_plugins(self):
        from rqt_gui.rospkg_plugin_provider import RospkgPluginProvider
        self.plugin_provider = RospkgPluginProvider('rqt_bag', 'rqt_bag::Plugin')

        plugin_descriptors = self.plugin_provider.discover(None)
        for plugin_descriptor in plugin_descriptors:
            try:
                plugin = self.plugin_provider.load(plugin_descriptor.plugin_id(), plugin_context=None)
            except Exception as e:
                qWarning('rqt_bag.TimelineFrame.load_plugins() failed to load plugin "%s":\n%s' % (plugin_descriptor.plugin_id(), e))
                continue
            try:
                view = plugin.get_view_class()
            except Exception as e:
                qWarning('rqt_bag.TimelineFrame.load_plugins() failed to get view from plugin "%s":\n%s' % (plugin_descriptor.plugin_id(), e))
                continue

            timeline_renderer = None
            try:
                timeline_renderer = plugin.get_renderer_class()
            except AttributeError:
                pass
            except Exception as e:
                qWarning('rqt_bag.TimelineFrame.load_plugins() failed to get renderer from plugin "%s":\n%s' % (plugin_descriptor.plugin_id(), e))

            msg_types = []
            try:
                msg_types = plugin.get_message_types()
            except AttributeError:
                pass
            except Exception as e:
                qWarning('rqt_bag.TimelineFrame.load_plugins() failed to get message types from plugin "%s":\n%s' % (plugin_descriptor.plugin_id(), e))
            finally:
                if not msg_types:
                    qWarning('rqt_bag.TimelineFrame.load_plugins() plugin "%s" declares no message types:\n%s' % (plugin_descriptor.plugin_id(), e))

            for msg_type in msg_types:
                self._viewer_types.setdefault(msg_type, []).append(view)
                if timeline_renderer:
                    self._timeline_renderers[msg_type] = timeline_renderer(self)

            qDebug('rqt_bag.TimelineFrame.load_plugins() loaded plugin "%s"' % plugin_descriptor.plugin_id())