message_view.py
Go to the documentation of this file.
1 # Software License Agreement (BSD License)
2 #
3 # Copyright (c) 2012, Willow Garage, Inc.
4 # All rights reserved.
5 #
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
9 #
10 # * Redistributions of source code must retain the above copyright
11 # notice, this list of conditions and the following disclaimer.
12 # * Redistributions in binary form must reproduce the above
13 # copyright notice, this list of conditions and the following
14 # disclaimer in the documentation and/or other materials provided
15 # with the distribution.
16 # * Neither the name of Willow Garage, Inc. nor the names of its
17 # contributors may be used to endorse or promote products derived
18 # from this software without specific prior written permission.
19 #
20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
24 # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 # POSSIBILITY OF SUCH DAMAGE.
32 
33 
34 from python_qt_binding.QtCore import QObject
35 
36 
37 class MessageView(QObject):
38 
39  """
40  A message details renderer. When registered with rqt_bag, a MessageView is called
41  whenever the timeline playhead moves.
42  """
43  name = 'Untitled'
44 
45  def __init__(self, timeline, topic):
46  super(MessageView, self).__init__()
47  self.timeline = timeline
48  self.topic = topic
49 
50  def message_viewed(self, bag, msg_details):
51  """
52  View the message.
53 
54  @param bag: the bag file the message is contained in
55  @type bag: rosbag.Bag
56  @param msg_details: the details of the message to be viewed
57  @type msg_details: tuple (topic, msg, time)
58  @param topic: the message topic
59  @type topic: str
60  @param msg: the message
61  @param t: the message timestamp
62  @type t: rospy.Time
63  """
64  pass
65 
66  def message_cleared(self):
67  """
68  Clear the currently viewed message (if any).
69  """
70  pass
71 
72  def timeline_changed(self):
73  """
74  Called when the messages in a timeline change, e.g. if a new message is recorded, or
75  a bag file is added
76  """
77  pass
78 
79  def close(self):
80  """
81  Close the message view, releasing any resources.
82  """
83  pass
84 
85 # NOTE: event function should not be changed in subclasses
86  def event(self, event):
87  """
88  This function will be called to process events posted by post_event
89  it will call message_cleared or message_viewed with the relevant data
90  """
91  bag, msg_data = event.data
92  if msg_data:
93  self.message_viewed(bag, msg_data)
94  else:
95  self.message_cleared()
96  return True
def __init__(self, timeline, topic)
Definition: message_view.py:45
def message_viewed(self, bag, msg_details)
Definition: message_view.py:50


rqt_bag
Author(s): Dirk Thomas , Aaron Blasdel , Austin Hendrix , Tim Field
autogenerated on Fri Mar 3 2023 03:45:54