예제 #1
0
    def _update_thread_run(self):
        # update type_combo_box
        message_type_names = []
        try:
            # this only works on fuerte and up
            packages = sorted([
                pkg_tuple[0] for pkg_tuple in rosmsg.iterate_packages(
                    self._rospack, rosmsg.MODE_MSG)
            ])
        except:
            # this works up to electric
            packages = sorted(rosmsg.list_packages())
        for package in packages:
            for base_type_str in rosmsg.list_msgs(package,
                                                  rospack=self._rospack):
                message_class = roslib.message.get_message_class(base_type_str)
                if message_class is not None:
                    message_type_names.append(base_type_str)

        # TODO: get all ROS packages and launch files here instead
        #self.type_combo_box.setItems.emit(sorted(message_type_names))
        packages = sorted([
            pkg_tuple[0]
            for pkg_tuple in RqtRoscommUtil.iterate_packages('launch')
        ])
        self.package_combo_box.setItems.emit(packages)
예제 #2
0
 def _refresh_packages(self, mode=message_helpers.MSG_MODE):
     packages = sorted([
         pkg_tuple[0]
         for pkg_tuple in RqtRoscommUtil.iterate_packages(self._mode)
     ])
     self._package_list = packages
     self._logger.debug('pkgs={}'.format(self._package_list))
     self._package_combo.clear()
     self._package_combo.addItems(self._package_list)
     self._package_combo.setCurrentIndex(0)
예제 #3
0
 def _update_pkgs_contain_launchfiles(self):
     '''
     Inspired by rqt_msg.MessageWidget._update_pkgs_contain_launchfiles
     '''
     packages = sorted([pkg_tuple[0]
                        for pkg_tuple
                        in RqtRoscommUtil.iterate_packages('launch')])
     self._package_list = packages
     rospy.logdebug('pkgs={}'.format(self._package_list))
     self._combobox_pkg.clear()
     self._combobox_pkg.addItems(self._package_list)
     self._combobox_pkg.setCurrentIndex(0)
    def test_iterate_packages(self):
        """
        Not a very good test because the right answer that is hardcoded varies
        depending on the system where this unittest runs.
        """
        pkg_num_sum = 0
        for pkg in RqtRoscommUtil.iterate_packages('launch'):
            pkg_num_sum += 1
            print('pkg={}'.format(pkg))

        print(pkg_num_sum)
        self.assertEqual(pkg_num_sum, self._totalnum_pkg_contains_launch)
예제 #5
0
 def _update_pkgs_contain_launchfiles(self):
     '''
     Inspired by rqt_msg.MessageWidget._update_pkgs_contain_launchfiles
     '''
     packages = sorted([pkg_tuple[0]
                        for pkg_tuple
                        in RqtRoscommUtil.iterate_packages('launch')])
     self._package_list = packages
     rospy.logdebug('pkgs={}'.format(self._package_list))
     self._combobox_pkg.clear()
     self._combobox_pkg.addItems(self._package_list)
     self._combobox_pkg.setCurrentIndex(0)
예제 #6
0
 def _update_pkgs_contain_launchfiles(self):
     """
     Inspired by rqt_msg.MessageWidget._update_pkgs_contain_launchfiles
     """
     self._package_update = True
     packages = sorted(
         [
             pkg_tuple[0]
             for pkg_tuple in RqtRoscommUtil.iterate_packages('launch')
         ]
     )
     self._package_list = packages
     rospy.logdebug('pkgs={}'.format(self._package_list))
     previous_package = self._settings.value('package', '')
     self._combobox_pkg.clear()
     self._combobox_pkg.addItems(self._package_list)
     if previous_package in self._package_list:
         index = self._package_list.index(previous_package)
     else:
         index = 0
     self._package_update = False
     self._combobox_pkg.setCurrentIndex(index)