Пример #1
0
 def add_period(self, value, row=0, color=None):
     """Adds an annotated interval."""
     begin, end, title = value
     period = TimelineDelta(begin,
                            end,
                            title=title,
                            parent=self,
                            top=Track.whichTop(row))
     self._tracks[period.track].periods.append(period)
     return period
Пример #2
0
    def import_csv(self, csvfileobject):
        """
        Extracts info from a file object and stores it in memory in
        order to display it on the timeline.

        Refer to the `export` method to learn about input file format
        and structure.
        """
        # Clear previously stored info
        self._tracks = []
        self._selected = None

        for row in csvfileobject:
            if row[0] == "T":
                track = Track(parent=self)
                track.properties = row
                self._tracks.append(track)
            elif row[0] == "P":
                period = TimelineDelta(0, parent=self)
                period.properties = row
Пример #3
0
    def mouseDoubleClickEvent(self, event):
        if self._selected is not None and self._selected != self._pointer and self._selected.collide(event.x(), event.y()):
            self._selected.showEditWindow()
        elif event.y() > 20:
            top = (event.y() - 20) // 34
            y = top * 34 + 20
            x = event.x() / self._scale
            # time = TimelineDelta(x, x + 50 / self._scale, title='', top=y, parent=self)
            time = TimelineDelta(x, x + 10, title='', top=y, parent=self)
            self._tracks[time.track].periods.append(time)

            self._selected = time
            self._selected_track = self._selected.track
            self.repaint()