Skip to content

Commit

Permalink
ros kinetic qt5 compatibility fix (#106)
Browse files Browse the repository at this point in the history
* ros kinetic qt5 compatibility fix

* ROS kinetic QT5 Qtimer compatibility fix with signals and slots. Documentation fix
  • Loading branch information
twiniars authored and dirk-thomas committed Jun 2, 2016
1 parent 8c416b0 commit 2aa3fc3
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 5 deletions.
Expand Up @@ -30,8 +30,7 @@
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.

# 4/18/13 Isaac Shouldn't this use python_qt_binding.QtGui instead of calling directly QtGui?
from QtGui import QMenu, QToolButton
from python_qt_binding.QtWidgets import QMenu, QToolButton
from .icon_tool_button import IconToolButton


Expand Down
Expand Up @@ -32,7 +32,7 @@

import rospy
from diagnostic_msgs.msg import DiagnosticStatus
from python_qt_binding.QtCore import QMutex, QMutexLocker, QSize, QTimer
from python_qt_binding.QtCore import QMutex, QMutexLocker, QSize, QTimer, Signal
from rqt_robot_monitor.robot_monitor import RobotMonitorWidget
from .icon_tool_button import IconToolButton

Expand All @@ -48,6 +48,8 @@ class MonitorDashWidget(IconToolButton):
:param context: The plugin context to create the monitor in.
:type context: qt_gui.plugin_context.PluginContext
"""
_msg_trigger = Signal()

def __init__(self, context, icon_paths=[]):
self._graveyard = []
ok_icon = ['bg-green.svg', 'ic-diagnostics.svg']
Expand Down Expand Up @@ -85,10 +87,11 @@ def __init__(self, context, icon_paths=[]):
self._stalled()
self._plugin_settings = None
self._instance_settings = None
self._msg_trigger.connect(self._handle_msg_trigger)

def toplevel_state_callback(self, msg):
self._is_stale = False
self._stall_timer.start(5000)
self._msg_trigger.emit()

if self._top_level_state != msg.level:
if (msg.level >= 2):
Expand All @@ -102,6 +105,9 @@ def toplevel_state_callback(self, msg):
self.setToolTip("Diagnostics: OK")
self._top_level_state = msg.level

def _handle_msg_trigger(self):
self._stall_timer.start(5000)

def _stalled(self):
self._stall_timer.stop()
self._is_stale = True
Expand Down
2 changes: 1 addition & 1 deletion rqt_robot_dashboard/src/rqt_robot_dashboard/widgets.py
Expand Up @@ -41,7 +41,7 @@
To use them you must provide instances of them to your dashboard in its :func:`get_widgets` method. For example::
from rqt_robot_dashboard.dashboard import Dashboard
from rqt_robot_dashboard.widgets import MonitorDashWidget, ConsoleDashWidget
from rqt_robot_dashboard.widgets import MonitorDashWidget, ConsoleDashWidget, BatteryDashWidget
class MyDashboard(Dashboard):
def get_widgets(self):
Expand Down

0 comments on commit 2aa3fc3

Please sign in to comment.