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