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')))
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
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
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())