Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 from python_qt_binding.QtCore import QObject
00035
00036
00037 class MessageView(QObject):
00038 """
00039 A message details renderer. When registered with rqt_bag, a MessageView is called
00040 whenever the timeline playhead moves.
00041 """
00042 name = 'Untitled'
00043
00044 def __init__(self, timeline):
00045 super(MessageView, self).__init__()
00046 self.timeline = timeline
00047
00048 def message_viewed(self, bag, msg_details):
00049 """
00050 View the message.
00051
00052 @param bag: the bag file the message is contained in
00053 @type bag: rosbag.Bag
00054 @param msg_details: the details of the message to be viewed
00055 @type msg_details: tuple (topic, msg, time)
00056 @param topic: the message topic
00057 @type topic: str
00058 @param msg: the message
00059 @param t: the message timestamp
00060 @type t: rospy.Time
00061 """
00062 pass
00063
00064 def message_cleared(self):
00065 """
00066 Clear the currently viewed message (if any).
00067 """
00068 pass
00069
00070 def timeline_changed(self):
00071 """
00072 Called when the messages in a timeline change, e.g. if a new message is recorded, or
00073 a bag file is added
00074 """
00075 pass
00076
00077 def close(self):
00078 """
00079 Close the message view, releasing any resources.
00080 """
00081 pass
00082
00083
00084 def event(self, event):
00085 """
00086 This function will be called to process events posted by post_event
00087 it will call message_cleared or message_viewed with the relevant data
00088 """
00089 bag, msg_data = event.data
00090 if msg_data:
00091 self.message_viewed(bag, msg_data)
00092 else:
00093 self.message_cleared()
00094 return True