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, topic):
00045 super(MessageView, self).__init__()
00046 self.timeline = timeline
00047 self.topic = topic
00048
00049 def message_viewed(self, bag, msg_details):
00050 """
00051 View the message.
00052
00053 @param bag: the bag file the message is contained in
00054 @type bag: rosbag.Bag
00055 @param msg_details: the details of the message to be viewed
00056 @type msg_details: tuple (topic, msg, time)
00057 @param topic: the message topic
00058 @type topic: str
00059 @param msg: the message
00060 @param t: the message timestamp
00061 @type t: rospy.Time
00062 """
00063 pass
00064
00065 def message_cleared(self):
00066 """
00067 Clear the currently viewed message (if any).
00068 """
00069 pass
00070
00071 def timeline_changed(self):
00072 """
00073 Called when the messages in a timeline change, e.g. if a new message is recorded, or
00074 a bag file is added
00075 """
00076 pass
00077
00078 def close(self):
00079 """
00080 Close the message view, releasing any resources.
00081 """
00082 pass
00083
00084
00085 def event(self, event):
00086 """
00087 This function will be called to process events posted by post_event
00088 it will call message_cleared or message_viewed with the relevant data
00089 """
00090 bag, msg_data = event.data
00091 if msg_data:
00092 self.message_viewed(bag, msg_data)
00093 else:
00094 self.message_cleared()
00095 return True