robotics-in-concert/rocon_qt_gui — pull request #117 by stonier (2014-05-10 13:35:25+00:00)
Title: Adding rocon_qt_teleop

This adds a teleop rqt plugin for 1-1 mode (i.e. non-concert). Since most of what was in `concert_qt_teleop` could be reused, I created another package, `rocon_qt_library` for common widgets, views, etc.

* TeleopInterface, QCameraView and QVirtualJoystick -> new `rocon_qt_library` package
* New `rocon_qt_teleop` package.
* `concert_qt_teleop` refactored.

Important points:

* Use widget promotions for custom qt classes - it's quite easy and helps de-spaghetti the code
* Don't need to define `KEYS_XXX`, use `Qt.Key_Up`, etc.
* Use rqt plugin's `shutdown_plugin` method to cleanup, not qt's `self._widget.destroyed.connect(self._exit)`.
* Make sure to use locks with variables in ros callback code.