Marble

SerialTrack.h
1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 //
3 // SPDX-FileCopyrightText: 2014 Sanjiban Bairagya <[email protected]>
4 //
5 
6 #ifndef SERIALTRACK_H
7 #define SERIALTRACK_H
8 
9 #include <QObject>
10 
11 #include "PlaybackItem.h"
12 
13 namespace Marble
14 {
15 class GeoDataCoordinates;
16 
17 class SerialTrack : public QObject
18 {
19  Q_OBJECT
20 public:
21  SerialTrack();
22  ~SerialTrack() override;
23 
24  void append( PlaybackItem* item );
25  void play();
26  void seek( double position );
27  double duration() const;
28  void clear();
29  int size() const;
30  PlaybackItem* at( int i );
31  double currentPosition();
32 
33 Q_SIGNALS:
34  void centerOn( const GeoDataCoordinates &coordinates );
35  void progressChanged( double );
36  void finished();
37  void paused();
38  void itemFinished( int index );
39 
40 public Q_SLOTS:
41  void handleFinishedItem();
42  void changeProgress( double );
43  void pause();
44  void stop();
45 
46 private:
47  QList<PlaybackItem*> m_items;
48  int m_currentIndex;
49  double m_finishedPosition;
50  double m_currentPosition;
51  bool m_paused;
52 };
53 
54 }
55 #endif
Q_OBJECTQ_OBJECT
Q_SLOTSQ_SLOTS
void stop(Ekos::AlignState mode)
KGuiItem clear()
Q_SCRIPTABLE Q_NOREPLY void pause()
Binds a QML item to a specific geodetic location in screen coordinates.
Q_SIGNALSQ_SIGNALS
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Sep 25 2023 03:50:20 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.