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