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 from python_qt_binding.QtCore import QObject
00034
00035
00036 class TimelineRenderer(QObject):
00037 """
00038 A custom renderer for interval of time of a topic on the timeline.
00039
00040 @param msg_combine_px: don't draw discrete messages if they're less than this many pixels separated [default: 1.5]
00041 @type msg_combine_px: float
00042 """
00043 def __init__(self, timeline, msg_combine_px=1.5):
00044 super(TimelineRenderer, self).__init__()
00045 self.timeline = timeline
00046 self.msg_combine_px = msg_combine_px
00047
00048 def get_segment_height(self, topic):
00049 """
00050 Get the height of the topic segment on the timeline.
00051
00052 @param topic: topic name to draw
00053 @type topic: str
00054 @return: height in pixels of the topic segment. If none, the timeline default is used.
00055 @rtype: int or None
00056 """
00057 return None
00058
00059 def draw_timeline_segment(self, painter, topic, stamp_start, stamp_end, x, y, width, height):
00060 """
00061 Draw the timeline segment.
00062
00063 @param painter: QPainter context to render into
00064 @param topic: topic name
00065 @param stamp_start: start of the interval on the timeline
00066 @param stamp_end: start of the interval on the timeline
00067 @param x: x coordinate of the timeline interval
00068 @param y: y coordinate of the timeline interval
00069 @param width: width in pixels of the timeline interval
00070 @param height: height in pixels of the timeline interval
00071 @return: whether the interval was renderered
00072 @rtype: bool
00073 """
00074 return False
00075
00076 def close(self):
00077 """
00078 Close the renderer, releasing any resources.
00079 """
00080 pass