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  A message details renderer. When registered with rqt_bag, a MessageView is called
40  whenever the timeline playhead moves.
41  """
42  name = 'Untitled'
43 
44  def __init__(self, timeline, topic):
45  super(MessageView, self).__init__()
46  self.timeline = timeline
47  self.topic = topic
48 
49  def message_viewed(self, msg_details):
50  """View the message.
51 
52  :param msg_details: the details of the message to be viewed
53  :type msg_details: Message namedtuple (stamp, message). Stamp is the
54  timestamp, message is the message received
55 
56  """
57  pass
58 
59  def message_cleared(self):
60  """
61  Clear the currently viewed message (if any).
62  """
63  pass
64 
65  def timeline_changed(self):
66  """
67  Called when the messages in a timeline change, e.g. if a new message is recorded, or
68  a bag file is added
69  """
70  pass
71 
72  def close(self):
73  """
74  Close the message view, releasing any resources.
75  """
76  pass
77 
78 # NOTE: event function should not be changed in subclasses
79  def event(self, event):
80  """
81  This function will be called to process events posted by post_event
82  it will call message_cleared or message_viewed with the relevant data
83  """
84  msg_data = event.data
85  if msg_data:
86  self.message_viewed(msg_data)
87  else:
88  self.message_cleared()
89  return True


rqt_py_trees
Author(s): Thibault Kruse, Michal Staniaszek, Daniel Stonier, Naveed Usmani
autogenerated on Mon Jun 10 2019 14:55:56